【 Search-ADAccount 】コマンドレット――特定の条件を満たすActive Directoryのアカウントを検索するWindows PowerShell基本Tips(18)

本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Search-ADAccount」コマンドレットです。

» 2017年08月07日 05時00分 公開
[新井慎太朗株式会社ソフィアネットワーク]
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、Active Directoryのアカウントをメンテナンスする際に役立つ「Search-ADAccount」コマンドレットを解説します。

Search-ADAccountコマンドレットとは?

 「Search-ADAccount」は、特定の条件を満たすActive Directoryのアカウントを検索するためのコマンドレットです。

 アカウントはActive Directoryドメインに接続するための重要な認証情報であるため、定期的にメンテナンス作業を行うことが推奨されます。例えば、アカウントの悪用を防ぐには「最近使われていないアカウントを検索して無効化」したり、「ロックアウトされたユーザーアカウントがないかどうかを確認」したりといったメンテナンス作業を行います。

 Search-ADAccountコマンドレットで特定の条件を満たすActive Directoryのアカウントを検索することで、効率良くメンテナンス作業を実施することができます。


Search-ADAccountコマンドレットの書式

Search-ADAccount [オプション]



Search-ADAccountコマンドレットの主なオプション

オプション 意味
-UsersOnly ユーザーアカウントのみを検索対象とする
-ComputersOnly コンピュータアカウントのみを検索対象とする
-AccountInactive 指定した日数以上サインインしていないアカウントを検索する
-AccountExpired 有効期限切れのアカウントを検索する
-LockedOut ロックアウトされたアカウントを検索する
-PasswordNeverExpires 「無期限」のパスワードが設定されたアカウントを検索する


指定した日数以上サインインしていないActive Directoryのユーザーアカウントを検索する

 Active Directoryに不要なアカウントが残ったまま放置されている状態では、アカウントが悪用されてしまう可能性が高まります。Active Directoryに限らず企業システムでは「必要なもの」「使用する」ものだけを残しておくことが推奨されます。

 Search-ADAccountコマンドレットは「-AccountInactive」オプションを使用することで、“指定した日数以上サインインしていないActive Directoryのアカウントを検索する”ことができます。日数は「-TimeSpan」オプションで指定します。

 既定ではコンピュータアカウントも検索されますが、「-UsersOnly」オプションを指定することで、ユーザーアカウントだけを検索対象にすることができます。

 以下の実行例では、「30日以上」サインインしていないActive Directoryのユーザーアカウントを検索しています(画面1)。

コマンドレット実行例

Search-ADAccount -AccountInactive -Timespan 30 -UsersOnly


画面1 画面1 30日以上サインインしていないユーザーアカウントを検索した


期限切れになっているActive Directoryのユーザーアカウントを検索する

 Active Directoryのユーザーアカウントには、「有効期限」を設定することができます。有効期限を設定しておくと、期限を超えた時点でそのユーザーアカウントは無効になります。

 「-AccountExpired」オプションを使用すると、有効期限が切れたActive Directoryのユーザーアカウントを検索することができます。

 以下の実行例では、期限切れになっているActive Directoryのユーザーアカウントを検索しています(画面2)。

コマンドレット実行例

Search-ADAccount -AccountExpired


画面2 画面2 有効期限が切れたActive Directoryのユーザーアカウントを検索した


ロックアウトされたActive Directoryのユーザーアカウントを検索する

 「グループポリシー」でロックアウトの構成を行っている場合、誤ったパスワードの入力回数が指定した「しきい値」を超えると、そのユーザーアカウントはロックアウトされます。

 「-LockedOut」オプションを使用すると、ロックアウトされているユーザーアカウントを検索することができます。

 以下の実行例では、ロックアウトされたActive Directoryのユーザーアカウントを検索しています(画面3)。

コマンドレット実行例

Search-ADAccount -LockedOut


画面3 画面3 ロックアウトされているユーザーアカウントを検索した


パスワードが「無期限」になっているActive Directoryのユーザーアカウントを検索する

 ユーザーアカウントには、グループポリシーを使用して「パスワードの有効期限」を設定することができます。ただし、グループポリシーでパスワードの有効期限を設定していても、ユーザーアカウント単位でパスワードを「無期限」にすることができます。

 ユーザーアカウントのパスワードが無期限に設定されていないかどうかを定期的に確認することも、重要なメンテナンス作業になります。

 「-PasswordNeverExpires」オプションを使用すると、パスワードが無期限になっているActive Directoryのユーザーアカウントを検索することができます。

 以下の実行例では、パスワードが「無期限」に設定されているActive Directoryのユーザーアカウントを検索しています(画面4)。

コマンドレット実行例

Search-ADAccount -PasswordNeverExpires


画面4 画面4 パスワードが「無期限」に設定されているActive Directoryのユーザーアカウントを検索した


筆者紹介

新井 慎太朗(あらい しんたろう)

株式会社ソフィアネットワークに所属。2009年よりマイクロソフト認定トレーナーとして、Windowsを中心としたサーバおよびクライアント管理、仮想化技術に関するトレーニングを提供している。無類の猫好き。共同執筆者である国井家で飼われている猫に夢中。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。