Office 365 Как получить список адресов (алиасов) у не синхронизируемых пользователей (облачных учеток) при помощи PowerShell

Дано: Учетные записи в Office 365. Некоторые из них синхронизируются с Active Directory (AD) через DirSync. А также существуют пользователи "В облаке" (не синхронизируемые). У некоторых из них заданы псевдонимы (дополнительные адреса, алиасы, aliases).
Задача: получить список облачных (не синхронизируемых) учетных записей пользователей с их псевдонимами (алиасами) при помощи PowerShell.


Базируясь на статье Как получить список не синхронизируемых пользователей, будем использовать свойство пользователя - LastDirSyncTime.

Список все адресов хранится в свойстве - ProxyAddresses, поэтому его и будем запрашивать следующей командой:

Get-MsolUser -all | Where-Object { $_.LastDirSyncTime -eq $null } 
   | Select UserPrincipalName, DisplayName, 
   @{Name="ProxyAddresses";Expression={$_.ProxyAddresses 
      | Where-Object {$_ -LIKE "SMTP:*"}}} 
   | Sort | Export-Csv C:\email-aliases-clouds.csv -Encoding Unicode

Данный скрипт получает список всех облачных пользователей (Get-MsolUser -all | Where-Object { $_.LastDirSyncTime -eq $null }), делает парсинг поля с адресами (@{Name="ProxyAddresses";Expression={$_.ProxyAddresses | Where-Object {$_ -LIKE "SMTP:*"}}}) и экспортирует список в файл (Export-Csv C:\email-aliases-clouds.csv).

Если в именах пользователей используются русские символы, то рекомендуется добавить к команде -Encoding Unicode, иначе в файле вместо русских букв будут вопросы (например, "???").

(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

Комментариев нет:

Отправить комментарий