Microsoft365やMicrosoft Entra ID(旧AzureAD)へPowershellで接続するにはMicrosoft Graphに接続する必要がある。Microsoft Graph (マイクロソフト グラフ)は、Microsoft 365やAzure ADなど、Microsoftクラウドサービスのデータへのアクセスを提供するためのAPIとなる。
また、Teams へPowershell で接続する方法も記載する。チームメンバの一括登録や、チームの管理で便利になる。
PCの環境設定
いざ、接続しようとしてもそのままでは使えないので環境を設定する。
Powershellの実行ポリシーを変更する。
Powershellで作業するにあたり「このシステムではスクリプトの実行が無効になっているため、~」云々のエラーがでいるのでPowershellを起動して下記コマンドで実行ポリシーを変更しておく。
現在の設定を確認する。
PS> Get-ExecutionPolicy
実行するといずれかの出力があり、以下の通り。特に変更していなければRestriced と表示され、スクリプトの実行が禁止されている。
<ポリシー一覧>
ポリシー名 | 内容 |
Restricted | スクリプトの実行を完全に禁止(デフォルト) |
AllSigned | 信頼された発行者による署名付きスクリプトのみ実行可能 |
RemoteSigned | ダウンロードしたスクリプトは署名が必要 |
Unrestricted | すべてのスクリプトを実行可能(警告は出る) |
Bypass | 制限なし |
Restricted と表示されている場合はポリシーを変更する必要がある。
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-ExecutionPolicy でポリシー名を指定して、-Scope で対象範囲を指定する。
<Scope オプション一覧>
Scope名 | 対象範囲 | 内容 |
Process | 開いているPowerShell セッションのみ | 一時的に変更する。ウィンドウを閉じると元に戻る |
CurrentUser | 現在ログインしているユーザー | 現在PCにログインしているユーザにのみ適用 |
LocalMachine | コンピューター全体(すべてのユーザー) | 管理者権限が必要で全ユーザーに適用される |
UserPolicy | グループポリシーで設定されたユーザー用ポリシー | ADのグループポリシーによる設定 |
MachinePolicy | グループポリシーで設定されたマシン用ポリシー | ADのグループポリシーによる設定 |
モジュールのインストール
GraphまたはTeams に接続するのに必要なモジュールをインストールする。以下のコマンドを実行する。モジュールのインストールは10分くらいかかるかもしれない。
Graph
PS> Install-Module Microsoft.Graph
Teams
PS> Install-module microsoftteams
接続してみる
パソコンの環境が整ったら実際に接続。以下のコマンドで接続する。
Graph
PS> Connect-MgGraph
Teams
PS> Connect-MicrosoftTeams
コマンド実行すると以下の認証画面が表示されるので接続ユーザで認証する。対象テナントにたいして管理者権限が必要な操作を行う場合は、管理者ロールを付与しているアカウントでログインする。

認証に成功するとWelcome to Microsoft Graph!と表示される。Teamsの場合はアカウント名やテナントIDが表示される。
PS > Connect-MgGraph
Welcome to Microsoft Graph!
動作確認
Graph
Microsoft Entra ID(AzureAD)のユーザを取得してみる。
PS> Get-MgUser
正常に接続できていれば、EntraIDにいるユーザが表示される。
Teams
PS> Get-Team
正常に接続できていれば、テナントに存在するチーム一覧が表示される。
コメント