Active Directory userAccountControl (UAC) Değerleri

Active Directory’de her kullanıcı ve bilgisayar nesnesinin userAccountControl (UAC) adında bir niteliği vardır. Bu nitelik, hesabın durumunu ve davranışını belirleyen bir dizi bit bayrağının (bit flag) toplamını tutar: hesabın etkin olup olmadığı, parolasının süresinin dolup dolmadığı, akıllı kart (smartcard) gerektirip gerektirmediği gibi ayarların tamamı tek bir tam sayı değerinde kodlanır.

Değer bitwise (bit düzeyinde) mantıkla okunur. Örneğin “parolası hiç dolmayan” (DONT_EXPIRE_PASSWORD = 65536) ve “etkin normal hesap” (NORMAL_ACCOUNT = 512) bayraklarının birleşimi 512 + 65536 = 66048 değerini verir. Bu yüzden belirli bir ayara sahip hesapları ararken eşitlik değil, bit maskeleme (-band) kullanılır.

Örnek: Parolası hiç dolmayacak (password never expires) şekilde ayarlanmış kullanıcıları bulmak için aşağıdaki PowerShell komutu kullanılabilir.

Get-ADUser -Filter "useraccountcontrol -band 65536" -Properties userAccountControl |
    Select-Object Name, SamAccountName, userAccountControl

-band 65536 ifadesi, DONT_EXPIRE_PASSWORD biti set edilmiş tüm hesapları döndürür; hesabın etkin/pasif ya da başka bayraklara sahip olması sonucu etkilemez.


Varsayılan Değerler

Nesne TürüOndalık DeğerHex
Standart kullanıcı (etkin, normal hesap)5120x200
İş istasyonu / üye sunucu40960x1000
Domain Controller5324800x82000

Yaygın Birleşik Değerler

Aşağıdaki tablo, sık karşılaşılan bayrak kombinasyonlarını ve karşılık geldikleri hesap durumlarını gösterir.

DeğerAçıklama
512Enabled Account (Etkin hesap)
514Disabled Account (Pasif hesap)
544Enabled, Password Not Required
546Disabled, Password Not Required
66048Enabled, Password Doesn’t Expire
66050Disabled, Password Doesn’t Expire
66080Enabled, Password Doesn’t Expire & Not Required
66082Disabled, Password Doesn’t Expire & Not Required
262656Enabled, Smartcard Required
262658Disabled, Smartcard Required
262688Enabled, Smartcard Required, Password Not Required
262690Disabled, Smartcard Required, Password Not Required
328192Enabled, Smartcard Required, Password Doesn’t Expire
328194Disabled, Smartcard Required, Password Doesn’t Expire
328224Enabled, Smartcard Required, Password Doesn’t Expire & Not Required
328226Disabled, Smartcard Required, Password Doesn’t Expire & Not Required

Bireysel Bayraklar (Property Flags)

Her bir bayrak tek bir biti temsil eder. Bir hesabın userAccountControl değeri, aşağıdaki bireysel değerlerin toplamından oluşur.

BayrakHexOndalık
SCRIPT0x00011
ACCOUNTDISABLE0x00022
HOMEDIR_REQUIRED0x00088
LOCKOUT0x001016
PASSWD_NOTREQD0x002032
PASSWD_CANT_CHANGE0x004064
ENCRYPTED_TEXT_PWD_ALLOWED0x0080128
TEMP_DUPLICATE_ACCOUNT0x0100256
NORMAL_ACCOUNT0x0200512
INTERDOMAIN_TRUST_ACCOUNT0x08002048
WORKSTATION_TRUST_ACCOUNT0x10004096
SERVER_TRUST_ACCOUNT0x20008192
DONT_EXPIRE_PASSWORD0x1000065536
MNS_LOGON_ACCOUNT0x20000131072
SMARTCARD_REQUIRED0x40000262144
TRUSTED_FOR_DELEGATION0x80000524288
NOT_DELEGATED0x1000001048576
USE_DES_KEY_ONLY0x2000002097152
DONT_REQ_PREAUTH0x4000004194304
PASSWORD_EXPIRED0x8000008388608
TRUSTED_TO_AUTH_FOR_DELEGATION0x100000016777216
PARTIAL_SECRETS_ACCOUNT0x0400000067108864

Kaynak

Bayrak adları ve değerleri Microsoft’un resmi dokümanına dayanmaktadır: How to use the UserAccountControl flags to manipulate user account properties.