本記事は、PowerShellを利用してActiveDirectoryの長期間ログオンしていないユーザーをCSVで出力するスクリプトのサンプルです。
ADのアカウントは、定期的に整理しないと不要なアカウントだらけになってしまいがちです。
ですが、このスクリプトを使用することで、ログオンしていないユーザーアカウントを効率よく把握することができます。
ログオンしていない日数とドメインコントローラーのIPをセットするだけですぐ使えますので、アカウント管理にお困りの方はぜひご活用ください!
それではご説明させていただきます。
スクリプトのサンプル
スクリプトのサンプルです。
AD上にファイルを設置し処理を実行すると、指定したパスで長期間ログオンしていないユーザーアカウントをCSV出力します。
長期間ログオンしてないADユーザーアカウントをCSV出力する
仕様
- 複数ADがある場合、全てのADのIPをセットすることで、各ADの情報を統合して一番最新のログオン日時で判定する
- 出力するCSVはUTF-8にエンコード(文字化け対応)
- CSVの項目はユーザーアカウント名と最終ログオン日時
- 無効となっているアカウントは出力対象としない
使い方
- 処理を行うAD上のサーバーに、スクリプトファイルを保存
- スクリプト5行目の「.AddDays(-90)」の値を判定したい日数とする(サンプルファイルのまま使用すると90日以上ログオンしてないユーザーが対象となる)
- スクリプトの8行目の「$domainControllerIPs」の配列の値を、使用する環境のドメインコントローラーのIPとする
- 54行目の「Export-Csv -Path」の引数を、必要に応じて変更(出力CSVのパス)
- 管理者権限でPowerShellを実行する
処理が終わると、指定したパスにCSVが出力されます。
以下はCSVファイルのサンプル画像です。
※見やすくするために、Excelのアプリケーションで表示しています。
あとがき
長期間ログオンしていないActiveDirectoryユーザーを出力するPowerShellでした。
記事に記載しているスクリプトをコピペし、記事に記載した内容を参考に環境に応じて調整するだけで簡単に使えるものですので、ぜひご活用ください!
また、他にもPowerShellでインフラ管理業務に使えるものを紹介している記事がありますので、ご興味のある方は下記リンクからご一読ください。
↓ADユーザーのセキュリティグループを、PowerShellで一括変更する方法です。人事異動や組織変更の際に活用できます。
www.withdrawal-civilservice.com
↓ADユーザーをPowerShellで一括作成する方法です。登録作業の効率化により、AD運用負荷軽減が期待できます。
www.withdrawal-civilservice.com
↓PowerShellで指定したフォルダ配下の全ファイルのファイルパスと、容量を降順にソートしてCSV出力するスクリプトの記事です。ファイル整理作業のお供にどうぞ。
www.withdrawal-civilservice.com
↓PowerShellでAzureADからメールエイリアスを抽出する方法の記事