ほとんどの場合、ユーザーは自分のアカウント パスワードを忘れたり、何度もパスワードを間違えたりして、Active Directory アカウント ロックアウト ポリシーによりアカウントからロックされてしまいます。
システム管理者や技術者にとって不可欠なことは、PowerShell を使用してアカウント(または複数の AD アカウント)を解除する方法を知っているということです。
Active Directory の GUI 管理ツールでは、一度に 1 つのユーザー アカウントのみロックを解除できます。
PowerShell ツールは、一度に複数の Active Directory アカウントを処理またはロック解除する必要がある場合に使用されます。 PowerShell を使用すると、コマンドラインからすばやく簡単に 1 つまたは複数のユーザー アカウントのロックを解除できます!
このチュートリアルでは、PowerShell で Active Directory ユーザー アカウントのロックを解除する方法を説明します。
Install Active Directory Module for PowerShell
始める前に、システムに PowerShell 用 Active Directory モジュールをインストールする必要があります。
まず、PowerShell を開き、次のコマンドを実行して PowerShell 用 Active Directory モジュールをインストールします:
Add-WindowsFeature RSAT-AD-Powershell
インストールすると、次の出力が表示されるはずです。
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No NoChangeNeeded {}
例:
PowerShell は Unlock-ADAccount コマンドレットを使用してアクティブ ディレクトリのユーザー アカウントをロック解除してください。
ロックされているアカウントの Active Directory ドメイン サービス アクセスを復元します。
Unlock-ADAccountコマンドレットの詳細については、次のコマンドを実行してください。
Get-Help unlock-adaccount
次の出力が表示されることを確認します。
Find Lockout Status Of Active Directory User Account
Active Directoryユーザーアカウントがロックアウトされていることを知ることは、それらのユーザーがいずれ助けを求めてきたり、不正侵入の兆候である可能性があるので、重要である。
どのユーザーアカウントも、Get-ADUserコマンドでロックアウト状態を確認することができます。
たとえば、次のコマンドを実行して、ユーザー hitesh と vyom のロックアウト状態を確認します:
Get-ADUser -Identity 'hitesh' -Properties LockedOut | Select-Object Name,Lockedout
または
Get-ADUser -Identity 'vyom' -Properties LockedOut | Select-Object Name,Lockedout
上のスクリーンショットでは、両方のユーザーのロックアウト状態が False となっており、アカウントがロックされていないことが確認されるはずです。
Find All Lockout Active Directory User Accounts
ロックアウトされたActive Directoryアカウントをすべて検索するには、次のコマンドを実行します:
Search-ADAccount -lockedout | Select-Object Name, SamAccountName
次の出力が表示されます:
Name SamAccountName
---- --------------
jayesh jayesh
rajesh rajesh
mitesh mitesh
ここで、jayeshというユーザー アカウントを以下のコマンドでアンロックしてみましょう。
Unlock-ADAccount -Identity jayesh
ここで、次のコマンドでユーザーがロック解除されたかどうかを確認します:
Search-ADAccount -lockedout | Select-Object Name, SamAccountName
次の出力が得られるはずです。
Name SamAccountName
---- --------------
rajesh rajesh
mitesh mitesh
例:
Unlock All Active Directory User Accounts
この時点で、AD内のロックされているすべてのアカウントが見つかりました。
次のコマンドを実行すると、すべてのユーザー アカウントのロックを解除できます:
Search-ADAccount -Lockedout | Unlock-AdAccount
すべてのアカウントがロック解除されたかどうかは、次のコマンドで確認できます:
Search-ADAccount -lockedout | Select-Object Name, SamAccountName
すべてのユーザー アカウントがロックされているという出力は表示されないことを意味します。
例:
すべてのActive Directoryユーザーアカウントのロックを解除する前に確認を求める
必要なユーザーアカウントのみをロック解除できるように、確認しながらロックされたユーザーアカウントを解除することは良いアイデアです。
まず、次のコマンドでロックされたすべてのユーザー アカウントを検索します:
Search-ADAccount -lockedout | Select-Object Name, SamAccountName
次に、次のコマンドを実行して、確認とともにロックされたすべてのユーザー アカウントを解除します:
Search-ADAccount -Lockedout | Unlock-AdAccount -Confirm
すべてのアカウントを解除する前に、確認のメッセージを表示するよう求めます。
次の画面のように、1つのアカウントを確認する場合はY、すべてのアカウントを確認する場合はAと入力します:
まとめ
ご覧いただいたように、PowerShellはActive Directory関連の操作を非常に迅速に実行できる非常に強力なツールです。 システム管理者が Active Directory 関連のタスクを迅速に実行するのに役立ち、ネットワーク管理者として学ぶべき必要なスキルであることが証明されています!
このチュートリアルが、単一ユーザーと複数(バルク)ユーザーの両方を一度にロック解除する方法を学ぶのに役立ったことを願っています!
このチュートリアルは、Active Directory のアカウントと、そのロックを解除する方法を学ぶのに役立つと思います。