本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Azure Automationを使ったMicrosoft 365グループ作成」を再編集したものです。
前書き
本記事ではAzure AutomationでのMicrosoft 365関連のPowerShellスクリプト実行について解説します。
今回は一例としてMicrosoft 365グループの作成を実行します。
Microsoft 365グループとは、TeamsやSharePointが利用できるグループのことです。
この記事では下記の内容を実現します。
・Azure Automationを使ってPowerShellを実行する
・各種GraphAPIの権限をAutomationアカウント(Managed Identity)に付与する
・M365グループ作成をGraphのコマンドで実現する
1. Azure Automationアカウントを作成する
Azure PortalからAzure Automationアカウントを作成します。
作成をクリックして完了です。
2. AutomationにPowerShell モジュールを登録する
下記モジュールを追加します。
・Microsoft.Graph.Authentication
・Microsoft.Graph.Groups
・Microsoft.Graph.Teams
・Microsoft.Graph.Users
・Microsoft.Graph.Users.Actions
3. AutomationアカウントのマネージドIDへ権限付与
ユーザー権限を利用せずにAzure Automationアカウントの権限でスクリプトを実行するため、 Azure AutomationアカウントのマネージドIDに権限を付与します。
まずはAzure PortalからマネージドIDの情報ををコピーします。
取得する情報はAzure Automationアカウント>アカウント設定>IDまで遷移した先のオブジェクト(プリンシパル)IDです。
次にローカル環境から下記のコマンドを実行して権限を付与します。
今回はMicrosoft 365グループを作成するために必要な権限を設定しています。
4. Azure AutomationでRunbookを作成する
後半戦です!
Azure PortalのAzure Automationアカウントの管理画面に移動しましょう。
Runbookを作成して下記スクリプトを登録後、テスト実行してみましょう。
マネージドIDを使うと認証周りがすっきりしますね。
正しくコマンドが動くと下記の画面が表示されます。MailNicknameが1件取得できていれば成功です。
補足:記事作成中に詰まったポイント
Runbookでコマンドを実行する際にこんなエラーが出ました。むむ、Connect出来ていない。
モジュールMicrosoft.Graph.Authenticationの一部のランタイムバージョンにおいて、このエラーが発生するようです。
今回は1.9.6のモジュールを特定してインポートして解決しました。
参考URL https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/1439
対象のモジュールは下記スクリプトで取得できます。
ファイルが作成出来たらAzure PortalのAzure Automationアカウント>共有リソース>モジュール>モジュールの追加をクリック
アップロード種別に「ファイルの参照」を選択、
ZIPファイルを指定してインポートすればモジュール更新完了です。
5. 実行したいコマンドを登録する
詰めに入ります。
下記のスクリプトをRunbookに登録して実行しましょう。
内容はMicrosoft 365グループを作成するスクリプトです。実行する場合は$groupDisplayNameから$descriptionを任意の値に修正して実行してください。
実行してエラーが出なければ成功です。
Microsoft 365管理センターなどからグループが作成されたことを確認しましょう。
おわり:この仕組みの使い道について
今のままではスクリプトにパラメーターがハードコーディングされていて使い物になりません。
下記を実現して自動化することで初めて本領を発揮します。
1. 何かのトリガーから発火
2. Runbook実行
3. 結果(成功/失敗)を通知
4. 作業ログを記録
活用例についても別の記事で紹介しようと思います。
神守 広介/FIXER
株式会社FIXERにてCorporate IT業務をエンジョイしてます。
この連載の記事
-
TECH
AzureストレージアカウントのPremiumなオプションを覚えてみる -
TECH
データ分析を楽しみながら学ぼう! Microsoft Fabricコミュニティとは -
TECH
通常2万円が無料! 「Microsoft Fabric」のMCP資格(DP-600)を受験しよう【2024年末まで!】 -
TECH
法人向け「Microsoft Entra ID P2ライセンス」を個人で購入する方法 -
TECH
環境ごとに異なるTerraformのバックエンド設定を効率化、override.tfの使い方 -
TECH
Azure FunctionsとAzureのサービスを連携させる方法 -
TECH
PlaywrightをAzure Functionsにデプロイして動かす方法 -
TECH
Windows Admin Centerとは? ― 2020年代の新しい運用管理のカタチ -
TECH
Azureの管理コスト削減! リソースのタグ付けを自動化しよう -
TECH
Logic Appsでリソースのサブスクリプションを移動させる方法+注意点 -
TECH
生成AIで大注目のOpen InterpreterとAzure CLIを使ってリソースを自動作成してみた - この連載の一覧へ