LoginSignup
5
4

More than 5 years have passed since last update.

AzureADv2 PowerShellでアカウント操作

Last updated at Posted at 2018-09-05

1. はじめに

AzureADへの操作にはGUIとしてAzureポータルやOffice365ポータルがありますが、AzureAD PowerShellによりスクリプトからも操作することが可能です。

備忘録ですがAzureAD PowerShellのコマンドレットについてメモを残しておきたいと思います。まだ作成中なので随時更新予定です。

2. 概要

AzureAD PowerShellのモジュールは2種類存在しますが、今回は2の方を利用します。
1. MSOnlineモジュール(AzureADv1)
2. AzureAD for Graphモジュール(AzureADv2)
(1は主にOffice365の操作に使う,AzureADv2モジュールで対応しないコマンドの実行。またAzureADv2 previewなるものもありますが割愛します)

AzureADに対してカスタムドメイン(WindowsServerADドメイン)を追加してディレクトリ同期している場合、AzureADのアカウントだけでなくWindowsServerADのアカウントでも認証することができます。

ただMSOnlineモジュールの場合、カスタムドメインのユーザアカウントで認証できないようです(環境依存か)。カスタムドメイン内のアカウントで認証する場合にはAzureADv2(AzureAD for Graph)が必要になります。

3. AzureADv2モジュールのインストールと接続

3-1. WindowsServer2016でAzureADv2インストール

PowerShellを起動し以下を実行します。

Save-Module -Name AzureAD -Path "C:Program Files¥WindowsPowerShell¥Modules"
Install-Module -Name AzureAD

3-2. AzureADv2モジュールインポート/AzureAD接続

Import-Module -Name AzureAD
Connect-AzureAD

Connect-AzureADを行うとログインダイアログが出るのでADアカウントの資格情報を入力してサインインします。(Get-Credentialで完全にスクリプトにできるかは要確認)

4.アカウント操作系コマンドレット

4-1.ユーザアカウント属性情報の取得

$upn = "UserPrincipalName"
$user = (Get-AzureADUser -ObjectID $upn)
$user | Get-Member

$user | Select-Object -Property UserPrincipalName,Mail,DisplayName

Get-Memberコマンドレットでオブジェクトのプロパティ一覧を確認できます。

4-2.セキュリティグループのユーザ(UPN)一覧を取得

#$groupname = "mygroupname"
$group = Get-AzureADGroup -Filter "DisplayName eq '$groupname'"
$userlist = Get-AzureADGroupMember -ObjectId $group.ObjectId | FT UserPrincipalName

さらにユーザ一覧をCSVに出力する

$userlist | Select-Object -Property UserPrincipalName,Mail,DisplayName | Export-Csv -Path C:¥userlist.csv

Get-AzureADGroupMemberは規定では100アカウントまでしか取得できない。所属アカウントのすべての一覧が欲しい場合は-Allオプションを追加(要確認)

4-3.ユーザアカウントを指定グループに所属

$upn = "UserPrincipalName"
$groupname = "GroupName"
$user = (Get-AzureADUser -ObjectID $upn)
$group = Get-AzureADGroup -Filter "DisplayName eq '$groupname'"
Add-AzureADGroupMember -ObjectId $group.ObjectId -RefObjectId $user.ObjectId

5. ライセンス操作系コマンドレット

5-1.ユーザのライセンス情報取得 

$upn = "UserPrincipalName"
$userlicense = (Get-AzureADUserLicenseDetail -ObjectId $upn).ServicePlans

ライセンス付与などは要確認です。

6. 参考記事

Azure Active Directory の PowerShell モジュール
Azure Active Directory PowerShell for Graph

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4