
Ich führe den Befehl setspn für einen bestimmten Benutzer auf dem Domänencontroller aus.
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
Und das Ergebnis kann sofort in der Konsole gesehen werden.
C:\>setspn -L username
Registering ServiceprincipalNames for CN=username,CN=Users,DC=companyname,DC=com
example/username.companyname.com
Dieser Benutzer in „Active Directory-Benutzer und -Computer“ ist davon jedoch nie betroffen.
Sein Attribut „servicePrincipalName“ ist nicht gesetzt.
Vielleicht gibt es eine Art Cache?
Antwort1
Ich bin ziemlich sicher, dass der Grund, warum setspn unility keine Auswirkungen auf „Active Directory-Benutzer und -Computer“ hat, die alte Version ist: 6.1.
Auf der virtuellen Maschine, die ich zum Testen verwende, habe ich Setspn der Version 10.0 und es funktioniert perfekt.
Ich habe festgestellt, dass ich SPN über Powershell ändern kann.
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]
Antwort2
Es gibt keine anderen Caches als: Die Replikationszeit zwischen Domänencontrollern und Sites. Und den Speichercache in der Konsole „Active Directory-Benutzer und -Computer“.
Versuchen Sie, die ADUC-Konsole zu schließen, um eine Aktualisierung der Daten zu erzwingen.