为什么Active Directory用户帐户不能自动支持Kerberos AES身份validation?

我正在玩Windows Server 2012 R2上的testing域。 我正在尽可能高的function级别运行,在我的小testing环境中没有向后兼容性问题。 不过,我已经意识到,尽pipe我支持 Kerberos AES身份validation,但对于任何用户,默认情况下都不启用。 我必须真正进入用户的属性,并检查“此帐户支持Kerberos AES 128位encryption”和/或“此帐户支持Kerberos AES 256位encryption”来启用它。

(我在将testing帐户添加到“受保护的用户”组中时首先意识到这一点,该组将策略设置为需要AES。之后,我所有的networkinglogin都开始失败,直到我检查这些checkbox。

我认为这可能是默认禁用,以确保向后兼容的一些系统,但我找不到一种方法来为所有用户启用此function,甚至解释当前的行为。

有任何想法吗?

检查用户的Kerberos AEScheckbox会导致Vista之前的客户端validation失败。 这可能是它没有被默认设置的原因。

Kerberos AES支持checkbox对应于名为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)} } }