powershell 关于命令帮助文件中参数的解读

下面以Get-EventLog命令进行举例,这里我就截取关键部分

名称
    Get-EventLog

摘要
    Gets the events in an event log, or a list of the event logs, on the local or remote computers.


语法
    Get-EventLog [-LogName]  [[-InstanceId] ] [-After ] [-AsBaseObject] [-Before ] [-ComputerName ] [-EntryType {Error | Information | FailureAudit | SuccessAudit | Warning}] [-Index ] [-Message ] [
    -Newest ] [-Source ] [-UserName ] []

    Get-EventLog [-AsString] [-ComputerName ] [-List] []



........

1.从上面我们可以看到Get-EventLog是有2种参数集,我们不能把两个参数集合搞混。例如:你使用了-AsString参数,你能使用的其他参数就只能是-ComputerName和-list

2.当参数名称和参数值类型不在同一个方括号里面时,表示这个参数是必选参数。例如:第一个参数集里的 

[-LogName] 

3.当参数名称和参数值类型再同一个方括号里面时,表示这个参数是可选参数。例如第一个参数集里的

[[-InstanceId] ]

4.当参数名处在一个方括号内表示这是个位置参数,位置参数就是你可以不指定参数的名称,只填写参数值,系统会自动把参数值对号入座(这个时候参数位置就很重要,当然你可以在参数值前面增加参数名这样位置就变得无所谓了)

[-LogName] 

可以在上面的命令集看到,-LogName是第一个位置参数,所以你可以直接在Get-EventLog后面跟着你要日志的名称,系统会自动赋值给-LogName

 

6.参数后面跟着[],表示这个参数是一个开关参数,开关参数是可选的,位置可以随意放置,但是使用他们必须要跟上参数名或者参数名缩写

 

我们可以输入-full来获得更详细的提示

help -full Get-EventLog
 -AsString []
     Indicates that this cmdlet returns the output as strings, instead of objects.

     是否必需?                    False
     位置?                        named
     默认值                False
     是否接受管道输入?            False
     是否接受通配符?              False

你可能感兴趣的:(PowerShell)