Попытка удалить всех нелицензированных пользователей из глобального списка адресов с помощью Powershell - PullRequest
2 голосов
/ 03 марта 2020

Я пытаюсь удалить всех пользователей, которые не имеют лицензий, из глобального списка адресов.

Пока я обнаружил, что ...

$mboxes = Get-MsolUser -All -UnlicensedUsersOnly

... достанет мне всех нелицензированных пользователей и поместит их в переменную с именем $mboxes, однако здесь нет идентификатора.

Когда я пытаюсь запустить что-то вроде:

foreach ($mbox in $mboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mbox }

Я получаю следующую ошибку.

Cannot process argument transformation on parameter 'Identity'.

Я попытался экспортировать эти данные в CSV и создать Заголовок «Идентичность», однако после повторного импорта данных в PowerShell возникает та же проблема.

1 Ответ

2 голосов
/ 04 марта 2020

Ваше решение было очень близко. Из Set-Mail документов:

Параметр -Identity указывает почтовый ящик, который вы хотите изменить. Вы можете использовать любое значение, однозначно идентифицирующее почтовый ящик.

Используйте $mbox.UserPrincipalName для передачи основного имени пользователя.

$mboxes = Get-MsolUser -All -UnlicensedUsersOnly
foreach ($mbox in $mboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mbox.UserPrincipalName }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...