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

相关文章

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2