以前、PowerShellのTeamsコマンドでの接続の仕方を書いていますが、今回はそのGraphAPI版となります
-
-
PowerShellのTeamsコマンドの接続時のやり方 - ナストンのまとめ
この記事で使用しているMicrosoftTeamsモジュールのバージョンは【6.0.0】を使用してとなります 接続する際 ...
関連記事へ
| 名称 | バージョン |
|---|---|
| PowerShell | 7.5.1 |
| Microsoft.Graph | 2.19.0 |
接続する際の種類
GraphAPIコマンドである『Connect-MgGraph』する際の方法をそれぞれ試してみます
引数に何も設定しない、または、インタラクティブ認証(デバイス認証)
Connect-MgGraph -NoWelcome
Connect-MgGraph -Scopes "User.Read", "Mail.ReadWrite" -NoWelcome # 実行する際に必要となる権限を選択してください
以下画像のようにサインイン画面が表示されるのでそこからアカウントを選択したりして接続します

GraphAPIを使用する際に必要となる権限については以下のMSドキュメントが参考になるかと思います
-
-
Microsoft Graph のアクセス許可のリファレンス - Microsoft Graph | Microsoft Learn
Microsoft Graph は、アプリがアクセスするリソース (ユーザー、グループ、メールなど) を制御する詳細なア ...
MSサイトへ
アクセストークンを使用した接続
あらかじめ、ユーザー名等を使用して取得したアクセストークンを使用します
$ReqUserTokenBody = @{
Grant_Type = "password"
username = $userName
password = $userPass
client_Id = $ApplicationId
Client_Secret = $ClientSecretValue
Scope = "Sites.ReadWrite.All" # Azureアプリに含まれていないとエラーが発生する
}
$TokenUserResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" -Method POST -Body $ReqUserTokenBody
$accessToken = $TokenUserResponse.access_token
Connect-MgGraph -AccessToken ($accessToken | ConvertTo-SecureString -AsPlainText -Force) -NoWelcome
クライアントシークレットを使用した接続(アプリケーション認証)
先ほどのアクセストークンと同じような感じで使用できます
$TenantId = "your_tenant_id"
$ClientId = "your_client_id"
$ClientSecret = "your_client_secret"
$ClientSecretCredential = New-Object System.Management.Automation.PSCredential($ClientId, (ConvertTo-SecureString -String $ClientSecret -AsPlainText -Force))
Connect-MgGraph -TenantId $TenantId -ClientSecretCredential $ClientSecretCredential -NoWelcome
証明書系
証明書の名前または、証明書の拇印の値を使用して認証する方法となります
# 証明書の名前の場合
$CertificateName = "証明書の名前(Azure上だと説明欄に表示される内容)"
Connect-MgGraph -TenantId $TenantId -ClientId $ClientId -CertificateName $CertificateName -NoWelcome
# 証明書の拇印の場合
$CertificateThumbprint = "証明書の拇印の値"
Connect-MgGraph -TenantId $TenantId -ClientId $ClientId -CertificateThumbprint $CertificateThumbprint -NoWelcome
Azure上に証明書があるのにできない
Azureの対象アプリに対して証明書をアップしたのに、Connect-MgGraphコマンドでエラーが発生して原因がわからず困っていましたが、
以下のサイトの下の方にある「Accepted answer」によると実行するクライアント側にも同じ証明書をインストールしている必要があるとのことでした
-
-
Certificate with thumbprint was not found in certificate store or has expired. - Microsoft Q&A
参考サイトへ
最後に
今回紹介したものはほんの一例となりますので、使用する環境にあった方法でGraphAPIに接続してみてください
会社紹介
私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています
会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造
この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています
ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します
-
-
アドバンスド・ソリューション株式会社|ADS Co., Ltd.
Microsoft 365/SharePoint/Power Platform/Azure による DX コンサル・シス ...
サイトへ移動