Je veux savoir s'il est possible de vérifier si un compte AD spécifique est verrouillé.
La commande Get-ADUser
ne renvoie pas ce paramètre:
-------------------------- EXEMPLE 3 ---------------------- ---- Invite de commandes: C:\PS> Get-ADUser GlenJohn -Properties * - Nom de famille: John - Nom: Glen John - UserPrincipalName: jglen - Prénom: Glen - Activé: False - SamAccountName: GlenJohn - ObjectClass: - utilisateur SID: S-1-5-21-2889043008-4136710315-2444824263-3544 - ObjectGUID: e1418d64-096c-4cb0-b903-ebb66562d99d - Nom distinctif: CN = Glen John, OU = Amérique du Nord, OU = Ventes, OU = Comptes utilisateur, DC = FABRIKAM, DC = COM La description : ----------- Obtenez toutes les propriétés de l'utilisateur avec samAccountName 'GlenJohn' . .____. -------------------------- FIN EXEMPLE ---------------------- ----
Existe-t-il un autre moyen d'obtenir cette information?
La propriété LockedOut
est ce que vous recherchez parmi toutes les propriétés que vous avez renvoyées. Vous ne voyez que des sorties incomplètes dans TechNet. L'information est toujours là. Vous pouvez isoler cette propriété en utilisant Select-Object
Get-ADUser matt -Properties * | Select-Object LockedOut
LockedOut
---------
False
Le lien que vous avez référencé ne contient pas ces informations, ce qui est évidemment trompeur. Testez la commande avec votre propre compte et vous verrez beaucoup plus d'informations.
Remarque: Essayez d'éviter -Properties *
. Bien qu’il soit idéal pour les tests simples, il peut ralentir inutilement les requêtes, en particulier celles ayant plusieurs comptes. Donc, dans ce cas, puisque vous avez seulement besoin de lockedout
:
Get-ADUser matt -Properties LockedOut | Select-Object LockedOut
En voici un autre:
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
Autres paramètres à noter:
Search-ADAccount -AccountExpired
Search-ADAccount -AccountDisabled
Search-ADAccount -AccountInactive
Get-Help Search-ADAccount -ShowWindow
J'ai aussi trouvé cette liste de drapeaux de propriétés: Comment utiliser les drapeaux 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
Vous devez créer un AND-binaire de la propriété userAccountControl
avec 0x002
. Pour obtenir tous les comptes verrouillés (c'est-à-dire désactivés), vous pouvez filtrer sur ceci:
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
Pour l'opérateur 1.2.840.113556.1.4.803
voir Règles de correspondance LDAP
Ce message d'invité ScriptingGuy renvoie à un script d'un expert Microsoft Powershell peut vous aider à trouver cette information, mais pour bien comprendre pourquoi il a été verrouillé et quelle machine a déclenché le verrouillage, vous devez probablement activer d'autres niveaux d'audit via un objet de stratégie de groupe. .
https://gallery.technet.Microsoft.com/scriptcenter/Get-LockedOutLocation-b2fd0cab#content