[英]How can I detect whether AD user password is expired without a second account to query AD?
[英]How can I verify if an AD account is locked?
我想知道是否可以验证特定的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 --------------------------
有没有其他方法来获取此信息?
LockedOut
属性是您在返回的所有属性中寻找的属性。 您只看到TechNet中的输出不完整。 信息仍在那里。 您可以使用Select-Object
隔离该属性
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
我还找到了这个属性标志列表: 如何使用UserAccountControl标志
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
您必须使用0x002
属性userAccountControl
的二进制AND。 为了获得所有锁定(即禁用)帐户,您可以对此进行过滤:
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
对于运算符1.2.840.113556.1.4.803
请参阅LDAP匹配规则
这篇ScriptingGuy来宾帖子链接到Microsoft Powershell Expert的脚本可以帮助您查找此信息,但要完全审核它被锁定的原因以及哪台机器触发了锁定,您可能需要通过GPO打开其他级别的审核。
https://gallery.technet.microsoft.com/scriptcenter/Get-LockedOutLocation-b2fd0cab#content
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.