Sdílet prostřednictvím


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 se k vašemu tenantovi Microsoftu 365 připojte pomocí účtu správce Microsoft Entra řadiče domény nebo účtu Správa cloudových aplikací. 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

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 adelev@contoso.com Správce Exchange:

$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é