我想知道是否可以验证特定的AD帐户是否已被锁定。
命令Get-ADUser
不会返回此参数:
-------------------------- EXAMPLE 3 -------------------------- Command Prompt: C:\PS> Get-ADUser GlenJohn -Properties * - Surname : John - Name : Glen John - UserPrincipalName : jglen - GivenName : Glen - Enabled : False - SamAccountName : GlenJohn - ObjectClass : - user 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 Description : ----------- Get all properties of the user with samAccountName 'GlenJohn'. --------------------------END EXAMPLE --------------------------
还有其他方法可以获取此信息吗?
答案 0 :(得分:29)
LockedOut
属性是您在返回的所有属性中寻找的属性。您只看到TechNet中的输出不完整。信息仍在那里。您可以使用Select-Object
Get-ADUser matt -Properties * | Select-Object LockedOut
LockedOut
---------
False
您引用的链接不包含此信息,这显然具有误导性。使用您自己的帐户测试命令,您将看到更多信息。
注意:尽量避免使用-Properties *
。虽然它非常适合简单测试,但它可以使查询,特别是具有多个帐户的查询不必要地慢。因此,在这种情况下,因为您只需要lockedout
:
Get-ADUser matt -Properties LockedOut | Select-Object LockedOut
答案 1 :(得分:8)
这是另一个:
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
答案 2 :(得分:2)
我还找到了这个属性标记列表:How to use the UserAccountControl flags
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 Matching Rules
答案 3 :(得分:0)
此ScriptingGuy guest post到Microsoft Powershell Expert脚本的链接可以帮助您找到此信息,但是要完全审核为什么它被锁定以及哪台计算机触发了锁定,您可能需要通过以下方式打开其他级别的审核: GPO。
https://gallery.technet.microsoft.com/scriptcenter/Get-LockedOutLocation-b2fd0cab#content
答案 4 :(得分:0)