Назначение ролей администратора учетным записям пользователей Microsoft 365 с помощью PowerShell

Эта статья относится к Microsoft 365 корпоративный и Office 365 корпоративный.

Вы можете легко назначать роли учетным записям пользователей с помощью PowerShell для Microsoft 365.

Примечание.

Узнайте, как назначать роли администратора учетным записям пользователей с помощью Центр администрирования Microsoft 365.

Список дополнительных ресурсов см. в разделе Управление пользователями и группами.

Назначение ролей учетным записям пользователей с помощью Microsoft Graph PowerShell

Примечание.

Модуль Azure Active Directory заменяется пакетом SDK Для Microsoft Graph PowerShell. Можно использовать пакет SDK Microsoft Graph PowerShell для доступа ко всем API Microsoft Graph. Дополнительные сведения см. разделе Начало работы с пакетом SDK Microsoft Graph PowerShell.

Сначала используйте учетную запись администратора Microsoft Entra контроллера домена, Администратор облачного приложения или глобального администратора для подключения к клиенту Microsoft 365. Командлетам, описанным в этой статье, требуется разрешение область RoleManagement.ReadWrite.Directory или одно из других разрешений, перечисленных на странице справочника "List subscribedSkus" API Graph. Для некоторых команд, приведенных в этой статье, могут потребоваться различные области разрешений. В этом случае это будет указано в соответствующем разделе.

Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"

Дополнительные сведения см. в статье О ролях администраторов.

Затем укажите имя для входа учетной записи пользователя, которую вы хотите добавить в роль (например, fredsm@contoso.com). Это также называется именем участника-пользователя (UPN).

После этого определите имя роли. См. Microsoft Entra встроенные роли.

Примечание.

Обратите внимание на примечания в этой статье. Некоторые имена ролей для Azure Active Directory (Azure AD) PowerShell отличаются. Например, роль администратора SharePoint в Центр администрирования Microsoft 365 — администратор службы SharePoint в Azure AD PowerShell.

Затем введите имя имени участника-пользователя и роли и выполните следующие команды:

$userUPN="<user UPN>"
$roleName="<role name>"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

Ниже приведен пример завершенного набора команд, который назначает учетной записи роль belindan@contoso.com администратора службы SharePoint:

$userUPN="adelev@contoso.com"
$roleName="Exchange Administrator"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

Чтобы отобразить список идентификаторов пользователей для определенной роли администратора, используйте следующие команды.

$roleName="<role name>"
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgDirectoryRole | Where-Object { $_.DisplayName -eq $roleName } | ForEach-Object { Get-MgDirectoryRoleMember -DirectoryRoleId $_.Id }

См. также