就像声明的那样这里在 PowerShell 帮助的语法中:
参数可以是必选的,也可以是可选的。在语法图中,可选项用括号([ ])括起来。
因此在如下命令中Set-NetIPAddress
:
NAME
Set-NetIPAddress
SYNOPSIS
Modifies the configuration of an IP address.
SYNTAX
Set-NetIPAddress [[-IPAddress] [<String[]>]] [-AddressFamily [<AddressFamily[]>]] [-AddressState
[<AddressState[]>]] [-CimSession [<CimSession[]>]] [-IncludeAllCompartments] [-InterfaceAlias [<String[]>]]
[-InterfaceIndex [<UInt32[]>]] [-PassThru] [-PolicyStore [<String>]] [-PreferredLifetime [<TimeSpan>]]
[-PrefixLength [<Byte>]] [-PrefixOrigin [<PrefixOrigin[]>]] [-SkipAsSource [<Boolean>]] [-SuffixOrigin
[<SuffixOrigin[]>]] [-ThrottleLimit [<Int32>]] [-Type [<Type[]>]] [-ValidLifetime [<TimeSpan>]] [-Confirm]
[-WhatIf] [<CommonParameters>]
Set-NetIPAddress [-CimSession [<CimSession[]>]] [-PassThru] [-PreferredLifetime [<TimeSpan>]] [-PrefixLength
[<Byte>]] [-SkipAsSource [<Boolean>]] [-ThrottleLimit [<Int32>]] [-ValidLifetime [<TimeSpan>]] [-Confirm]
[-WhatIf] [<CommonParameters>]
没有必要的参数,但是运行此命令和许多其他没有任何参数的命令有什么用处,运行时没有明显的结果,只是进入一个新的提示?
答案1
两件事情。
我猜,像大多数 PowerShell cmdlet 一样,您可以在管道上传递其中一些值(即从此命令之前的另一个命令传递 -
'192.168.1.3' | Set-NetIPAddress
)。在这种情况下,不会提供传统意义上的参数。我认为您看到的可能是 PowerShell 语法图的限制。我猜您必须提供其中至少一个参数,但没有一个参数是必需的,这使得它们在某种意义上都是“可选的”。