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/