Подробное изучение командлетов Office 365 PowerShell (часть 3)

Опубликовано: 11 Марта, 2023
Подробное изучение командлетов Office 365 PowerShell (часть 3)

  • Подробное изучение командлетов Office 365 PowerShell (часть 2)
  • Подробное изучение командлетов Office 365 PowerShell (часть 6)

Введение

В первой части этой серии статей мы представили обзор командлетов Office 365 PowerShell и шаги по установке «Модуля Windows Azure Active Directory для Windows PowerShell». В части II объяснялись различные командлеты PowerShell, доступные для управления различными аспектами арендатора Office 365.

Прежде чем вы сможете запускать какие-либо командлеты Office 365 PowerShell, вам потребуется подключиться к подписке на Office 365. Как указано во второй части этой серии, вы можете использовать командлет Connect-MsolService PowerShell. После подключения к подписке на Office 365 используйте командлеты PowerShell, описанные в оставшейся части этой серии, для управления пользователями, группами, доменами и выполнения других распространенных задач для арендатора Office 365.

Управление пользователями в Office 365

Существует несколько командлетов PowerShell, которые устанавливаются при установке Azure Active Directory для Windows PowerShell, включая командлеты PowerShell, которые можно использовать для управления пользователями Office 365. Хотя в Центре администрирования Office 365 есть отдельный раздел для работы с пользователями Office 365, командлеты PowerShell обеспечивают большую гибкость. Прежде чем мы начнем использовать пользовательские командлеты Office 365, важно отметить, что есть несколько пользовательских командлетов, которые могут показаться вам бесполезными, но есть много других командлетов, которые помогут вам сэкономить много времени при выполнении повседневных рабочих задач. Давайте воспользуемся некоторыми пользовательскими командлетами PowerShell, которые вы можете использовать для повседневных рабочих задач.

Получить пользователей Office 365

«Get-MsolUser» — это первый командлет PowerShell, который я буду объяснять в этой статье. Командлет Get-MsolUser очень мощный. Он поддерживает ряд свойств. Как следует из названия, запустив командлет без параметров, вы получите список пользователей, созданных в арендаторе Office 365, как показано на снимке экрана ниже:

Изображение 1879
фигура 1

Если вы хотите экспортировать список в CSV-файл для последующего использования, вы можете запустить приведенный ниже командлет PowerShell:

  • Get-MsolUser | Export-CSV AllMsolUsers.CSV-NoTypeInformation

Командлет Get-MsolUser также поддерживает получение информации для конкретного пользователя Office 365, как показано в приведенной ниже команде:

  • Get-MsolUser –UserPrincipalName [адрес электронной почты защищен]

Важно понимать, что у вас может быть несколько пользователей, созданных в Office 365. Если у вас большое количество пользователей и при запуске командлета Get-MsolUser, он отобразит предупреждающее сообщение, как показано на снимке экрана ниже:

Изображение 1880
фигура 2

По умолчанию командлет Get-MsolUser может отображать список из 500 пользователей за один сеанс. Он не показывает всех пользователей. Все командлеты Office 365 рассчитаны на возврат только 500 объектов за один сеанс. Если вы хотите увидеть более 500 пользователей, вам необходимо использовать параметр –MaxResults или –ALL, как указано в предупреждающем сообщении, показанном на снимке экрана выше.

Примечание:
Поскольку в моей пробной подписке на Office 365 создано более 500 пользователей, вы можете увидеть, как я использую параметр « –ALL » или «- MaxResults » во всех командлетах PowerShell, которые объяснялись в этой серии статей.

Командлет Get-MSOLUser и свойства

Командлет Get-MSolUser поддерживает множество свойств. Если вам нужно просмотреть список свойств, поддерживаемых командлетом Get-MSolUser, выполните следующую команду:

  • Get-MSolUser – MaxResults 1 | Get-Member

