Utilizzare i flag UserAccountControl per modificare le proprietà dell'account utente

Questo articolo descrive le informazioni sull'uso dell'attributo UserAccountControl per modificare le proprietà dell'account utente.

              Si applica a: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 2022
Numero originale della Knowledge Base: 305144

Riepilogo

Quando si aprono le proprietà di un account utente, facendo clic sulla scheda Account e selezionando o deselezionando le caselle di controllo nella finestra di dialogo Opzioni account, vengono assegnati valori numerici all'attributo UserAccountControl. Il valore assegnato all'attributo specifica a Windows quali opzioni sono state abilitate.

Per visualizzare gli account utente, fare clic su Start, selezionare Programmi, selezionare Strumenti di amministrazione, quindi fare clic su Utenti e computer di Active Directory.

Elenco di flag di proprietà

È possibile visualizzare e modificare questi attributi utilizzando lo strumento Ldp.exe o lo snap-in Adsiedit.msc.

La tabella seguente elenca i possibili flag che è possibile assegnare. Non è possibile impostare alcuni valori su un oggetto utente o computer, perché tali valori possono essere impostati o reimpostati solo dal servizio directory. Ldp.exe mostra i valori in formato esadecimale. Adsiedit.msc mostra i valori in formato decimale. I flag sono cumulativi. Per disabilitare l'account utente, impostare l'attributo UserAccountControl su 0x0202 (0x002 + 0x0200). In formato decimale è 514 (2 + 512).

Nota

È possibile apportare modifiche direttamente ad Active Directory sia in Ldp.exe che in Adsiedit.msc. Solo gli amministratori esperti dovrebbero usare questi strumenti per apportare modifiche ad Active Directory. Entrambi gli strumenti saranno disponibili dopo aver installato Support tools dal supporto di installazione originale di Windows.

Flag di proprietà Valore in formato esadecimale Valore in formato decimale
SCRIPT 0x0001 1
ACCOUNTDISABLE 0x0002 2
HOMEDIR_REQUIRED 0x0008 8
LOCKOUT 0x0010 16
PASSWD_NOTREQD 0x0020 32
PASSWD_CANT_CHANGE

Non è possibile assegnare questa autorizzazione modificando direttamente l'attributo UserAccountControl. Per informazioni su come impostare l'autorizzazione in modo programmatico, consultare la sezione Descrizioni dei flag di proprietà.
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

Nota

In un dominio basato su Windows Server 2003, LOCK_OUT e PASSWORD_EXPIRED sono stati sostituiti da un nuovo attributo chiamato ms-DS-User-Account-Control-Computed. Per ulteriori informazioni su questo nuovo attributo, consultare Attributo ms-DS-User-Account-Control-Computed.

