Проверка атрибута почтового ящика и добавление значения, если ноль - PullRequest
0 голосов
/ 01 ноября 2011

Я хочу проверить атрибут всех почтовых ящиков в организации; если значение равно нулю, я хочу добавить атрибут (адрес электронной почты)

get-mailbox -Organization test.me.net |
if (-ForwardingSmtpAddress -eq {})
{
Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSmtpAddress admin@test.me.net
}

полученное сообщение об ошибке ...

Термин «если» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте орфографию имени или, если путь был включен, убедитесь, что путь правильный и попробуйте снова. В C: \ Scripts \ smtpaddress.ps1: 2 char: 3 + if <<<< (-ForwardingSmtpAddress -eq {}) + CategoryInfo: ObjectNotFound: (if: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException </p>

есть идеи, как мне решить эту проблему?

Спасибо за чтение, Колм

Ответы [ 3 ]

0 голосов
/ 01 ноября 2011

Используйте параметр Filter, чтобы получить почтовые ящики, которые не имеют значения в свойстве ForwardingSmtpAddress, перенаправить результат в Ste-Mailbox и установить параметры DeliverToMailboxAndForward и ForwardingSmtpAddress.Имейте в виду, что все почтовые ящики будут пересылать электронные письма на почтовый ящик администратора.:

Get-Mailbox -ResultSize Unlimited -OrganizationalUnit me.net/test -Filter {ForwardingSmtpAddress -eq $null} | Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSmtpAddress admin@test.me.net
0 голосов
/ 15 февраля 2015

У меня был сценарий для включения политики хранения для тех, кто не применял ни одного.

Get-Mailbox -filter {retentionpolicy -eq $null} | Set-Mailbox -retentionpolicy "120DayRetention Policy"

работал как шарм.

0 голосов
/ 01 ноября 2011

Вы можете сделать if на каждом, если передадите его For-Each, например так:

get-mailbox | % {
if ($_.ForwardingSmtpAddress -eq {})
{
*Do something*
}
}

Но вам, вероятно, следует просто использовать фильтр и передать результаты в команду set-mailbox (знак вопроса обозначает Where-Object):

get-mailbox | ? {$_.ForwardingSMTPAddress -eq {}} | Set-Mailbox......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...