LoginSignup
6
4

More than 5 years have passed since last update.

Azure ADでメンバーを出力するお話

Posted at

1 はじめに

業務の都合上、オンプレのADからAzureに移行したい。
出力はPowershellで実施する。
やりたいことは既存メンバーの特定グループへの権限追加。

その為に、現在のObject-IDが必要なので出力する。

がデフォルトで100人までしか出力できない。これは困った!
という事象の解決方法。

2 使用環境準備

環境は2.0以降を推奨。
できることが増えているので。

Azure Active Directory でグループを管理するための PowerShell の例
https://docs.microsoft.com/ja-jp/azure/active-directory/users-groups-roles/groups-settings-v2-cmdlets

上記リンクを参考にインストール、インポートを実施。

PS C:\Windows\system32> install-module azuread
PS C:\Windows\system32> import-module azuread

環境構築は完了。

念の為Ver確認。
PS C:\Windows\system32> get-module azuread

以下の文字列が返ってきてVerがわかります。
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2.0.1.16 AzureAD {Add-AzureADApplicationOwner, Add-AzureADDeviceRegisteredO...

3 実施手順

 3-1 PowerShellを起動しAzureADに接続

Connectします。
PS C:\Windows\system32> Connect-AzureAD

3-2 ログインの画面が出るので資格情報を入力。

アドレスとパスワードです。

Powershellの画面に戻ります。

3-3 インポートするグループがあることを確認。

PS C:\Windows\system32> get-azureadgroup

返り値として一覧が出力されることを確認。
(環境次第ですがもっといっぱい出ます)
ObjectId DisplayName Description
-------- ----------- -----------
aaaaaaaa-bbbb-cccc-dddd-xxxxxxxxxxxx test-group テスト用Group

ここのObjectIdを控えます。使うので。

3-4 ユーザー情報を出力。

get-azureadgroup -SearchString "test-group" | Get-AzureADGroupMember

ここで詰まりました。
何度やっても100人しか出ない。。。

調べたところAllの引数を入れれば使えるとのこと。

やったろうやんけ。
と思ったけどエラーコードバンバン返ってくる。

よくよく見たらAllの引数渡した時にプール値が必要らしい。今回は1で設定。
デフォルト100っていう制限もなんとかしてもらいたいもんだが。。。仕方ない。

Get-AzureADGroup -ALL 1 -Filter "DisplayName eq 'test-group'" | Get-AzureADGroupMember -ALL 1

$Trueでも実施可能。$True=1みたいなもんですな。
Get-AzureADGroup -ALL $True -Filter "DisplayName eq 'test-group'" | Get-AzureADGroupMember -ALL $True

返り値はこんな感じ。
ObjectId DisplayName Description
-------- ----------- -----------

11111111-2222-3333-4444-xxxxxxxxxxxx 中原 一也 xxxxxx.xxxxxxxxx@aaaaa.co.jp Member

ObjectId
ユーザーのObject-Id 紐付けの際に使用します。
DisplayName
ユーザー名です。
Description
メールアドレスです。

一番右は原則Memberかと思います。
場合によってはOwnerのパターンもありますが。

これで全員分のObject-Idが出力できたのでそれを紐付け。
Add-AzureADGRoupMember -objectId aaaaaaaa-bbbb-cccc-dddd-xxxxxxxxxxxx -RefObjectId 11111111-2222-3333-4444-xxxxxxxxxxxx

こんな感じでいい感じに整型できたら流し込みます。

4 参考にしたサイト

Managing Office 365 Groups Using Azure AD Powershell V2
https://drewmadelung.com/managing-office-365-group-using-azure-ad-powershell-v2/

まとめ

Azureとは言え、Powershellみが強いなと思いました。
ただ、固有のConnectする時のGUIとかあるのでフルCLIでやりたい場合は別の方の記事を参考にするといいでしょう。

Blogもやってます。基本アウトプットはそっちでやろうと思ってます。
https://natsuo.jp/

6
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
6
4