Descrizioni dei flag di proprietà

  • SCRIPT: verrà eseguito lo script di accesso.

  • ACCOUNTDISABLE: l'account utente è disabilitato.

  • HOMEDIR_REQUIRED: home directory è obbligatoria.

  • PASSWD_NOTREQD: non è necessaria alcuna password.

  • PASSWD_CANT_CHANGE: l'utente non può modificare la password. Si tratta di un'autorizzazione per l'oggetto utente. Per informazioni su come impostare programmaticamente questa autorizzazione, consultare Modifica dell'utente che non può cambiare la password (provider LDAP).

  • ENCRYPTED_TEXT_PASSWORD_ALLOWED: l'utente può inviare una password crittografata.

  • TEMP_DUPLICATE_ACCOUNT: si tratta di un account per gli utenti il cui account primario si trova in un altro dominio. Questo account consente l'accesso dell'utente a questo dominio, ma non a nessun altro dominio che considera attendibile questo dominio. A volte viene definito account utente locale.

  • NORMAL_ACCOUNT: è un tipo di account predefinito che rappresenta un utente tipico.

  • INTERDOMAIN_TRUST_ACCOUNT: è un'autorizzazione a considerare attendibile un account per un dominio di sistema che considera attendibili altri domini.

  • WORKSTATION_TRUST_ACCOUNT: è un account computer che esegue Microsoft Windows NT 4.0 Workstation, Microsoft Windows NT 4.0 Server, Microsoft Windows 2000 Professional o Windows 2000 Server ed è membro di questo dominio.

  • SERVER_TRUST_ACCOUNT: si tratta di un account computer per un controller di dominio membro di questo dominio.

  • DONT_EXPIRE_PASSWD: rappresenta la password, che non deve mai scadere per l'account.

  • MNS_LOGON_ACCOUNT: si tratta di un account di accesso MNS.

  • SMARTCARD_REQUIRED: quando questo flag è impostato, obbliga l'utente ad accedere utilizzando una smart card.

  • TRUSTED_FOR_DELEGATION: quando questo flag è impostato, l'account del servizio (account utente o computer) nel quale viene eseguito un servizio è considerato attendibile per la delega Kerberos. Qualsiasi servizio di questo tipo può impersonare un cliente che richiede il servizio. Per abilitare un servizio per la delega Kerberos, è necessario impostare questo flag di proprietà userAccountControl dell'account del servizio.

  • NOT_DELEGATED: quando questo flag è impostato, il contesto di sicurezza dell'utente non viene delegato a un servizio, anche se l'account del servizio è impostato come attendibile per la delega Kerberos.

  • USE_DES_KEY_ONLY: (Windows 2000/Windows Server 2003) limitare questa entità per utilizzare solo i tipi di crittografia Data Encryption Standard (DES) per le chiavi.

  • DONT_REQUIRE_PREAUTH: (Windows 2000/Windows Server 2003) questo account non richiede la preautenticazione Kerberos per l'accesso.

  • PASSWORD_EXPIRED: (Windows 2000/Windows Server 2003) La password dell'utente è scaduta.

  • TRUSTED_TO_AUTH_FOR_DELEGATION: (Windows 2000/Windows Server 2003) l'account è abilitato per la delega. Si tratta di un'impostazione importante per la sicurezza. Gli account con questa opzione abilitata devono essere strettamente controllati. Questa impostazione consente a un servizio eseguito nell'account di assumere l'identità di un cliente e di autenticarsi come tale in altri server remoti della rete.

  • PARTIAL_SECRETS_ACCOUNT: (Windows Server 2008/Windows Server 2008 R2) l'account è un controller di dominio di sola lettura (RODC). Si tratta di un'impostazione importante per la sicurezza. La rimozione di questa impostazione da un controller di dominio di sola lettura compromette la sicurezza di tale server.

Valori di UserAccountControl

Di seguito sono riportati i valori predefiniti di UserAccountControl per determinati oggetti:

  • Utente tipico: 0x200 (512)
  • Controller di dominio: 0x82000 (532480)
  • Workstation/server: 0x1000 (4096)
  • Trust: 0x820 (2080)

Nota

Un account di trust di Windows non ha bisogno di una password tramite il valore dell'attributo PASSWD_NOTREQD UserAccountControl, perché gli oggetti di trust non utilizzano i criteri di password e gli attributi di password tradizionali come gli oggetti utente e computer.

I segreti di trust sono rappresentati da attributi speciali degli account di trust interdominio, che indicano la direzione del trust. I segreti di trust in entrata sono memorizzati nell'attributo trustAuthIncoming, sul lato "fidato" di un trust. I segreti di attendibilità in uscita sono memorizzati nell'attributo trustAuthOutgoing, all'estremità "attendibile" dell'attendibilità.

  • Per i trust bidirezionali, l'oggetto INTERDOMAIN_TRUST_ACCOUNT su ciascun lato del trust avrà entrambi i valori impostati.
  • I segreti del trust sono gestiti dal controller di dominio che rappresenta il ruolo di emulatore del controller di dominio primario (PDC) Flexible Single Master Operation (FSMO) nel dominio di trust.
  • Per questo motivo, l'attributo PASSWD_NOTREQD UserAccountControl è impostato per impostazione predefinita sugli account INTERDOMAIN_TRUST_ACCOUNT.