PowerShell을 사용하여 Microsoft 365 사용자 계정에 관리자 역할 할당
이 문서는 Microsoft 365 Enterprise와 Office 365 Enterprise에 모두 적용됩니다.
Microsoft 365 PowerShell을 사용하여 사용자 계정에 역할을 쉽게 할당할 수 있습니다.
Graph 모듈용 Azure Active Directory PowerShell 사용하기
먼저 Azure AD DC 관리자, 클라우드 애플리케이션 관리자 또는 전역 관리자 계정을 사용하여 Microsoft 365 테넌트에 연결합니다.
자세한 내용은 관리자 역할 정보를 참조하세요.
다음으로 역할에 추가하려는 사용자 계정의 로그인 이름을 식별합니다(예: fredsm@ contoso.com). 이를 UPN(사용자 계정 이름)라고도 합니다.
다음으로 역할의 이름을 확인합니다. Azure AD 기본 제공 역할을 참조하세요.
참고
이 문서의 노트에 주의하세요. 일부 역할 이름은 Azure Active Directory(Azure AD) PowerShell에 대해 다릅니다. 예를 들어 Microsoft 365 관리 센터 SharePoint 관리자 역할은 Azure AD PowerShell의 SharePoint 서비스 관리자 입니다.
다음으로 로그인 및 역할 이름을 입력하고 다음 명령을 실행합니다.
$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
다음은 belindan@ contoso.com 계정에 SharePoint 서비스 관리자 역할을 할당하는 완료된 명령 집합의 예입니다.
$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
특정 관리자 역할에 대한 사용자 이름 목록을 표시하려면 다음 명령을 사용합니다.
$roleName="<role name>"
Get-AzureADDirectoryRole | Where { $_.DisplayName -eq $roleName } | Get-AzureADDirectoryRoleMember | Ft DisplayName
Windows PowerShell용 Microsoft Azure Active Directory 모듈 사용하기
먼저 전역 관리자 계정을 사용하여 Microsoft 365 테넌트에 연결합니다.
단일 역할 변경
사용자 계정을 지정하는 가장 일반적인 방법은 로그인 이름 또는 UPN(사용자 계정 이름)으로도 알려진 표시 이름 또는 전자 메일 이름을 사용하는 것입니다.
사용자 계정의 이름 표시
사용자 계정의 표시 이름을 사용하는 데 익숙한 경우 다음 정보를 확인합니다.
구성하려는 사용자 계정
사용자 계정을 지정하려면 해당 표시 이름을 결정해야 합니다. 계정의 전체 목록을 얻으려면 다음 명령을 사용합니다.
Get-MsolUser -All | Sort DisplayName | Select DisplayName | More이 명령은 사용자 계정의 표시 이름을 한 번에 한 화면씩 표시 이름으로 정렬하여 나열합니다. Where cmdlet을 사용하여 목록을 더 작은 집합으로 필터링할 수 있습니다. 아래 예제를 참고하십시오.
참고
PowerShell Core는 Windows PowerShell용 Microsoft Azure Active Directory 모듈 및 이름에 Msol 이 있는 cmdlet을 지원하지 않습니다. Windows PowerShell 이러한 cmdlet을 실행합니다.
Get-MsolUser -All | Where DisplayName -like "John*" | Sort DisplayName | Select DisplayName | More이 명령은 표시 이름이 "John"으로 시작하는 사용자 계정만 나열합니다.
할당할 역할
사용자 계정에 할당할 수 있는 사용 가능한 관리자 역할 목록을 표시하려면 다음 명령을 사용합니다.
Get-MsolRole | Sort Name | Select Name,Description
계정의 표시 이름과 역할 이름을 확인한 후 다음 명령을 사용하여 계정에 역할을 할당합니다.
$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
명령을 메모장 붙여넣습니다. $dispName 및 $roleName 변수의 경우 설명 텍스트를 해당 값으로 바꿉니다. < and > 문자를 제거하지만 따옴표를 유지합니다. 수정된 줄을 Windows PowerShell Microsoft Azure Active Directory 모듈 창에 붙여넣어 실행합니다. 또는 Windows PowerShell ISE(통합 스크립트 환경)를 사용할 수 있습니다.
다음은 완료된 명령 집합의 예입니다.
$dispName="Scott Wallace"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName
사용자 계정의 로그인 이름
사용자 계정의 로그인 이름 또는 UPN을 사용하는 데 익숙한 경우 다음 정보를 확인합니다.
사용자 계정의 UPN
UPN을 모르는 경우 다음 명령을 사용합니다.
Get-MsolUser -All | Sort UserPrincipalName | Select UserPrincipalName | More이 명령은 한 번에 한 화면씩 UPN별로 정렬된 사용자 계정의 UPN을 나열합니다. Where cmdlet을 사용하여 목록을 필터링할 수 있습니다. 다음은 예입니다.
Get-MsolUser -All | Where DisplayName -like "John*" | Sort UserPrincipalName | Select UserPrincipalName | More이 명령은 표시 이름이 "John"으로 시작하는 사용자 계정만 나열합니다.
할당할 역할
사용자 계정에 할당할 수 있는 사용 가능한 역할 목록을 표시하려면 다음 명령을 사용합니다.
Get-MsolRole | Sort Name | Select Name,Description
계정의 UPN 및 역할 이름이 있으면 다음 명령을 사용하여 계정에 역할을 할당합니다.
$upnName="<The UPN of the account>"
$roleName="<The role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName
명령을 복사하여 메모장 붙여넣습니다. $upnName 및 $roleName 변수의 경우 설명 텍스트를 해당 값으로 바꿉 있습니다. < and > 문자를 제거하지만 따옴표를 유지합니다. 수정된 줄을 Microsoft Azure Active Directory 모듈에 붙여넣어 Windows PowerShell 창을 실행합니다. 또는 Windows PowerShell ISE를 사용할 수 있습니다.
다음은 완료된 명령 집합의 예입니다.
$upnName="scottw@contoso.com"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName
여러 역할 변경
여러 역할 변경의 경우 다음 정보를 확인합니다.
구성할 사용자 계정입니다. 이전 섹션의 메서드를 사용하여 표시 이름 또는 UPN 집합을 수집할 수 있습니다.
각 사용자 계정에 할당할 역할입니다. 사용자 계정에 할당할 수 있는 사용 가능한 역할 목록을 표시하려면 다음 명령을 사용합니다.
Get-MsolRole | Sort Name | Select Name,Description
다음으로, 표시 이름 또는 UPN 및 역할 이름 필드가 있는 CSV(쉼표로 구분된 값) 텍스트 파일을 만듭니다. Microsoft Excel 이 작업을 쉽게 수행할 수 있습니다.
표시 이름에 대한 예제는 다음과 같습니다.
DisplayName,RoleName
"Belinda Newman","Billing Administrator"
"Scott Wallace","SharePoint Service Administrator"
다음으로, CSV 파일의 위치를 입력하고 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.
$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 }
UPN의 예는 다음과 같습니다.
UserPrincipalName,RoleName
"belindan@contoso.com","Billing Administrator"
"scottw@contoso.com","SharePoint Service Administrator"
다음으로, CSV 파일의 위치를 입력하고 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.
$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 }