Active-Directory
為什麼 Active Directory 使用者帳戶不自動支持 Kerberos AES 身份驗證?
我正在使用 Windows Server 2012 R2 上的測試域。我在盡可能高的功能級別上執行,並且在我的小型測試環境中沒有向後兼容性問題。但是,我已經意識到,儘管我支持Kerberos AES 身份驗證,但預設情況下並未對任何使用者啟用它。我實際上必須進入使用者的屬性並選中“此帳戶支持 Kerberos AES 128 位加密”和/或“此帳戶支持 Kerberos AES 256 位加密”才能啟用它。
(我在將測試帳戶添加到“受保護的使用者”組時首先意識到這一點,該組將策略設置為需要 AES。之後,我所有的網路登錄都開始失敗,直到我選中了這些框。)
我認為預設情況下可能會禁用此功能以確保某些系統的向後兼容性,但我找不到為所有使用者啟用此功能的方法,甚至無法解釋目前行為。
有任何想法嗎?
選中使用者的 Kerberos AES 複選框會導致 Vista 之前的客戶端上的身份驗證失敗。這可能是預設情況下未設置的原因。
Kerberos AES 支持複選框對應於在名為的屬性中設置的值
msDS-SupportedEncryptionTypes
要為多個使用者更改此設置,您可以使用 PowerShell 和 ActiveDirectory 模組:
# The numerical values for Kerberos AES encryption types to support $AES128 = 0x8 $AES256 = 0x10 # Fetch all users from an OU with their current support encryption types attribute $Users = Get-ADUser -Filter * -SearchBase "OU=SecureUsers,OU=Users,DC=domain,DC=tld" -Properties "msDS-SupportedEncryptionTypes" foreach($User in $Users) { # If none are currently supported, enable AES256 $encTypes = $User."msDS-SupportedEncryptionType" if(($encTypes -band $AES128) -ne $AES128 -and ($encTypes -band $AES256) -ne $AES256) { Set-ADUser $User -Replace @{"msDS-SupportedEncryptionTypes"=($encTypes -bor $AES256)} } }