Utiliser les indicateurs UserAccountControl pour manipuler les propriétés du compte d’utilisateur

Cet article décrit les informations sur l’utilisation de l’attribut UserAccountControl pour manipuler les propriétés du compte d’utilisateur.

Produits concernés : Windows Server 2012 R2, Windows Server 2016, Windows Server 2019 et Windows Server 2022
Numéro de l’article d’origine dans la base de connaissances : 305144

Résumé

Lorsque vous ouvrez les propriétés d’un compte d’utilisateur, cliquez sur l’onglet Compte, puis cochez ou décochez les cases dans la boîte de dialogue Options de compte, les valeurs numériques sont affectées à l’attribut UserAccountControl. La valeur affectée à l’attribut indique à Windows quelles options ont été activées.

Pour afficher les comptes d’utilisateur, cliquez sur Démarrer, pointez sur Programmes, puis sur Outils d’administration, et cliquez sur Utilisateurs et ordinateurs Active Directory.

Liste des indicateurs de propriété

Vous pouvez afficher et modifier ces attributs à l’aide de l’outil Ldp.exe ou du composant logiciel enfichable Adsiedit.msc.

Le tableau suivant répertorie les indicateurs possibles que vous pouvez affecter. Vous ne pouvez pas définir certaines des valeurs sur un objet utilisateur ou ordinateur, car ces valeurs peuvent uniquement être définies ou réinitialisées par le service d’annuaire. Ldp.exe affiche les valeurs en hexadécimales. Adsiedit.msc affiche les valeurs en décimales. Les indicateurs sont cumulatifs. Pour désactiver le compte d’un utilisateur, définissez l’attribut UserAccountControl sur 0x0202 (0x002 + 0x0200). En décimales, cela correspond à 514 (2 + 512).

Remarque

Vous pouvez modifier Active Directory directement dans Ldp.exe et Adsiedit.msc. Seuls les administrateurs expérimentés doivent utiliser ces outils pour modifier Active Directory. Les deux outils sont disponibles après avoir installé les outils de support à partir de votre support d’installation Windows d’origine.

Indicateur de propriété Valeur en hexadécimale Valeur en décimale
SCRIPT 0x0001 1
ACCOUNTDISABLE 0x0002 2
HOMEDIR_REQUIRED 0x0008 8
LOCKOUT 0x0010 16
PASSWD_NOTREQD 0x0020 32
PASSWD_CANT_CHANGE

Vous ne pouvez pas attribuer cette autorisation en modifiant directement l’attribut UserAccountControl. Pour plus d’informations sur la définition de l’autorisation par programmation, consultez la section Descriptions des indicateurs de propriété.
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

Remarque

Dans un domaine Windows Server 2003, LOCK_OUT et PASSWORD_EXPIRED ont été remplacés par un nouvel attribut appelé ms-DS-User-Account-Control-Computed. Pour plus d’informations sur ce nouvel attribut, consultez la section relative à l’attribut ms-DS-User-Account-Control-Computed.

