web-dev-qa-db-ja.com

Powershell v2.0またはCMD / VBSを使用して、ユーザーアカウントの特定のリストがADで無効になっているかどうかを確認する方法

1)sAMAaccountNamesを含むtxtリストがあります

2)各アカウント名を照会し、それが無効になっているかどうかを確認する必要があります

3)アカウントが無効になっている場合は、ADから削除します

他に方法がない場合は手動で削除しますが、まずリスト内のすべてのアカウントをチェックして、それらが無効になっているかどうかを確認する必要があります。

このサーバーにPowershell v2.0がインストールされていて、DCはWindows Server 2003です。管理サーバーはWindows Server 2008です。

Active Directoryモジュールがなく、インストールもできません。

CMD/VBScriptまたはpowershell v2.0でこれを行うにはどうすればよいですか?

私は走ろうとしました

dsquery -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"

しかし、次のエラーが発生しましたdsquery failed:The parameter is incorrect.:Incorrect object type specified. type dsquery /? for help.

1
DSKyo

*を逃したようです。正しいコードは次のとおりです。

dsquery * -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"
1
DSKyo

パワーシェル

Get-ADUser -Identity SamAccountName

samAccountNameのユーザーオブジェクトを返します。

Enabledプロパティを取得するには、以下を使用します。

Get-ADUser -Identity SamAccountName | Select-Property Enabled

または

(Get-ADUser -Identity SamAccountName).Enabled

編集:または、PowerShell ADモジュールまたはPS 3.0以降がないため、ADUCを使用してLDAPクエリを実装し、表示列を調整して必要なものを含め、結果をファイルにエクスポートします。 方法は次のとおりです (TechNet)。

1
Xalorous