今回は、管理者の一覧を出力するコマンドレットについてご紹介したいと思います。
なお、本手順は、各管理者権限単位ではなく、管理者権限が付与されているユーザーリストを出力する手順となります。
事前準備 : Windows PowerShell の起動と接続
下記公開情報の [1. Microsoft Graph PowerShell のインストール] を参考に、Microsoft Graph PowerShell 用モジュールのインストールをしてから実行してください。
※ すでに本モジュールのインストールが完了している場合、再インストールは不要ですので、後述の <Windows PowerShell への接続> の手順からご実施ください。
Windows PowerShell への接続
Microsoft Graph PowerShell 用モジュールのインストールが完了したら、以下の手順にて、Windows PowerShell へ接続してください。
1. Windows PowerShell を右クリックして [管理者として実行] で起動します。
2. 以下のコマンドレットを実行し、管理者ユーザーの ID とパスワードを入力します。
【コマンドレット】
Connect-MgGraph -Scopes "Directory.Read.All"
3. 以下のコマンドレットを実行し、モジュールをインポートします。
【コマンドレット】
Import-Module -Name Microsoft.Graph.Users
管理者権限が付与されているユーザーの一覧を CSV ファイルに出力
※ コマンドレット 1、コマンドレット 2 を順に実行します。
【コマンドレット 1】
$temp=ForEach($i in Get-MgUser -All | foreach {Get-MgUser -UserId $_.UserPrincipalName}){Get-MgUserMemberOf -UserId $i.UserPrincipalName |{$_.AdditionalProperties['@odata.type'] -eq '#microsoft.graph.directoryRole'} | Select @{n="displayName";e={$i.displayName}}, @{n="UserPrincipalName";e={$i.UserPrincipalName}},@{n="Name"; e={%{$_.AdditionalProperties.displayName}}},@{n="ObjectId"; e={%{$_.AdditionalProperties.roleTemplateId}}},@{n="Description"; e={%{$_.AdditionalProperties.description}}}}
【コマンドレット 2】
$temp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\temp\UserRole.csv
※ C ドライブ直下の temp フォルダに UserRole.csv ファイルとして出力する場合の例です。
出力例
DisPlayName UserPrincipalName Name ObjectId Description
ユーザー01 admin01@contoso.com Global Administrator 62e90394-69f5-4237-9190-012177145e10 Can manage all aspects of Azure AD and Microsoft services that use Azure AD identities.
ユーザー01 admin01@contoso.com Exchange Administrator 29232cdf-9323-42fd-ade2-1d097af3e4de Can manage all aspects of the Exchange product.
ユーザー01 admin01@contoso.com Guest Inviter 95e79109-95c0-4d8e-aee3-d01accf2d47b Can invite guest users independent of the 'members can invite guests' setting.
ユーザー01 admin01@contoso.com SharePoint Administrator f28a1f50-f6e7-4571-818b-6a12f2af6b6c Can manage all aspects of the SharePoint service.
説明
・Name の値で管理者の役割が確認できます。
・管理者権限が付与されていないユーザーは出力されません。
・ 1 名のユーザーに複数の管理者権限が付与されている場合は、割り当てられている管理者権限の数だけ出力されます。
サインアウトする
Disconnect-MgGraph