Descriptions des indicateurs de propriété

  • SCRIPT : le script d’ouverture de session sera exécuté.

  • ACCOUNTDISABLE : le compte d’utilisateur est désactivé.

  • HOMEDIR_REQUIRED : le dossier de base est requis.

  • PASSWD_NOTREQD : aucun mot de passe n’est requis.

  • PASSWD_CANT_CHANGE : l’utilisateur ne peut pas modifier le mot de passe. Il s’agit d’une autorisation sur l’objet de l’utilisateur. Pour plus d’informations sur la définition par programmation de cette autorisation, consultez l’article L’utilisateur effectuant des modifications ne peut pas modifier le mot de passe (fournisseur LDAP).

  • ENCRYPTED_TEXT_PASSWORD_ALLOWED : l’utilisateur peut envoyer un mot de passe chiffré.

  • TEMP_DUPLICATE_ACCOUNT : il s’agit d’un compte pour les utilisateurs dont le compte principal se trouve dans un autre domaine. Ce compte fournit à l’utilisateur l’accès à ce domaine, mais pas à tous les domaines qui approuvent ce domaine. Il est parfois appelé compte d’utilisateur local.

  • NORMAL_ACCOUNT : il s’agit d’un type de compte par défaut qui représente un utilisateur typique.

  • INTERDOMAIN_TRUST_ACCOUNT : il s’agit d’une autorisation permettant d’approuver un compte pour un domaine système qui approuve d’autres domaines.

  • WORKSTATION_TRUST_ACCOUNT : il s’agit d’un compte d’ordinateur pour un ordinateur qui exécute la station de travail Microsoft Windows NT 4.0, Microsoft Windows NT 4.0 Server, Microsoft Windows 2000 Professionnel ou Windows 2000 Server et est membre de ce domaine.

  • SERVER_TRUST_ACCOUNT : il s’agit d’un compte d’ordinateur pour un contrôleur de domaine membre de ce domaine.

  • DONT_EXPIRE_PASSWD : représente le mot de passe, qui ne doit jamais expirer sur le compte.

  • MNS_LOGON_ACCOUNT : il s’agit d’un compte d’ouverture de session MNS.

  • SMARTCARD_REQUIRED : lorsque cet indicateur est défini, l’utilisateur doit se connecter à l’aide d’une carte à puce.

  • TRUSTED_FOR_DELEGATION : lorsque cet indicateur est défini, le compte de service (compte d’utilisateur ou d’ordinateur) sous lequel un service s’exécute est approuvé pour la délégation Kerberos. Un tel service peut emprunter l’identité d’un client demandant le service. Pour activer un service pour la délégation Kerberos, vous devez définir cet indicateur sur la propriété userAccountControl du compte de service.

  • NOT_DELEGATED : lorsque cet indicateur est défini, le contexte de sécurité de l’utilisateur n’est pas délégué à un service, même si le compte de service est défini comme approuvé pour la délégation Kerberos.

  • USE_DES_KEY_ONLY : (Windows 2000/Windows Server 2003) limitez ce principal afin d’utiliser uniquement les types de chiffrement DES (Data Encryption Standard) pour les clés.

  • DONT_REQUIRE_PREAUTH : (Windows 2000/Windows Server 2003) ce compte ne nécessite pas de pré-authentification Kerberos pour la connexion.

  • PASSWORD_EXPIRED : (Windows 2000/Windows Server 2003) le mot de passe de l’utilisateur a expiré.

  • TRUSTED_TO_AUTH_FOR_DELEGATION : (Windows 2000/Windows Server 2003) le compte est activé pour la délégation. Il s’agit d’un paramètre important de sécurité. Les comptes pour lesquels cette option est activée doivent être étroitement contrôlés. Ce paramètre autorise un service s’exécutant sur le compte à endosser l’identité d’un client et à s’authentifier comme tel auprès d’autres serveurs distants du réseau.

  • PARTIAL_SECRETS_ACCOUNT : (Windows Server 2008/Windows Server 2008 R2) le compte est un contrôleur de domaine en lecture seule (RODC). Il s’agit d’un paramètre important de sécurité. La suppression de ce paramètre d’un RODC compromet la sécurité sur ce serveur.

Valeurs UserAccountControl

Voici les valeurs UserAccountControl par défaut de certains objets :

  • Utilisateur typique : 0x200 (512)
  • Contrôleur de domaine : 0x82000 (532480)
  • Station de travail/serveur : 0x1000 (4096)
  • Approbation : 0x820 (2080)

Remarque

Un compte d’approbation Windows ne peut pas avoir de mot de passe via la valeur d’attribut PASSWD_NOTREQD UserAccountControl, car les comptes d’approbation n’utilisent pas la stratégie de mot de passe et les attributs de mot de passe traditionnels de la même façon que les comptes d’utilisateur et d’ordinateur.

Les secrets d’approbation sont représentés par des attributs spéciaux sur les comptes d’approbation interdomaines, indiquant la direction de l’approbation. Les secrets d’approbation entrant sont stockés dans l’attribut trustAuthIncoming, du côté « approuvé » d’une approbation. Les secrets d’approbation sortant sont stockés dans l’attribut trustAuthOutgoing, du côté « approbation » d’une approbation.

  • Pour les approbations bidirectionnelles, l’objet INTERDOMAIN_TRUST_ACCOUNT de chaque côté de l’approbation aura les deux définis.
  • Les secrets d’approbation sont gérés par le contrôleur de domaine, qui est doté du rôle FSMO (Flexible Single Master Operation) émulateur PDC (contrôleur de domaine principal) dans le domaine d’approbation.
  • Pour cette raison, l’attribut PASSWD_NOTREQD UserAccountControl est défini sur comptes INTERDOMAIN_TRUST_ACCOUNT par défaut.