PowerShell系列之PowerShell Cmdlet高级参数介绍
创始人
2025-07-10 06:51:37
0

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

1、什么是高级参数

所谓的高级参数就是针对那些可以完成执行命令之外还可以提供其他高级功能的参数(比如显示执行命令的信息、针对错误信息的处理方式、命令出现警告情况的处理方式等等)。使用较多的是New、Set、Remove等动词命令支持高级参数的命令方式。下面给大家逐一介绍这些高级参数。

2、Verbose 参数

Verbose 参数主要用来显示函数执行过程中通过Write-Verbose写入的相关信息,如果命令执行当中有写入则会有反馈信息输出,反之则没有任何信息输出。

输入如下命令。

get-childitem
get-childitem -verbose

可以看到两者输出的信息是一样的,表明函数执行过程没有写入相关信息。

再执行创建文件命令。

额外输出信息。

详细信息: 正在目标“目标: D:\logs\端午节2.txt”上执行操作“创建文件”。

总结:针对获取操作的命令函数执行过程一般没有写入相关信息。对应操作命令函数(新建、修改、删除)一般都会有信息写入。

3、Debug参数

Debug参数主要用来显示函数执行过程中通过Write-Debug写入的相关信息,该参数默认是不启用的,需要通过执行命令当中增加 -Debug 参数来启用。

和Verbose类似,如果没有相应的调试信息输出,也不会输出任何信息,如果开启该参数后,命令执行过程中涉及到参数调试,输出的结果都会停下来等待人为干预是否执行下一步。这个和程序员平常的代码调试比较相似,只是不能一次性看到所以的执行代码罢了。

具体如下图:

创建一个文件,增加-debug 参数会有确认提示,反之则没有。

PS D:\logs> remove-item 端午节2.txt -debug

确认
是否确实要执行此操作?
正在目标“D:\logs\端午节2.txt”上执行操作“删除文件”。
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): y
PS D:\logs> new-item 端午节2.txt


    目录: D:\logs


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2023/6/24      7:23              0 端午节2.txt


PS D:\logs> remove-item 端午节2.txt

4、ErrorAction 参数

ErrorAction 参数主要用来指定命令和脚本执行出现错误后的操作,对于PowerShell环境全局默认使用ErrorActionPreference参数指定出现错误后的操作,我们可以通过ErrorAction参数覆盖默认的参数,从而满足我们的使用要求。

ErrorAction 针对出错命令提供的操作方式

● Continue:错误信息记录到$Error变量,命令继续往下执行。

● Ignore:忽略错误继续往下执行,并且不记录错误信息。

● Inquire:执行报错后,询问用户是否继续执行,错误信息会记录到$Error变量。

● SlientContinue:命令执行出错,既不停止执行也不显示错误信息,错误信息也会被记录到$Error变量。

● Stop:命令执行出错立即停止执行,不会继续执行后续代码。

下面举个例子,这里来删除一个不存在的文件

首先执行。

remove-item 端午节2.txt -ErrorAction Ignore

因为这里指定的是Ignore参数,不会输出错误信息也不会记录到$Error变量里面去。

然后再执行。

remove-item 端午节2.txt -ErrorAction Continue

输出如下错误信息。

remove-item : 找不到路径“D:\logs\端午节2.txt”,因为该路径不存在。
所在位置 行:1 字符: 1
+ remove-item 端午节2.txt -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (D:\logs\端午节2.txt:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

再执行$Error命令。

$Error

输出了错误信息。

remove-item : 找不到路径“D:\logs\端午节2.txt”,因为该路径不存在。
所在位置 行:1 字符: 1
+ remove-item 端午节2.txt -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (D:\logs\端午节2.txt:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

具体执行可以查看如下截图:

当然其他情况大家可以自己动手操作试试看!下篇文章会继续介绍另外的高级参数。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...