Gluegent Blog

Gluegent Blog

Microsoft 365にPowerShellで接続する方法

  • Gluegent Gate
  • 技術
Microsoft 365にPowerShellで接続する方法

はじめに

本日のBlogは、PowerShell から Microsoft 365 に接続する方法をご紹介します。

MS365の管理者画面では、確認することができない値など確認したい場合、MS365にPowerShellで接続することにより、様々な値を確認することができます。
例えば、MS365とGluegent GateをSSOする際に使用される値、「ImmutlbeID」の値を確認することができます。

接続方法を簡単にご紹介します。

Microsoft Graph PowerShell のインストール


1. Windows PowerShellを起動する。 Windowsキー押下-「Windows PowerShell」と入力、「開く」をクリックする。

ms_powershell_1.png

2. 以下コマンドを実行。
PowerShell スクリプト実行ポリシーを、リモート署名済みまたは制限の少ない設定にする。

>Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

3. 実行ポリシーの変更に同意する。[A]を入力する。

[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] す べて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y

4. 以下コマンドを実行。Microsoft Graph PowerShellをインストールする。
※1 NuGet プロバイダー関連のメッセージが表示された場合は、本記事の最下部に記載した「※ 1 NuGet プロバイダーの対応」を参照

>Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force

5. 以下コマンドを実行。モジュールがインストールされたことを確認

>Get-InstalledModule Microsoft.Graph

6. 以下コマンドを実行。MS365に接続する。

>Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

7. MS365に接続する。ユーザ情報を入力する。(この画面は、すでにMS365に接続済みユーザが表示されている)

ms_powershell_2.png

8. 以下メッセージが表示されることを確認する

>Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

Welcome to Microsoft Graph!

Connected via delegated access using *******-********-**********-**********
Readme: https://aka.ms/graph/sdk/powershell
SDK Docs: https://aka.ms/graph/sdk/powershell/docs
API Docs: https://aka.ms/graph/docs

NOTE: You can use the -NoWelcome parameter to suppress this message.

9. 以下コマンドを実行。MS365からユーザ情報を取得。ユーザ情報が取得できていること確認。

>Get-MgUser


DisplayName                                           Id                                   Mail

-----------                                           --                                   ----

テスト                                           A*******-****-****-****-********

10. 以下コマンドを実行し特定ユーザの細かい情報を取得する。UserIDの引数は、「9」で確認したidを指定する。
ImmutableId など細かい値の確認が可能。

>Get-MgUser -UserId A******-****-****-****-******** | fl

結果抜粋

OnPremisesDistinguishedName           :
OnPremisesDomainName                  :
OnPremisesExtensionAttributes         : 
OnPremisesImmutableId                 :*******************************
OnPremisesLastSyncDateTime            :
OnPremisesProvisioningErrors          :
OnPremisesSamAccountName

11. 作業が終わった後は、必ず以下コマンド実行する。MS接続情報が保持されるため、作業が終わったらセッションを破棄する。

>Disconnect-MgGraph

※ 1 NuGet プロバイダーの対応

「Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force」コマンドを実行したあと、「 NuGet プロバイダー」が必要ですと表示された場合、Yを選択する。

インストールに10分程度かかる場合もある。

続行するには NuGet プロバイダーが必要です

PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGetプロバイダーが必要です。
NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または
'C:\Users\*******\AppData\Local\PackageManagement\ProviderAssemblies'
に配置する必要があります。'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force' を実行して NuGetプロバイダーをインストールすることもできます。
今すぐ PowerShellGet で NuGet
プロバイダーをインストールしてインポートしますか?

[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): y

以上になります。

PowerShellを利用する際の参考になれば幸いです。