如果未提供值,如何从 cmdlet 中省略 powershell 参数?
How to omit powershell parameter from cmdlet if value not provided?
我正在尝试执行下面的 Powershell 命令,以使用名称、容器等参数在交换服务器上创建新的地址列表。
Container
是可选的 input/parameter,如果未提供其值,我如何从 cmdlet 中省略它?
我尝试使用 IF
条件,但似乎不起作用。有什么帮助吗?
New-AddressList -Name -Container \test MyAddressList5 -ConditionalStateOrProvince maha -IncludedRecipients MailboxUsers
查看 Get-Help *splatting
了解执行此操作的方法。
更详细一点... "splat" 是 parameter = value
对的哈希表。一旦你在 splat 中有了基本的始终存在的项目,你就可以添加其他项目,就像通过 $Param_Splat.Add(ParameterName, 'Value')
向任何哈希表添加一样。然后当您调用您的 cmdlet 时,您使用 Verb-Noun @Param_Splat
。注意 @
符号而不是通常的 $
。 [咧嘴一笑]
保重,
李
查看 New-AddressList
中 -Container
参数的文档:https://docs.microsoft.com/en-us/powershell/module/exchange/email-addresses-and-address-books/new-addresslist?view=exchange-ps#optional-parameters
具体来说:
If you don't use this parameter,the address list is created under the root (\).
...
Default value: None
$container = $null
New-AddressList -Container $container
# or...
$container = "\"
New-AddressList -Container $container
您可以通过 hashtable 传递需要的参数及其相应的值。添加 If/Else
条件以包含属性。像这样:
$Container = '\test MyAddressList5'
$Parameters = @{}
$Parameters.Add('ConditionalStateOrProvince','maha')
$Parameters.Add('IncludedRecipients','MailboxUsers')
if($Container){$Parameters.Add('Container',$Container)}
New-AddressList @Parameters
此外,当您需要包含 Switch
参数时,只需传递 $True
。像这样:
$Parameters.Add('SomeSwitchParameter',$True)
我正在尝试执行下面的 Powershell 命令,以使用名称、容器等参数在交换服务器上创建新的地址列表。
Container
是可选的 input/parameter,如果未提供其值,我如何从 cmdlet 中省略它?
我尝试使用 IF
条件,但似乎不起作用。有什么帮助吗?
New-AddressList -Name -Container \test MyAddressList5 -ConditionalStateOrProvince maha -IncludedRecipients MailboxUsers
查看 Get-Help *splatting
了解执行此操作的方法。
更详细一点... "splat" 是 parameter = value
对的哈希表。一旦你在 splat 中有了基本的始终存在的项目,你就可以添加其他项目,就像通过 $Param_Splat.Add(ParameterName, 'Value')
向任何哈希表添加一样。然后当您调用您的 cmdlet 时,您使用 Verb-Noun @Param_Splat
。注意 @
符号而不是通常的 $
。 [咧嘴一笑]
保重,
李
查看 New-AddressList
中 -Container
参数的文档:https://docs.microsoft.com/en-us/powershell/module/exchange/email-addresses-and-address-books/new-addresslist?view=exchange-ps#optional-parameters
具体来说:
If you don't use this parameter,the address list is created under the root (\).
...
Default value: None
$container = $null
New-AddressList -Container $container
# or...
$container = "\"
New-AddressList -Container $container
您可以通过 hashtable 传递需要的参数及其相应的值。添加 If/Else
条件以包含属性。像这样:
$Container = '\test MyAddressList5'
$Parameters = @{}
$Parameters.Add('ConditionalStateOrProvince','maha')
$Parameters.Add('IncludedRecipients','MailboxUsers')
if($Container){$Parameters.Add('Container',$Container)}
New-AddressList @Parameters
此外,当您需要包含 Switch
参数时,只需传递 $True
。像这样:
$Parameters.Add('SomeSwitchParameter',$True)