特定のADアカウントがロックされているかどうかを確認できるかどうかを知りたい。
コマンド - Get-ADUser
はこのパラメーターを返しません。
--------------------------例3 ---------------------- ---- コマンドプロンプト:C:\ PS> Get-ADUser GlenJohn -Properties * -姓:ジョン -名前:グレンジョン -UserPrincipalName:jglen -GivenName:グレン -有効:False -SamAccountName:GlenJohn -ObjectClass: -ユーザーSID:S-1-5-21-2889043008-4136710315-2444824263-3544 -ObjectGUID:e1418d64-096c-4cb0-b903-ebb66562d99d -DistinguishedName:CN = Glen John、OU = NorthAmerica、OU = Sales、OU = UserAccounts、DC = FABRIKAM、DC = COM 説明: --- -------- samAccountName 'GlenJohn'でユーザーのすべてのプロパティを取得します。 ---------- ----------------終了例--------------------------
この情報を取得する他の方法はありますか?
LockedOut
プロパティは、返されたすべてのプロパティの中から探しているものです。 TechNetには不完全な出力しか表示されません。情報はまだそこにあります。 Select-Object
を使用して、その1つのプロパティを分離できます
Get-ADUser matt -Properties * | Select-Object LockedOut
LockedOut
---------
False
参照したリンクには、明らかに誤解を招くような情報は含まれていません。自分のアカウントでコマンドをテストすると、さらに多くの情報が表示されます。
注:-Properties *
を避けるようにしてください。単純なテストには適していますが、クエリ、特に複数のアカウントを持つクエリを不必要に遅くすることができます。したがって、この場合、必要なのはlockedout
だけなので:
Get-ADUser matt -Properties LockedOut | Select-Object LockedOut
ここに別のものがあります:
PS> Search-ADAccount -Locked | Select Name, LockedOut, LastLogonDate
Name LockedOut LastLogonDate
---- --------- -------------
Yxxxxxxx True 14/11/2014 10:19:20
Bxxxxxxx True 18/11/2014 08:38:34
Administrator True 03/11/2014 20:32:05
言及する価値のあるその他のパラメーター:
Search-ADAccount -AccountExpired
Search-ADAccount -AccountDisabled
Search-ADAccount -AccountInactive
Get-Help Search-ADAccount -ShowWindow
次のプロパティフラグのリストも見つけました。 serAccountControlフラグの使用方法
SCRIPT 0x0001 1
ACCOUNTDISABLE 0x0002 2
HOMEDIR_REQUIRED 0x0008 8
LOCKOUT 0x0010 16
PASSWD_NOTREQD 0x0020 32
PASSWD_CANT_CHANGE 0x0040 64
ENCRYPTED_TEXT_PWD_ALLOWED 0x0080 128
TEMP_DUPLICATE_ACCOUNT 0x0100 256
NORMAL_ACCOUNT 0x0200 512
INTERDOMAIN_TRUST_ACCOUNT 0x0800 2048
WORKSTATION_TRUST_ACCOUNT 0x1000 4096
SERVER_TRUST_ACCOUNT 0x2000 8192
DONT_EXPIRE_PASSWORD 0x10000 65536
MNS_LOGON_ACCOUNT 0x20000 131072
SMARTCARD_REQUIRED 0x40000 262144
TRUSTED_FOR_DELEGATION 0x80000 524288
NOT_DELEGATED 0x100000 1048576
USE_DES_KEY_ONLY 0x200000 2097152
DONT_REQ_PREAUTH 0x400000 4194304
PASSWORD_EXPIRED 0x800000 8388608
TRUSTED_TO_AUTH_FOR_DELEGATION 0x1000000 16777216
PARTIAL_SECRETS_ACCOUNT 0x04000000 67108864
プロパティuserAccountControl
と0x002
のバイナリANDを作成する必要があります。すべてのロックされた(つまり無効になっている)アカウントを取得するには、これでフィルタリングできます。
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
演算子1.2.840.113556.1.4.803
については、 LDAPマッチングルール を参照してください
この ScriptingGuyゲストポスト Microsoft Powershellエキスパートによるスクリプトへのリンクはこの情報を見つけるのに役立ちますが、ロックされた理由とロックをトリガーしたマシンを完全に監査するには、おそらく追加のレベルをオンにする必要がありますGPOによる監査。
https://gallery.technet.Microsoft.com/scriptcenter/Get-LockedOutLocation-b2fd0cab#content