Назначение ролей администратора учетным записям пользователей 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 DC или администратора облачных приложений для подключения к клиенту Microsoft 365. Для командлетов, описанных в этой статье, требуется область разрешений RoleManagement.ReadWrite.Directory или одно из других разрешений, перечисленных на странице справочника по API Graph List subscribedSkus. Для некоторых команд, приведенных в этой статье, могут потребоваться различные области разрешений. В этом случае это будет указано в соответствующем разделе.
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 }