🐚

MS Graph API を MS Graph PowerShell から実行する

2023/04/06に公開

はじめに

Azure AD や Microsoft 365 をコマンドで操作する場合、 MS Graph PoweShell を使うことが多いですが、発展途上のためすべての API に対応するコマンドが準備されていません。そのため、マイナーな操作を行う場合はどうしても API を直接叩く必要があります。
このとき、トークンなどの前処理が結構面倒なので、MS Graph PoweShell にある Invoke-MgRestMethod を使って簡単に実行します。

実行方法

MS Graph PowerShell にログインして、Invoke-MgRestMethod を実行します。MS Graph PowerShell がトークンの処理を実施してくれるので、HTTP ヘッダの準備は不要で、Method と Uri、Body を指定すれば実行できます。

# ログイン
Connect-MgGraph -scopes User.ReadWrite.All

# ユーザー一覧の取得
Invoke-MgRestMethod -Method GET -Uri "https://graph.microsoft.com/v1.0/users" | ConvertTo-Json

# ユーザーの作成
$body=@"
{
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@skyblueworks.com",
  "passwordProfile" : {
    "forceChangePasswordNextSignIn": true,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}
"@

Invoke-MgRestMethod -Method POST -Uri "https://graph.microsoft.com/v1.0/users" -Body $body
Microsoft (有志)

Discussion