【AzureAD】 Microsoft Graph PowerShell(mg-graph)でユーザ属性の取得

IT

従来の、Microsoft Azure Active Directory(Connect-AzureAD)の、廃止が発表され、
新しく、Microsoft Graph PowerShell(Connect-MgGraph)の利用が必要になったため、
MgGraphでのユーザ取得を行おうと思います。

MgGraphのインストール

Step1. Powershellを管理者実行
Step2. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
で、excecution policyを変更しておきます。

Step3. Install-Module Microsoft.Graph -Scope CurrentUser
で、後は指示に従ってインストールを実施します。

AzureADへの接続

Step1.Powershellに対して、Connect-MgGraph -Scopes "User.Read.All" の実行
Step2.認証が求められるのでサインイン

Step3.認可範囲が求められるので、そのまま承諾
「組織の代理として同意する」にチェックを入れると、アプリケーションとして、
全てのユーザ情報を読み取ることになります。サインインしたユーザの権限内での操作であればそのままチェックなしに、承諾でいいかと思います。

Get-MgUserを利用して、ユーザ情報を取得する

Step1. Get-MgUser -UserId (UPN or ObjectId)

Get-MgUserを普通に使っても取れない属性がある?

上述の、Get-MgUserを使っただけでは、MailNicknameの属性等が無いことがわかります。

Connect-AzureAD時代の、Get-AzureADUserだと、同じユーザに対しても、きちんとMailNickNameが取れていることが分かります。

こういった、Get-MgUserを使っても一見取れていない属性があります。
この場合には、きちんとPopertyの引数を使って取得する属性を指定する必要があります。
(属性指定がなければ、どうも、一部の属性しかとってきていない?)

Get-MgUser -UserId "bcc_collect@remakere.jp" -Property id,DisplayName,Mail,UserPrincipalName,MailNickname | select id,DisplayName,Mail,UserPrincipalName,MailNickname

のように、Propertyでも、きちんと全部指定したうえで、表示させると情報を取ってくることができます。

コメント

タイトルとURLをコピーしました