はじめに
Microsoft Graph PowerShell を使用すると、PowerShell コマンドで Graph API を実行することができます。
この記事では Microsoft Graph PowerShell のインストール方法についてまとめました。
Microsoft Graph PowerShell とは?
"Microsoft Graph PowerShell" とは、PowerShell から Graph API を実行することができるモジュールです。"Graph PowerShell SDK" と表記されることもあります。この記事では "Graph PowerShell" と記載しています。
名前に "Microsoft" と付いていますが、Microsoft 社の製品ではなく、Github で公開されているオープソースソフトウェア (OSS) です。
Graph PowerShell は OSS のため、公開情報が英語しか用意されてなかったり、不具合等については Github の Issue でコミュニティに質問する必要があります。
(参考:Microsoft Graph PowerShell)
https://github.com/microsoftgraph/msgraph-sdk-powershell
Graph PowerShell のインストール
Graph PowerShell には以下の 2 つのインストール方法があります。
- オンライン インストール
インターネットからダウンロードしてインストールする方法 - オフライン インストール
インターネットへのアクセスが制限されている端末に手動でモジュールのファイルを配置する方法
Graph PowerShell は以下のバージョンの PowerShell で利用できます。
- Windows PowerShell 5.1 以降
NET Framework 4.7.2 以降が必要 - PowerShell 7
オンライン インストール
PowerShell から Install-Module コマンドで "Microsoft.Graph" モジュールをインストールします。
- (Windows PowerShell の場合のみ) 以下のコマンドを実行します
# リモート署名済みの PowerShell スクリプトの実行を許可します Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # PowerShellGet モジュールを最新化します Install-Module -Name PowerShellGet -Force -AllowClobber
- 以下のコマンドを実行します
Install-Module Microsoft.Graph -Scope CurrentUser
- メッセージが表示されたら "A" と入力して Enter キーを押します
- インストールが完了するまでしばらく待ちます
"Microsoft.Graph" モジュールは "Microsoft.Graph.Users" や "Microsoft.Graph.Teams" といった多数のモジュールで構成されています。
以下のコマンドを実行すると、インストールされたモジュールを確認することができます。
Get-InstalledModule "Microsoft.Graph*"
Version Name Repository Description
------- ---- ---------- -----------
2.28.0 Microsoft.Graph PSGallery Microsoft Graph PowerShell module
2.28.0 Microsoft.Graph.Applications PSGallery Microsoft Graph PowerShell Cmdlets
2.28.0 Microsoft.Graph.Authentication PSGallery Microsoft Graph PowerShell Authenticatio…
2.28.0 Microsoft.Graph.BackupRestore PSGallery Microsoft Graph PowerShell Cmdlets
...
(参考:Microsoft Graph PowerShell を使用して Microsoft 365 に接続する)
https://learn.microsoft.com/ja-jp/microsoft-365/enterprise/connect-to-microsoft-365-powershell?view=o365-worldwide
アンインストール
アンインストールは "Uninstall-Module" コマンドで行います。
Uninstall-Module -Name "Microsoft.Graph"
Get-InstalledModule -Name "Microsoft.Graph.*" | where {$_.Name -ne "Microsoft.Graph.Authentication"} | Uninstall-Module
Uninstall-Module -Name "Microsoft.Graph.Authentication"
モジュールの依存関係のため、上記のコマンドのように順番にモジュールをアンインストールする必要があります。
ベータ版モジュールについて
Graph API には正式版 ("v1.0") とベータ版 ("beta") の 2 種類があります。ベータ版には一般公開前のプレビュー段階の API が含まれています。
ベータ版の Graph API を使用したい場合には、"Microsoft.Graph.Beta" モジュールをインストールします。
Install-Module Microsoft.Graph.Beta -Scope CurrentUser
(参考:Microsoft Graph REST API ベータ版のエンドポイント リファレンス)
https://learn.microsoft.com/ja-jp/graph/api/overview?view=graph-rest-beta
オフライン インストール
インターネットからモジュールをダウンロードできない環境の場合は、必要なモジュールを手動で配置してインストールします。
Install-Module コマンドでは自動的にすべてのモジュールがインストールされますが、オフライン インストールの場合はモジュールごとに手動でダウンロードが必要です。
例えば、ユーザーに関する Graph PowerShell を利用したい場合には、以下のように "Microsoft.Graph.Authentication" と "Microsoft.Graph.Users" モジュールを配置します。
"Microsoft.Graph.Authentication" は Graph PowerShell を実行するために必ず必要なモジュールです。
- インターネットにアクセスできる環境で PowershellGallery から各モジュールのパッケージ (.nupkg) をダウンロードします
Microsoft.Graph.Authentication
Microsoft.Graph.Users
- ダウンロードした ".nupkg" ファイルをのパスを指定して、以下のコマンドを実行します
Unblock-File -Path 'C:\Downloads\microsoft.graph.users.2.28.0.nupkg' Unblock-File -Path 'C:\Downloads\microsoft.graph.authentication.2.28.0.nupkg'
- ".nupkg" ファイルの拡張子を ".zip" に変更して、展開します
- 展開した各モジュールのフォルダ内から以下を削除します
- 各モジュールのフォルダ名から末尾のバージョン情報を削除します
- Graph PowerShell を実行したい端末へ、各モジュールのフォルダを配置します
以下のコマンドの実行結果に含まれるパスへ配置します※ 配置先の例$env:PSModulePath
- Windows PowerShell の場合
C:\Program Files\WindowsPowerShell\Modules
- PowerShell 7 の場合の例
C:\Program Files\PowerShell\Modules
- Windows PowerShell の場合
- 以下のコマンドを実行してエラーが表示されないことを確認します
Import-Module -Name "Microsoft.Graph.Authentication" Import-Module -Name "Microsoft.Graph.Users"
(参考:Install the Microsoft Graph PowerShell SDK)
https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation?view=graph-powershell-1.0
(参考:パッケージの手動ダウンロード)
https://learn.microsoft.com/ja-jp/powershell/gallery/how-to/working-with-packages/manual-download?view=powershellget-3.x
アンインストール
アンインストールは配置した各モジュールのフォルダを削除することで行います。
補足
モジュールの依存関係の確認方法
モジュールが依存しているモジュールは PowershellGallery から確認することができます。
モジュールを利用するためには、そのモジュールが依存しているモジュールも併せてインストールする必要があります。
-
PowershellGallery で [Package Details] をクリックします
- 画面をスクロールして [Dependencies] にそのモジュールが依存しているモジュールが記載されています
"Microsoft.Graph.Authentication" モジュールのように、依存しているモジュールがない場合は "This module has no dependencies" と記載されています。