Как пропустить параметр powershell из командлета, если значение не указано? - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь выполнить приведенную ниже команду Powershell, чтобы создать новый список адресов на сервере Exchange с параметрами, такими как Имя, Контейнер и т. Д.

Container - необязательный вход / параметр, как мне это сделать?опустить его из командлета, если его значение не указано?

Я пробовал с IF условиями, но, похоже, не работает.Любая помощь здесь?

New-AddressList -Name -Container \test MyAddressList5 -ConditionalStateOrProvince maha -IncludedRecipients MailboxUsers

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

Посмотрите документацию для параметра -Container в New-AddressList: https://docs.microsoft.com/en-us/powershell/module/exchange/email-addresses-and-address-books/new-addresslist?view=exchange-ps#optional-parameters

В частности:

Если вы не используете этот параметр,список адресов создается под корнем (\).

...

Значение по умолчанию: Нет

$container = $null
New-AddressList -Container $container

# or...

$container = "\"
New-AddressList -Container $container
0 голосов
/ 01 октября 2018

Вы можете передать необходимые параметры с соответствующими значениями через 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)
0 голосов
/ 01 октября 2018

посмотрите на Get-Help *splatting, чтобы найти способ сделать это.

немного подробнее ... "splat" - это хеш-таблица из parameter = value пар.как только у вас есть базовые всегда присутствующие элементы в сплате, вы можете добавить другие, как и в любую хеш-таблицу, с помощью $Param_Splat.Add(ParameterName, 'Value').затем, когда вы вызываете свой командлет, вы используете Verb-Noun @Param_Splat.обратите внимание на символ @ вместо обычного $.[ ухмылка ]

Береги себя,
Ли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...