やりたかったこと
AzureのADのユーザーを管理するために、登録されているユーザ一覧が欲しかった。
AzurePortal上ではスクロールでしか確認できないので、数百人~数千人のユーザーを一括で取得するためにWindows PowerShellからエクスポートを行った。
そのときはまったことと、備忘のまとめ。
##PowerShellの起動
管理者権限で起動すること。
Windowsの窓からWindowsPowerShellを検索し、右クリックで管理者権限で起動する。
##AzureADのモジュールインストール
Install-Module -Name AzureAD
プロバイダが必要、といわれるのでYまgたはAで許可。
AADモジュールのインストールが行われる。
##AzureADへの接続
Connect-AzureAD -TenantId ***
***は接続したいテナントを指定。
このとき、ハイフンでテナントIDを指定しないと既定のテナントに飛ばされる。
既定といっても、何で既定と判断されているかはわからなかったが、
テナントを複数所持している場合、この指定を付けた方が効率良いはず。
##csv出力
$users = Get-AzureADUser -All $true
$users | Select-Object DisplayName, Surname, GivenName, Mail, UserType,JobTitle | Export-csv -NoTypeInformation -Encoding UTF8 c:\ADDcsv\OutPut.csv
Select以降はcsvに出力したい値を指定する。今回は、セキュリティ管理としてユーザーの情報が必要だったため、属性までを取得している。
c:\ADDcsv\OutPut.csvの部分は任意のディレクトリと出力したいファイル名を指定。
Encodingはいくつかあるが、今回はUTF8で取得した。
##ハマったこと
AzureADを一度アンインストールし、再度最新をインストールしようとしたとき、どうしてもうまくいかなかった。色々やったが以下のエラーから抜け出せなかった。
署名が無効といわれる。おそらく署名認証のための連続仮想メモリが足りないことが原因と思われるが、時間がなかったため以下のコマンドで抜け出した。
Install-Module -Name AzureAD -SkipPublisherCheck
もっといいやり方があると思うが。。