How to omit powershell parameter from cmdlet if value not provided?

前端 未结 3 1805
青春惊慌失措
青春惊慌失措 2021-01-27 07:21

I\'m trying to execute a below Powershell command to create a new address list on exchange server with parameters like Name, Container, etc.

Container is an

相关标签:
3条回答
  • 2021-01-27 07:33

    Have a look at the documentation for the -Container parameter in New-AddressList: https://docs.microsoft.com/en-us/powershell/module/exchange/email-addresses-and-address-books/new-addresslist?view=exchange-ps#optional-parameters

    Specifically:

    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
    
    0 讨论(0)
  • 2021-01-27 07:36

    take a look at Get-Help *splatting to see a way to do this.

    a bit more detail ... a "splat" is a hashtable of parameter = value pairs. once you have the basic always-there items in the splat, you can add others just as you would to any hashtable by $Param_Splat.Add(ParameterName, 'Value'). then when you call your cmdlet, you use Verb-Noun @Param_Splat. note the @ symbol instead of the usual $. [grin]

    take care,
    lee

    0 讨论(0)
  • 2021-01-27 07:53

    You can pass needed parameters with their corresponding values via hashtable. Add If/Else conditions to include properties. Like so:

    $Container  = '\test MyAddressList5'
    
    $Parameters = @{}
    $Parameters.Add('ConditionalStateOrProvince','maha')
    $Parameters.Add('IncludedRecipients','MailboxUsers')
    if($Container){$Parameters.Add('Container',$Container)}
    
    New-AddressList @Parameters
    

    Also, when you need to include Switch parameter just pass $True. Like so:

    $Parameters.Add('SomeSwitchParameter',$True)
    
    0 讨论(0)
提交回复
热议问题