Přiřazení rolí správců uživatelským účtům Microsoftu 365 pomocí PowerShellu

Tento článek se týká Microsoft 365 Enterprise i Office 365 Enterprise.

Role můžete k uživatelským účtům snadno přiřadit pomocí PowerShellu pro Microsoft 365.

Poznámka

Naučte se přiřazovat role správců uživatelským účtům pomocí Centrum pro správu Microsoftu 365.

Seznam dalších prostředků najdete v tématu Správa uživatelů a skupin.

Přiřazení rolí k uživatelským účtům pomocí Prostředí Microsoft Graph PowerShell

Poznámka

Modul Azure Active Directory je nahrazován sadou Microsoft Graph PowerShell SDK. Pro přístup ke všem rozhraním Microsoft Graph API můžete použít sadu Microsoft Graph PowerShell SDK. Další informace najdete v tématu Začínáme se sadou Microsoft Graph PowerShell SDK.

Nejprve použijte Microsoft Entra správce řadiče domény, Správa cloudových aplikací nebo účet globálního správce pro připojení k vašemu tenantovi Microsoftu 365. Rutiny v tomto článku vyžadují obor oprávnění RoleManagement.ReadWrite.Directory nebo jedno z dalších oprávnění uvedených na stránce Graph API odkazu List subscribedSkus. Některé příkazy v tomto článku můžou vyžadovat různé obory oprávnění. V takovém případě to bude uvedeno v příslušné části.

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

Další informace najdete v článku Role správců.

Dále identifikujte přihlašovací jméno uživatelského účtu, který chcete přidat do role (příklad: fredsm@contoso.com). Označuje se také jako hlavní název uživatele (UPN).

Dále určete název role. Viz Microsoft Entra předdefinovaných rolí.

Poznámka

Věnujte pozornost poznámkám v tomto článku. Některé názvy rolí se pro Azure Active Directory (Azure AD) PowerShell liší. Například role Správce SharePointu v Centrum pro správu Microsoftu 365 je Správce služeb SharePointu v Azure AD PowerShellu.

Dále vyplňte hlavní název uživatele (UPN) a názvy rolí a spusťte tyto příkazy:

$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

Tady je příklad dokončené sady příkazů, která účtu přiřadí roli belindan@contoso.com správce služby 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

Pokud chcete zobrazit seznam ID uživatelů pro konkrétní roli správce, použijte tyto příkazy.

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

Viz také