繁体   English   中英

如何验证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

如果要通过命令行检查,请使用命令“net user username / DOMAIN”

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM