Tilldela administratörsroller Microsoft 365 användarkonton med PowerShell

Denna artikel gäller för både Microsoft 365 Enterprise och Office 365 Enterprise.

Du kan enkelt tilldela roller till användarkonton med hjälp av PowerShell för Microsoft 365.

Anteckning

Lär dig hur du tilldelar administratörsroller till användarkonton med Administrationscenter för Microsoft 365.

En lista över ytterligare resurser finns i Hantera användare och grupper.

Använda modulen Azure Active Directory PowerShell för Graph powershell

Börja med att använda en Azure AD DC-administratör, en molnprogramsadministratör eller ett globalt administratörskonto för att ansluta till Microsoft 365-klientorganisationen.

Mer information finns i Om administratörsroller.

Identifiera sedan inloggningsnamnet för det användarkonto som du vill lägga till i en roll (exempel: @ contoso.com). Detta kallas även användarens huvudnamn (UPN).

Bestäm sedan namnet på rollen. Se Azure AD-inbyggda roller.

Anteckning

Var uppmärksam på anteckningarna i den här artikeln. Vissa rollnamn är olika för Azure Active Directory (Azure AD) PowerShell. Den administratörsroll SharePoint i den nya Administrationscenter för Microsoft 365 är SharePoint i Azure AD PowerShell.

Sedan fyller du i inloggnings- och rollnamnen och kör följande kommandon:

$userName="<sign-in name of the account>"
$roleName="<admin role name>"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID

Här är ett exempel på en slutförd kommandouppsättning som tilldelar SharePoint tjänstadministratörsroll till @ belindan-contoso.com konto:

$userName="belindan@contoso.com"
$roleName="SharePoint Service Administrator"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID

Använd de här kommandona för att visa listan med användarnamn för en specifik administratörsroll.

$roleName="<role name>"
Get-AzureADDirectoryRole | Where { $_.DisplayName -eq $roleName } | Get-AzureADDirectoryRoleMember | Ft DisplayName

Använda Microsoft Azure Active Directory för Windows PowerShell

Börja med att använda ett globalt administratörskonto för att ansluta till Microsoft 365 klientorganisation.

För en enda rolländring

De vanligaste sätten att ange användarkontot är med hjälp av visningsnamnet eller dess e-postnamn, som också kallas dess inloggningsnamn eller huvudnamn (UPN).

Visa namn på användarkonton

Om du är van vid att arbeta med visningsnamnen för användarkonton bestämmer du följande information:

  • Det användarkonto som du vill konfigurera

    Om du vill ange användarkontot måste du avgöra dess visningsnamn. Använd det här kommandot för att få en fullständig lista över konton:

    Get-MsolUser -All | Sort DisplayName | Select DisplayName | More
    

    Det här kommandot visar visningsnamnet för dina användarkonton, sorterade efter visningsnamnet, en skärmbild i taget. Du kan filtrera listan till en mindre uppsättning med hjälp av cmdleten Where. Se följande exempel.

    Anteckning

    PowerShell Core stöder inte Microsoft Azure Active Directory-modulen för Windows PowerShell-modulen och cmdlets med Msol i namnet. Kör dessa cmdlets från Windows PowerShell.

    Get-MsolUser -All | Where DisplayName -like "John*" | Sort DisplayName | Select DisplayName | More
    

    Det här kommandot visar endast användarkonton som visningsnamnet börjar på "John" för.

  • Den roll som du vill tilldela

    Använd det här kommandot för att visa listan med tillgängliga administratörsroller som du kan tilldela användarkonton:

    Get-MsolRole | Sort Name | Select Name,Description
    

När du har avgöra visningsnamnet för kontot och namnet på rollen använder du följande kommandon för att tilldela rollen till kontot:

$dispName="<The Display Name of the account>"
$roleName="<The admin role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName

Klistra in kommandona i Anteckningar. Ersätt $dispName $roleName beskrivningstexten med deras värden för variablerna. Ta bort < and > tecknen men behåll citattecknen. Klistra in de ändrade raderna i Microsoft Azure Active Directory för att Windows PowerShell att köra dem. Alternativt kan du använda Windows PowerShell Integrated Script Environment (ISE).

Här är ett exempel på en slutförd kommandouppsättning:

$dispName="Scott Wallace"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName

Inloggningsnamn på användarkonton

Om du är van att arbeta med inloggningsnamn eller UPN för användarkonton ska du fastställa följande information:

  • Användarkontons UPN

    Om du inte känner till UPN kan du använda det här kommandot:

    Get-MsolUser -All | Sort UserPrincipalName | Select UserPrincipalName | More
    

    Det här kommandot visar UPN för dina användarkonton, sorterade efter UPN, en skärmbild i taget. Du kan använda cmdleten Where för att filtrera listan. Här är ett exempel:

    Get-MsolUser -All | Where DisplayName -like "John*" | Sort UserPrincipalName | Select UserPrincipalName | More
    

    Det här kommandot visar endast användarkonton som visningsnamnet börjar på "John" för.

  • Den roll som du vill tilldela

    Använd det här kommandot för att visa listan över tillgängliga roller som du kan tilldela användarkonton:

    Get-MsolRole | Sort Name | Select Name,Description
    

När du har UPN för kontot och namnet på rollen kan du använda de här kommandona för att tilldela rollen till kontot:

$upnName="<The UPN of the account>"
$roleName="<The role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName

Kopiera kommandona och klistra in dem i Anteckningar. För $upnName och $roleName variabler. Ersätt beskrivningstexten med deras värden. Ta bort < and > tecknen men behåll citattecknen. Klistra in de ändrade raderna i Microsoft Azure Active Directory för att Windows PowerShell att köra dem. Alternativt kan du använda Windows PowerShell ISE.

Här är ett exempel på en slutförd kommandouppsättning:

$upnName="scottw@contoso.com"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName

Flera rolländringar

Bestäm följande information för flerrollsändringar:

  • Vilka användarkonton du vill konfigurera. Du kan använda metoderna i föregående avsnitt för att samla in en uppsättning visningsnamn eller UPN-namn.

  • Vilka roller du vill tilldela varje användarkonto. Använd det här kommandot för att visa listan över tillgängliga roller som du kan tilldela användarkonton:

    Get-MsolRole | Sort Name | Select Name,Description
    

Skapa sedan en fil med kommaavgränsade värden (CSV) med visningsnamnet eller UPN- och rollnamnsfälten. Du kan göra det enkelt Microsoft Excel.

Här är ett exempel för visningsnamn:

DisplayName,RoleName
"Belinda Newman","Billing Administrator"
"Scott Wallace","SharePoint Service Administrator"

Fyll sedan i CSV-filens plats och kör resulterande kommandon i PowerShell-kommandotolken.

$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach {Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser | Where DisplayName -eq $_.DisplayName).UserPrincipalName -RoleName $_.RoleName }

Här är ett exempel för UPN:er:

UserPrincipalName,RoleName
"belindan@contoso.com","Billing Administrator"
"scottw@contoso.com","SharePoint Service Administrator"

Fyll sedan i CSV-filens plats och kör resulterande kommandon i PowerShell-kommandotolken.

$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach { Add-MsolRoleMember -RoleMemberEmailAddress $_.UserPrincipalName -RoleName $_.RoleName }

Se även