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 }