Кончик:
Вам не нужно использовать параметр «-MaxResults» в приведенной выше команде, если только у вас не создано более 500 пользователей в арендаторе Office 365.

Приведенная выше команда возвращает список свойств, которые можно использовать для получения информации о пользователях Office 365, как показано на снимке экрана ниже:

Изображение 1881
Рисунок 3

Одним из свойств, которые я всегда использую, является свойство «IsLicensed». Свойство IsLicensed помогает узнать, использует ли пользователь или группа пользователей лицензию Office 365. Каждому пользователю Office 365 должна быть назначена лицензия, прежде чем он сможет использовать службы Office 365, такие как электронная почта, SharePoint или Lync, или даже сможет загружать приложения Office 365, такие как Word или Excel, или приложение.

Чтобы получить список пользователей, которым были назначены лицензии в Office 365, выполните следующую команду PowerShell:

  • Get-MsolUser –ALL | Где-Объект {$_.IsLicensed –eq «ИСТИНА»}

И если вы хотите экспортировать вывод в файл CSV, используйте следующую команду:

  • Get-MsolUser-ALL | Где-Объект {$_.IsLicensed -eq «ИСТИНА»} | выберите имя объекта, DisplayName, UserPrincipalName, IsLicensed | Export-CSV C:TempOffice365LicensedUsers.CSV -NoTypeInformation

Если вам нужен список нелицензированных пользователей, замените «TRUE» на «FALSE» в командах выше или используйте параметр « -UnlicensedUsersOnly » с командлетом Get-MsolUser, как описано в командах ниже:

Чтобы вывести список нелицензированных пользователей, указав «FALSE» для свойства IsLicensed:

  • Get-MsolUser –ALL | Где-Объект {$_.IsLicensed –eq «FALSE»}

Чтобы экспортировать нелицензированных пользователей в файл CSV, указав «FALSE» для свойства IsLicensed:

  • Get-MsolUser-ALL | Where-Object {$_.IsLicensed -eq «FALSE»} | выберите имя объекта, DisplayName, UserPrincipalName, IsLicensed | Export-CSV C:TempOffice365NonLicensedUsers.CSV –NoTypeInformation

И экспортировать нелицензированных пользователей в CSV-файл, указав параметр « -UnlicensedUsersOnly »:

  • Get-Msoluser –All –UnLicensedUsersOnly | | Export-CSV C:TempOffice365NonLicensedUsers.CSV –NoTypeInformation

Обратите внимание, что приведенные выше однострочные команды полезны, когда вы работаете в окне PowerShell, но они бесполезны, когда вам нужно выполнить действие как часть скрипта. Например, вы можете назначить лицензию Office 365 в зависимости от страны пользователя. Точно так же вы можете захотеть выполнить действие, только если у пользователя есть лицензия. В этих ситуациях вам нужно использовать цикл «ForEach» в сценарии PowerShell, который поможет вам проверить условие, прежде чем предпринимать какие-либо действия. Например, приведенный ниже код PowerShell можно использовать для выполнения действия, если пользователь Office 365 не имеет лицензии.

  • $MyOffice365Users = Get-MsolUser
  • ForEach ($AllUsers в $MyOffice365Users)
  • {
  • $UserStat = $AllUsers.IsLicensed
  • ЕСЛИ ($UserStat -eq «ЛОЖЬ»)
  • {
  • }
  • }

Резюме

В этой статье мы немного рассказали о командлете Get-Msoluser. В следующей части этой серии статей мы продолжим объяснять, как получить другие свойства пользователей Office 365, такие как статус многофакторной аутентификации, личные данные пользователя, изменение последнего пароля, политики паролей, применяемые к пользователям, и многое другое.

Мы также узнаем, как создать отчет о лицензии Office 365 с помощью командлета Get-MsolUser.

  • Подробное изучение командлетов Office 365 PowerShell (часть 2)
  • Подробное изучение командлетов Office 365 PowerShell (часть 6)