はじめに
Microsoft Graph PowerShell を使用すると、PowerShell コマンドで Graph API を実行することができます。
この記事では Microsoft Graph PowerShell のインストール方法についてまとめました。
※ Graph PowerShell の使い方については、以下の記事で紹介しています。
- 認証方法について
- Graph API の実行方法について
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 の場合のみ) 管理者権限で 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" と記載されています。