
Я запускаю команду setspn для определенного пользователя на контроллере домена.
C:\>setspn -s example/username.companyname.com username
Checking domain DC=companyname,DC=com
Registering ServiceprincipalNames for CN=username,CN=Users,DC=companyname,DC=com
example/username.companyname.com
Updated object
И сразу можно увидеть результат в консоли.
C:\>setspn -L username
Registering ServiceprincipalNames for CN=username,CN=Users,DC=companyname,DC=com
example/username.companyname.com
Но это никогда не влияет на этого пользователя в «Пользователи и компьютеры Active Directory».
Его атрибут «servicePrincipalName» не установлен.
Может быть, есть какой-то тайник?
решение1
Я почти уверен, что причина, по которой setspn unility не влияет на «Active Directory Users and Computers», заключается в его старой версии: 6.1.
На виртуальной машине, которую я использую для тестирования, у меня установлен setspn версии 10.0, и он работает отлично.
Я обнаружил, что могу изменить SPN через Powershell.
C:\> $ReplaceHashTable = New-Object Hash-Table
C:\> $ReplaceHashTable.Add("servicePrincipalName", "example/username.companyname.com")
C:\> Set-ADUser -Identity "username" -Replace $ReplaceHashTable
C:\> Get-ADUser -Identity "username" -Properties ServicePrincipalNames
DistinguishedName : CN=username,CN=Users,DC=companyname,DC=com
Enabled : True
Name : username
ObjectClass : user
SamAccountName : username
ServicePrincipalNames : (example/username.companyname.com)
UserPrincipalName : [email protected]
решение2
Нет других кэшей, кроме: времени репликации между контроллерами домена и сайтами. И кэша памяти в консоли Active Directory Users and Computers.
Попробуйте закрыть консоль ADUC, чтобы принудительно обновить данные.