PowerShell系列(十三):PowerShell Cmdlet高级参数介绍(三)

2023-10-31 09:44

本文主要是介绍PowerShell系列(十三):PowerShell Cmdlet高级参数介绍(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、WarningAction参数

2、WarningVariable 出现警告后的变量

3、Whatif 假设参数

4、Confirm参数


今天给大家讲解PowerShell Cmdlet高级参数第三部分相关的知识,希望对大家学习PowerShell能有所帮助!

1、WarningAction参数

通过单词含义,就可以理解WarningAction参数和执行命令过程中的警告有关系,该参数就是在PowerShell命令执行过程中出现警告之后进行的操作,默认环境中存在WarningPreference参数定义命令执行过程中出现警告的操作,当然也可以出现警告的时候执行特殊的操作,这个时候可以使用WarningAction参数进行设置,从而覆盖默认的警告参数。

数据类型:枚举  Actionpreference

支持的操作方式主要有四种

  • Continue:出现警告后,显示警告信息的同时命令会继续执行。
  • Inquire:出现警告后,会先询问操作者是否继续执行。
  • SilentContinue:出现警告后,不显示警告信息,命令继续执行。
  • Stop:出现警告后。立即停止执行后续的命令。
  • Igonre:完全忽略警告,继续执行
  • Suspend:预留作为后续使用

说明:警告信息对于命令的排错调试还是非常有意义的,如果不是自动化的脚本建议保留。

操作示例

PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Inquire
警告: This is only a test warning.确认
是否继续执行此操作?
[Y] 是(Y)  [A] 全是(A)  [H] 终止命令(H)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): Y
PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Ignore
PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Continue
警告: This is only a test warning.
PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Stop
警告: This is only a test warning.
Write-Warning : 已停止该运行的命令,因为首选项变量“WarningPreference”或通用参数设置为 Stop: This is only a test warning.
所在位置 行:1 字符: 1
+ Write-Warning "This is only a test warning." -WarningAction Stop
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : OperationStopped: (:) [Write-Warning], ParentContainsErrorRecordException+ FullyQualifiedErrorId : ActionPreferenceStop,Microsoft.PowerShell.Commands.WriteWarningCommand

运行效果如下图:

2、WarningVariable 出现警告后的变量

默认情况下PowerShell参数不会输出警告信息,也没有参数记录警告信息,如果你需要在命令执行过程当中记录警告信息,可以使用WarningVariable参数定义警告信息保存的变量。它的使用方式和ErrorVariable参数比较类似。

记录方式有两种:覆盖方式(默认方式)、追加方式 参数后需要增加 +  号 。

数据类型:字符串

示例

PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Continue -WarningVariable msg
警告: This is only a test warning.
PS D:\logs> $msg
This is only a test warning.
PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Continue -WarningVariable msg
警告: This is only a test warning.
PS D:\logs> $msg
This is only a test warning.
PS D:\logs> Write-Warning "This is only a test warning." -WarningAction Continue -WarningVariable +msg
警告: This is only a test warning.
PS D:\logs> $msg
This is only a test warning.
This is only a test warning.
PS D:\logs>

3、Whatif 假设参数

此参数指定该 cmdlet 是否写入一条消息,该消息描述运行 cmdlet 的效果,而不实际执行任何操作。相当模拟操作,而不是实际执行命令。

通过该命令可以了解执行的步骤是否符合预期,针对动词命令(New、Update、Set等)支持WhatIf操作。默认情况下该参数不启用。

示例

  #当前命令通过增加-Whatif参数模拟创建文件创建New-item 测试文件.txt -Whatif ls # 发现文件实际没有创建成功

具体效果如下图

判断命令是否支持 Whatif

get-help Get-childitem -parameter whatif
get-help new-item -parameter whatif

具体输出效果如下图:

4、Confirm参数

Confirm参数主要是用来确认命令执行操作的再确认,默认情况下命令执行过程是否需要再确认通过ConfirmPreference 参数的值决定,如果命令执行过程当中需要改变再确认选项可以使用Confirm参数替换ConfirmPreference 参数参数。

get-help Get-childitem -parameter confirm
get-help new-item -parameter confirm

这篇关于PowerShell系列(十三):PowerShell Cmdlet高级参数介绍(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314462

相关文章

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作