Я запускаю команду 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 не установлен.
Может есть какой то кеш?
Я почти уверен, что причина, по которой unility setspn не влияет на "Active Directory Users and Computers", заключается в его старой версии: 6.1.
На виртуальной машине, которую я использую для тестирования, у меня установлена версия 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 : username@companyname.com
Других кешей нет, кроме: времени репликации между контроллерами домена и сайтами. И кэш памяти в консоли «Пользователи и компьютеры Active Directory».
Попытайтесь закрыть консоль ADUC, чтобы принудительно обновить данные.