【Azure AD】3 種類の PowerShell モジュール

Azure 技術情報

旧モジュールと新モジュールの特徴、接続方法や簡単なコマンドの実行例を紹介します。

現在 AzureAD PowerShell のモジュールは主に 3 種類存在し、以下の順でリリースされています。

  1. MSOnline (Azure AD v1)
  2. Azure AD for Graph (Azure AD v2)
  3. Microsoft Graph PowerShell SDK

今後は全て Microsoft Graph PowerShell SDK に移行されるようですが、一部サポートされていない機能もあるようです。

以下コマンド実行することで、管理端末にインストールされているモジュールの確認が可能です。

Get-InstalledModule
  • PowerShell は全て管理者として実行しています。
  • PowerShell スクリプトの実行は許可されています。

MSOnline (Azure AD v1)

Office 365 管理者にとっては馴染み深いモジュールです。コマンドに msol が含まれているのが特徴です。

インストール

インストールを実行します。

Install-Module -Name MSOnline

確認メッセージが表示されるので、全て y と入力し、Enter キーを押下します。

接続

接続します。

Connect-MsolService

ユーザー アカウントの管理

簡単な接続例を紹介します。

取得

ユーザー一覧を表示します。

Get-MsolUser

特定ユーザーの詳細なプロパティを表示します。

Get-MsolUser -UserPrincipalName <ユーザーUPN> |fl

特定ユーザーの特定のプロパティを表示します。

Get-MsolUser -UserPrincipalName <ユーザーUPN> |select DisplayName,Country,City,Office

作成

新規ユーザーを作成します。

New-MsolUser -UserPrincipalName "kinoue@officeup.jp" -DisplayName "井上 和子" -FirstName "和子" -LastName "井上"

更新

DisplayName (表示名) プロパティを設定/更新します。

Set-MsolUser -UserPrincipalName "kinoue@officeup.jp" -DisplayName "木村 和子"

Azure AD for Graph (Azure AD v2)

MSOnline の時期バージョンですが、MSOnline の機能を網羅できていないため、併用されることが多いいようです。
以下 2 種類ありますが、機能が重複することも多いため、preview 版についての説明は割愛させて頂きます。

  • Azure AD for Graph (Azure AD v2)
  • Azure AD for Graph preview (Azure AD v2 preview)

※ Azure AD v2 がインストールされている管理端末に、Azure AD v2 preview をインストールする場合、Uninstall-Module -Name AzureAD コマンドを実行する必要があります。

インストール

インストールを実行します。

Install-Module -Name AzureAD

確認メッセージが表示されるので、全て y と入力し、Enter キーを押下します。

接続

Azure AD の管理者アカウントでログインを実施します。

Connect-AzureAD

ユーザー アカウントの管理

簡単な接続例を紹介します。

取得

ユーザー一覧を表示します。

Get-AzureADUser -All $true

特定ユーザーの詳細なプロパティを表示します。

Get-AzureADUser -ObjectId <オブジェクトID> |fl

特定ユーザーの特定のプロパティを表示します。

Get-AzureADUser -ObjectId <オブジェクトID> |select DisplayName,Country,City

作成

新規ユーザーを作成します。

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password = "<P@ssw0rd!!>"
New-AzureADUser -DisplayName "林 健一" -PasswordProfile $PasswordProfile -UserPrincipalName "khayashi@officeup.jp" -AccountEnabled $true -MailNickName "khayashi"

更新

MailNickName プロパティを設定/更新します。

Set-AzureADUser -ObjectId <オブジェクトID> -MailNickName "kehayashi"

切断

切断します。

Disconnect-AzureAD

Microsoft Graph PowerShell SDK

Graph API を使用した新しいモジュールです。今後の主流となりそうです。

インストール

インストールを実行します。

Install-Module Microsoft.Graph -Scope CurrentUser

多くのモジュールがインストールされるため、10 分ほど時間がかかります。
確認メッセージが表示されるので、全て y と入力し、Enter キーを押下します。

接続

Azure AD の管理者アカウントでログインを実施します。

Connect-MgGraph -Scopes "User.ReadWrite.All, Directory.ReadWrite.All"

接続に成功すると以下のメッセージが出力されます。

Welcome To Microsoft Graph!

Scopes オプションは、リソースにアクセスする範囲と権限を指定するオプションです。
Microsoft Graph のアクセス許可名は、「リソース.操作.制約」となります。
アクセス許可の詳細は以下です。

Microsoft Graph のアクセス許可のリファレンス

ユーザー アカウントの管理

簡単な接続例を紹介します。

取得

ユーザー一覧を表示します。

Get-MgUser

特定ユーザーの詳細なプロパティを表示します。

Get-MgUser -UserId <ユーザーID> |fl

※ -UserId は UPN 指定も可能です。

特定ユーザーの特定のプロパティを表示します。

Get-MgUser -UserId <ユーザーID> |select DisplayName,UserPrincipalName,Mail,JobTitle,OfficeLocation

以下出力結果です。

DisplayName       : 森尾 真一
UserPrincipalName : s.mori@officeup.jp
Mail              : mori@officeup.jp
JobTitle          : 課長
OfficeLocation    : 川崎

作成

新規ユーザーを作成します。
ユーザー情報を配列として格納し、New-MgUser コマンドで作成します。

$params = @{
    AccountEnabled    = $true
    DisplayName       = "荒川 文雄"
    MailNickname      = "farakawa"
    UserPrincipalName = "farakawa@officeup.jp"
    PasswordProfile   = @{
        ForceChangePasswordNextSignIn = $true
        Password                      = "xWwvJ]6NMw+bWH-d"
    }
}

New-MgUser -BodyParameter $params

更新

OfficeLocation (事業所) プロパティを設定/更新します。

Update-MgUser -UserId <ユーザーID> -OfficeLocation "川崎"

切断

切断します。

Disconnect-MgGraph

コメント

タイトルとURLをコピーしました