PowerShell을 통해 Microsoft 365 사용자 계정에 관리자 역할 할당Assign admin roles to Microsoft 365 user accounts with PowerShell

이 문서는 Microsoft 365 Enterprise와 Office 365 Enterprise에 모두 적용됩니다.This article applies to both Microsoft 365 Enterprise and Office 365 Enterprise.

Microsoft 365용 PowerShell을 사용하여 사용자 계정에 역할을 쉽게 할당할 수 있습니다.You can easily assign roles to user accounts by using PowerShell for Microsoft 365.

참고

Microsoft 365 관리 센터를 통해 사용자 계정에 관리자 역할을 할당하는 방법을 학습합니다. Learn how to assign admin roles to user accounts with the Microsoft 365 admin center.

추가 리소스 목록은 사용자 및 그룹 관리를 참조하세요.For a list of additional resources, see Manage users and groups.

Graph 모듈용 Azure Active Directory PowerShell 사용하기Use the Azure Active Directory PowerShell for Graph module

먼저 전역 관리자 계정을 사용하여 Microsoft 365 테넌트에 연결합니다.First, use a global administrator account to connect to your Microsoft 365 tenant.

그런 다음 역할에 추가할 사용자 계정의 로그인 이름(예: fredsm @ contoso.com)을 식별합니다.Next, identify the sign-in name of the user account that you want to add to a role (example: fredsm@contoso.com). 이를 UPN(사용자 계정 이름)이라고도 합니다.This is also known as the user principal name (UPN).

그런 다음 역할의 이름을 확인 합니다.Next, determine the name of the role. Azure Active Directory의 관리자 역할 권한을 참조하세요.See administrator role permissions in Azure Active Directory.

참고

이 문서의 메모에 주의하세요.Pay attention to the notes in this article. 일부 역할 이름은 Azure AD(Azure Active Directory) PowerShell과 다릅니다.Some role names are different for Azure Active Directory (Azure AD) PowerShell. 예를 들어 Microsoft 365 관리 센터의 SharePoint 관리자 역할은 Azure AD PowerShell의 SharePoint 서비스 관리자입니다.For example, the SharePoint Administrator role in the Microsoft 365 admin center is SharePoint Service Administrator in Azure AD PowerShell.

그런 다음 로그인 및 역할 이름을 입력하고 다음 명령을 실행합니다.Next, fill in the sign-in and role names and run these commands:

$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

다음은 SharePoint 서비스 관리자 역할을 belindan @ contoso.com 명령 집합의 예입니다.Here's an example of a completed command set that assigns the SharePoint Service Administrator role to the belindan@contoso.com account:

$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

특정 관리자 역할의 사용자 이름 목록을 표시하려면 다음 명령을 사용하세요.To display the list of user names for a specific admin role, use these commands.

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

Windows PowerShell용 Microsoft Azure Active Directory 모듈 사용하기Use the Microsoft Azure Active Directory Module for Windows PowerShell

먼저 전역 관리자 계정을 사용하여 Microsoft 365 테넌트에 연결합니다.First, use a global administrator account to connect to your Microsoft 365 tenant.

단일 역할 변경의 경우For a single role change

사용자 계정을 지정하는 가장 일반적인 방법은 표시 이름 또는 해당 전자 메일 이름(로그인 이름 또는 UPN(사용자 계정 이름)이라고도 하는)을 사용하는 것입니다.The most common ways to specify the user account is by using its display name or its email name, which also known as its sign-in name or user principal name (UPN).

사용자 계정의 이름 표시Display names of user accounts

사용자 계정의 표시 이름을 사용하는 경우 다음 정보를 결정하십시오.If you're used to working with the display names of user accounts, determine the following information:

  • 구성할 사용자 계정The user account that you want to configure

    사용자 계정을 지정하려면 해당 표시 이름을 결정해야 합니다.To specify the user account, you must determine its Display Name. 계정의 전체 목록을 표시하기 위해 다음 명령을 사용하세요.To get a complete list of accounts, use this command:

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

    이 명령은 사용자 계정의 표시 이름을 표시 이름별로 정렬하여 한 화면씩 나열합니다.This command lists the Display Name of your user accounts, sorted by the Display Name, one screen at a time. Where cmdlet을 사용하여 목록을 더 작은 집합으로 필터링할 수 있습니다.You can filter the list to a smaller set by using the Where cmdlet. 아래 예제를 참고하십시오.See the following example.

    참고

    PowerShell Core는 Windows PowerShell용 Microsoft Azure Active Directory 모듈 및 이름에 Msol 이 있는 cmdlet을 지원하지 않습니다.PowerShell Core doesn't support the Microsoft Azure Active Directory Module for Windows PowerShell module and cmdlets with Msol in their name. Windows PowerShell에서 이러한 cmdlet을 실행합니다.Run these cmdlets from Windows PowerShell.

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

    이 명령은 표시 이름이 "John"으로 시작하는 사용자 계정만 나열합니다.This command lists only the user accounts for which the Display Name starts with "John".

  • 할당할 역할The role you want to assign

    사용자 계정에 할당할 수 있는 사용 가능한 관리자 역할 목록을 표시하려면 다음 명령을 사용하세요.To display the list of available admin roles that you can assign to user accounts, use this command:

    Get-MsolRole | Sort Name | Select Name,Description
    

