Как проверить, заблокирована ли учетная запись AD?
Я хочу знать, можно ли проверить, заблокирована ли конкретная учетная запись 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 --------------------------
Есть ли другой способ получить эту информацию?
Ответы
Ответ 1
Свойство LockedOut
- это то, что вы ищете среди всех свойств, которые вы вернули. Вы видите только неполный вывод в TechNet. Информация по-прежнему существует. Вы можете выделить это свойство с помощью Select-Object
Get-ADUser matt -Properties * | Select-Object LockedOut
LockedOut
---------
False
Ссылка, на которую вы ссылаетесь, не содержит эту информацию, которая явно вводит в заблуждение. Проверьте команду с помощью своей учетной записи, и вы увидите гораздо больше информации.
Примечание. Старайтесь избегать -Properties *
. Хотя это отлично подходит для простого тестирования, он может делать запросы, особенно с несколькими учетными записями, излишне медленными. Итак, в этом случае, поскольку вам нужно только LockedOut
:
Get-ADUser matt -Properties LockedOut | Select-Object LockedOut
Ответ 2
Вот еще один:
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
Ответ 3
Я также нашел этот список флагов свойств: Как использовать флаги 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
Вы должны сделать двоичный-И свойства userAccountControl
с 0x002
. Чтобы получить все заблокированные (то есть отключенные) учетные записи, вы можете фильтровать по этому адресу:
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
Для оператора 1.2.840.113556.1.4.803
см. Правила соответствия LDAP
Ответ 4
Эта гостевая публикация ScriptingGuy содержит ссылки на сценарий от эксперта Microsoft Powershell, который может помочь вам найти эту информацию, но для полной проверки того, почему она была заблокирована и какая машина активировала блокировку, вам, вероятно, потребуется включить дополнительные уровни аудита через объект групповой политики.
https://gallery.technet.microsoft.com/scriptcenter/Get-LockedOutLocation-b2fd0cab#content
Ответ 5
Если вы хотите проверить через командную строку, используйте команду "net user username/DOMAIN"
![enter image description here]()