Azure AD PowerShell v2チートシート

皆さんこんにちは。国井です。
Azure ADのPowerShellもVersion 2が出てきており、
そろそろ実務でも使う機会が出てきているので、このあたりで一度、主なコマンドレットをまとめておきたいと思います。(というか、自分用?)

■まずはAzure AD PowerShell v2の実装
以下のサイトでも紹介されているように、Install-ModuleコマンドレットでAzure AD PowerShell v2はインストールできます。
びっくりするくらい面倒な操作は一切不要。便利な世の中になったものですね。
https://www.powershellgallery.com/packages/AzureAD/2.0.0.115

■Azure AD に接続
ここからはAzure AD PowerShell v1と比較しながら見ていきましょう。
まずAzure ADをPowerShellから操作するときは接続操作が必要です。
(上段がv1の操作、下段がv2の操作です)

■ユーザー一覧の確認
こちらはAzure ADのユーザー一覧を参照するときのコマンドレットです。

■ユーザー一覧の確認
この間、お客さんにAzure AD Connectで同期されたユーザーが誰か知りたいと質問されたので、載せておきます。同期されたユーザーの場合、ImmutableID属性に値を持ちます。

■CSVファイルに基づくユーザーの作成
ユーザーを作成するときは、v1だとNew-MsolUser、v2だとNew-AzureADUserコマンドレットを使うのですが、CSVファイルで作成しておいたユーザー一覧を流し込んで作成するときは以下のとおりになります。ちなみに、v1とv2では必須パラメーターが異なるので、用意しておくべきCSVファイルも異なってきます。
例えば、v1だとCSVで指定したパスワードをそのまま流し込むことができたり、ライセンスの割り当てができたりするのですが、v2だとパスワードは事前にMicrosoft.Open.AzureAD.Model.PasswordProfileというオブジェクトを呼び出して、パスワードを登録しなければならないなど、v1に比べると面倒なことが増えてます(必須パラメーターも増えてますし)。

■グループ一覧の確認
こちらはAzure ADのユーザー一覧を参照するときのコマンドレットです。

■新しいグループの作成
v1ではグループを作成するときにグループ名だけ指定すれば出来上がりですが、v2ではメールが有効なグループ(Office 365のグループ)にするか?、セキュリティが有効なグループにするか?など指定しなければならないパラメーターが増えています。

■グループにメンバーを追加
グループにメンバーを追加するときには、ユーザーの属性をベースに自動的にメンバーを追加・削除できるようにしたいですよね?Azure AD Premiumを買えば、そんな問題はすぐに解決できるのですが、地道にPowerShellでやりたい人はこちらからどうぞ。
ちなみに、例文では[利用場所]属性がJPだったら、、という条件の時にグループのメンバーになるように設定しています。

■ライセンスの確認
ライセンス割り当てをするときは、ライセンス名を確認しておかないといけません。なので、こちらのコマンドレットでどうぞ。

■ユーザーにライセンスを割り当て
確認したらライセンスを割り当てるときは、v1だとSet-MsolUserLicense、v2だとSet-AzureADUserLicenseコマンドレットを使います。ただ、v2の場合、Get-AzureADSubscribedSkuコマンドレットで確認したライセンス名をそのまま指定することはできず、型の変換をする必要があります。

■パスワードのリセット
おひとり様のパスワードリセットだったらブラウザーから操作したほうが簡単だと思いますが、念のため。

■ユーザー一律のパスワードを再設定
ユーザー全員のパスワードを一律で設定する場面というのは、Office 365の管理画面からCSVファイル経由でユーザーをまとめて作成した時なんかが考えられます。Office 365の管理画面からCSVファイル経由でユーザーを作成すると、パスワードはランダムなものが割り当てられてしまうので、それをしたくない時なんかに使うことになります。
v2の場合、Set-AzureADUserPasswordコマンドレットから平文のパスワードを指定できないので、事前にConvertTo-SecureStringコマンドレットを使ってパスワードを暗号化(変換)しています。

■Azure ADのポリシー作成
Azure ADのポリシーが何か?という話は別の機会にすることにして、具体的に利用する場面はADFSサーバーから発行されるトークンのライフタイムを短くしたいときなどに使います。詳しくは以下のサイトでご覧ください。(このコマンドレットはv2限定です)
https://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-configurable-token-lifetimes

■Azure ADのポリシーに値を設定
作成したポリシーに値を設定していくコマンドレットです。

■Azure ADから切断
v1にはなかった、Azure ADの切断もv2なら用意されています。今までだったらコンソール自体を終了することでしか切断できなかったので、なにげにうれしい。

v2のコマンドレットを使ってオブジェクトを指定するときはユーザー名やグループ名ではなく、オブジェクトIDで指定します。ところが、オブジェクトIDの代わりにユーザー名やグループ名を指定しても問題ないコマンドレットもあるんですよね。ですので、今回のチートシートにはオブジェクトIDを使わなくて良いものに関しては、できるだけユーザー名やグループ名を指定するようにしました。

アプリケーション管理系のものとかが含まれていませんが、順次増やしていけたらと思います。

■参考資料 (今日、紹介できなかったアプリケーション管理系のものが掲載されています)
https://vincentlauzon.com/2017/02/02/automating-azure-ad/
https://blogs.msdn.microsoft.com/edutech/administration/script-bulk-assign-users-to-saas-application-using-graph-api-adal/

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*