Скрипт powershell для проверки отключенных протоколов и подсказки для исправления - PullRequest
0 голосов
/ 02 ноября 2018

Итак, последние пару недель я играл с несколькими сценариями PowerShell. В настоящее время я работаю с get-CASmailbox. Я пытаюсь заставить этот скрипт проверить состояние activesync и любого отключенного протокола (imap, pop, mapi и т. Д.) И предложить включить его с помощью set-CASmailbox, если он обнаружит, что любой из них отключен.

У меня нет проблем с запуском get-CASmailbox, он возвращает именно ту информацию, которую я ищу, но у меня возникли небольшие проблемы с операторами «If», чтобы этот скрипт работал.

Подумал, что я бы начал светиться, и у меня просто всплыло сообщение "If ($actsync -eq "False") {Write-Host 'n'n "Activesync is disabled"}". Я могу обработать приглашение set позже, но не могу, пока я получаю параметр, который будет возвращаться как просто «False» (по крайней мере, это то, что я до сих пор собирал).

Я попытался получить логическое значение, используя следующее, и мне это не удалось.

$actsync = (get-casmailbox $user).activesyncenabled

If ($actsync -eq "False") { Write-Host "Activesync is disabled" -ForegroundColor Red} как ни странно, это будет записывать только «Activesync отключен», когда activesync включен, т. Е. «ActiveSyncEnabled = true». Я пытался переключиться, если $ actsync -eq «True», но это не дал результатов

и

$actsync2 = (get-casmailbox $user | fl *ActiveSyncEnabled*)

с последующим указанием if выше

Если я смогу по крайней мере заставить это точно записать "activesync отключен", когда activesync отключен, то я должен быть в состоянии понять это, может кто-нибудь направить меня в правильном направлении?

1 Ответ

0 голосов
/ 02 ноября 2018

глядя на документ (https://docs.microsoft.com/en-us/powershell/module/exchange/client-access/get-casmailbox?view=exchange-ps) команда имеет опцию -Filter. Моя идея сделать что-то вроде

$arrayDisabledActiveSyncUsers = Get-CASMailbox -ResultSize unlimited -Filter {ActiveSyncEnabled -eq $false}

это вернет все почтовые ящики, в которых активная синхронизация отключена. затем вы можете работать с этим списком, как показано ниже, чтобы активировать опцию:

foreach($mailbox in $arrayDisabledActiveSyncUsers) {
    Set-CASMailbox $mailbox -ActiveSyncEnabled $true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...