계정의 표시 이름과 역할 이름을 확인한 후 다음 명령을 사용하여 계정에 역할을 할당합니다.After you determine the Display Name of the account and the name of the role, use these commands to assign the role to the account:

$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

명령을 메모장에 붙여 넣습니다.Paste the commands into Notepad. $dispName $roleName 변수의 경우 설명 텍스트를 해당 값으로 바 사용합니다.For the $dispName and $roleName variables, replace the description text with their values. 문자를 < and > 제거하 고 인용 부호를 유지 합니다.Remove the < and > characters but keep the quotation marks. 수정된 줄을 Microsoft Azure Active Directory 모듈에 붙여 Windows PowerShell 실행합니다.Paste the modified lines into the Microsoft Azure Active Directory Module for Windows PowerShell window to run them. 또는 ISE(통합 스크립트 Windows PowerShell)를 사용할 수 있습니다.Alternately, you can use the Windows PowerShell Integrated Script Environment (ISE).

완성된 명령 집합의 예는 다음과 같습니다.Here's an example of a completed command set:

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

사용자 계정의 로그인 이름Sign-in names of user accounts

사용자 계정의 로그인 이름 또는 UPNS로 작업하는 데 사용되는 경우 다음 정보를 결정하십시오.If you're used to working with the sign-in names or UPNs of user accounts, determine the following information:

  • 사용자 계정의 UPNThe user account's UPN

    UPN을 모르는 경우 다음 명령을 사용 합니다.If you don't know the UPN, use this command:

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

    이 명령은 사용자 계정의 UPN을 UPN별로 정렬하여 한 화면씩 나열합니다.This command lists the UPN of your user accounts, sorted by UPN, one screen at a time. Where cmdlet을 사용하여 목록을 필터링할 수 있습니다.You can use the Where cmdlet to filter the list. 예를 들면 다음과 같습니다.Here's an example:

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

    이 명령은 표시 이름이 "John"으로 시작하는 사용자 계정만 나열합니다.This command lists only the user accounts for which the Display Name starts with "John".

  • 할당할 역할The role you want to assign

    사용자 계정에 할당할 수 있는 사용 가능한 역할 목록을 표시하기 위해 다음 명령을 사용하세요.To display the list of available roles that you can assign to user accounts, use this command:

    Get-MsolRole | Sort Name | Select Name,Description
    

계정의 UPN과 역할 이름을 지정한 후 다음 명령을 사용하여 계정에 역할을 할당합니다.After you have the UPN of the account and the name of the role, use these commands to assign the role to the account:

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

명령을 복사하여 메모장에 붙여 넣습니다.Copy the commands and paste them into Notepad. 변수 및 $upnName $roleName.For the $upnName and $roleName variables. 설명 텍스트를 해당 값으로 바 대체합니다.Replace the description text with their values. 문자를 < and > 제거하 고 인용 부호를 유지 합니다.Remove the < and > characters but keep the quotation marks. 수정된 줄을 Microsoft Azure Active Directory 모듈에 붙여 Windows PowerShell 실행합니다.Paste the modified lines into Microsoft Azure Active Directory Module for Windows PowerShell window to run them. 또는 ISE를 사용하여 WINDOWS POWERSHELL 있습니다.Alternately, you can use the Windows PowerShell ISE.

완성된 명령 집합의 예는 다음과 같습니다.Here's an example of a completed command set:

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

여러 역할 변경Multiple role changes

여러 역할 변경의 경우 다음 정보를 결정하십시오.For multiple role changes, determine the following information:

  • 구성할 사용자 계정Which user accounts you want to configure. 이전 섹션의 메서드를 사용하여 표시 이름 또는 UPNS 집합을 수집할 수 있습니다.You can use the methods in the previous section to gather the set of display names or UPNs.

  • 각 사용자 계정에 할당할 역할Which roles you want to assign to each user account. 사용자 계정에 할당할 수 있는 사용 가능한 역할 목록을 표시하기 위해 다음 명령을 사용하세요.To display the list of available roles that you can assign to user accounts, use this command:

    Get-MsolRole | Sort Name | Select Name,Description
    

그런 다음 표시 이름 또는 UPN 및 역할 이름 필드가 있는 CSV(콤보로 구분된 값) 텍스트 파일을 생성합니다.Next, create a comma-separated value (CSV) text file that has the display name or UPN and role name fields. Microsoft Excel에서 쉽게 이 작업을 할 수 있습니다.You can do this easily in Microsoft Excel.

표시 이름의 예는 다음과 같습니다.Here's an example for display names:

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

그런 다음 CSV 파일의 위치를 입력하고 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.Next, fill in the location of the CSV file and run the resulting commands at the PowerShell command prompt.

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

UPNS의 예는 다음과 같습니다.Here's an example for UPNs:

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

그런 다음 CSV 파일의 위치를 입력하고 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.Next, fill in the location of the CSV file and run the resulting commands at the PowerShell command prompt.

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

참고 항목See also