Sdílet prostřednictvím


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

Tento článek se vztahuje na 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

Zjistěte, jak přiřadit role správců uživatelským účtům v Centru 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 DC nebo správce 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 s referenčními informacemi k rozhraní Graph API pro seznam odběrů. 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 Předdefinované role Microsoft Entra.

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