Jaa


Järjestelmänvalvojaroolien määrittäminen Microsoft 365 -käyttäjätileille PowerShellin avulla

Tämä artikkeli koskee sekä Microsoft 365 Enterprise että Office 365 Enterprise.

Voit helposti määrittää rooleja käyttäjätileille käyttämällä PowerShelliä Microsoft 365:lle.

Huomautus

Lue, miten voit määrittää järjestelmänvalvojarooleja käyttäjätileille Microsoft 365 -hallintakeskus avulla.

Lisätietoja lisäresursseista on kohdassa Käyttäjien ja ryhmien hallinta.

Roolien määrittäminen käyttäjätileille Microsoft Graph PowerShellin avulla

Huomautus

Azure Active Directory -moduuli korvataan Microsoft Graph PowerShell SDK:lla. Voit käyttää kaikkia Microsoft Graph -ohjelmointirajapintoja Microsoft Graph PowerShell SDK:n avulla. Lisätietoja on artikkelissa Microsoft Graph PowerShell SDK:n käytön aloittaminen.

Muodosta ensin yhteys Microsoft 365 -vuokraajaanMicrosoft Entra DC -järjestelmänvalvojan tai cloud application Hallinta -tilin avulla. Tämän artikkelin cmdlet-komennot edellyttävät käyttöoikeuden vaikutusaluetta RoleManagement.ReadWrite.Directory tai jonkin muun käyttöoikeuden, joka on lueteltu Graph-ohjelmointirajapintaviittaussivulla List subscribedSkus. Jotkin tämän artikkelin komennot saattavat vaatia eri käyttöoikeusalueita, jolloin tämä mainitaan asianmukaisessa osiossa.

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

Lisätietoa on kohdassa Järjestelmänvalvojan roolien määrääminen.

Määritä seuraavaksi rooliin lisättävän käyttäjätilin kirjautumisnimi (esimerkki: fredsm@contoso.com). Tätä kutsutaan myös täydellisen käyttäjätunnuksen (UPN) nimeksi.

Määritä seuraavaksi roolin nimi. Katso Microsoft Entra valmiita rooleja.

Huomautus

Jotkin roolien nimet ovat erilaisia Azure Active Directoryn (Azure AD) PowerShellissä. Esimerkiksi SharePoint-järjestelmänvalvojan rooli Microsoft 365 -hallintakeskus on SharePoint-palvelun järjestelmänvalvoja Azure AD PowerShellissä.

Täytä seuraavaksi käyttäjän täydellinen käyttäjätunnus ja roolien nimet ja suorita seuraavat komennot:

$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

Tässä on esimerkki suoritetusta komentojoukosta, joka määrittää Exchange-järjestelmänvalvojan adelev@contoso.com roolin tilille:

$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

Jos haluat näyttää tietyn järjestelmänvalvojaroolin käyttäjätunnusten luettelon, käytä näitä komentoja.

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

Tutustu myös seuraaviin ohjeartikkeleihin: