PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介

时间:2024-03-16 22:54:45

参数集,即是powershell的语法,

可使用其中的一个参数集,各参数集的参数不能混用,若各参数集有公有参数,运行时只指定一个公有参数时,默认运行第一个含有该参数的参数集。如Get-EventLog 有2个参数集,其中-ComputerName是共有参数。

PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介


可选和必选参数:

可选参数放在一个方括号中。例如,[[-ComputerName] <String[]>] 表示整个-ComputerName参数是可选的。

必选参数不在方括号中,例如,[-LogName] <String>


位置参数:

两种方式用于确定位置参数:通过语法概要或者通过详细的帮助文档。

位置参数 可以不用指定参数名,根据位置输入参数值即可

在语法概要中找到位置参数,

只有参数名被方括号括起来的参数。比如,[-LogName] <String> 

在详细的帮助文档中找到位置参数,

Get-Help Get-EventLog -Full 查看-LogName是一个强制参数,并且其位置为0,所以是位置函数。

PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介

如果不使用-Full参数,可以尝试使用-ShowWindow参数,该参数可以在客户端版本的Windows或带有GUI的Server版本的Winodws上执行。-ShowWindows参数无法在非Windows OS中使用。

参数值:

帮助文档也提供了每个参数的数据类型。

有些参数被称为开关参数,无需任何输入值。例如:[-AsString],在详细语法中,看起来如下所示:

-AsString [<SwitchParameter>],通过[<SwitchParameter>]可以确认这是一个开关参数,并不需要任何输入值。

其他参数值的数据类型,通常会跟在参数名称之后,并使用空格与参数名称分开。例如:[-LogName] <String>

通常的的参数值类型:String,Int/Int32/Int64,DateTime

有些值包含多个方括号:

[-ComputerName <String []>]

String后面的括号意味着可以 接受数组,集合,或者一个列表类型的字符串。只提供一个值也符合语法。

Get-EventLog Security -computer Server01,Server02,Server03

Get-EventLog Security -computer 'Server01','Server02','Server03'

可以把server01,server02,server03放在names.txt中,

Get-EventLog Application -computer (Get-Content names.txt)

通用参数:

Help *common* 找到About_common_parameters 该主题会显示出11个通用参数

PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介


about开头的文档即是帮助文档,运行help about*列出所有帮助信息,所有的命令都有对应的帮助文档。

更新在线帮助 Update-Help -Force,下载本地帮助文档。

还有在线帮助文档,参数指定online即可:Help Get-EventLog -online

微软的TechNet站点运维该在线文档帮助,通常比安装PowerShell中的帮助文档要更新。但是在线文档不会包含所有Cmdlet的帮助信息,由各个产品团队负责共同提供帮助文档的更新(如Exchange团队,SQL团队,SharePoint团队等),如果在线文档可用的话,一般是内置帮助文档的补充。也可以使用-ShowWindow开关参数打开在线文档。