Office 365グループの一覧とメンバーを取得するPowerShellスクリプト(多要素認証対応)

Office 365グループの一覧とメンバーを取得してExcelに貼り付けるちょっとしたお仕事がありました。

WebUIを使って目で見て転記する方法だと気が遠くなるくらいの時間がかかりそうだったので、ちょっとPowerShellでスクリプトを書きました。

 

スクリプトを動かすためにはExchange Onlineへの接続が必要で、多要素認証が有効化されているアカウントの場合には”Exchange Online Remote PowerShell module”モジュールの事前インストールが必要でした。

なお、このモジュールのインストールをfirefoxからダウンロード、インストールしようとして全然できなくて困ってしまいましたが、Internet Explorerから実施したところ成功しました。皆さんは時間を無駄に使いませんように…。

 

スクリプトに、出力先のファイル名(***.csv)を指定して実行すると、情報を取得したうえでCSVファイルを生成します。

日本語環境でCSVファイルを開いてそれなりの見た目で表示されることを意図しているので、文字コードはあえてSJISにしました。なので、CSVファイルダブルクリックのみでそれなりにExcel上で表示されます。

 

1番(無駄に)苦労したのは文字コードと改行コード周りでした。

一度Add-Content –encoding Stringした状態のファイルに後から追記した時の文字コード、改行コード周りの挙動が意味不明過ぎてくじけたので、全行変数上で出力結果を保持した上で、一発でAdd-Contentしています…。

 

ソースはGithubにあげています。

多分むやみに需要あると思いますので、お使いいただければと思います。

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

コメントを残す

メールアドレスが公開されることはありません。