
我在網域控制器上為特定使用者執行 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 使用者和電腦」的原因是它的舊版本:6.1。
在我用於測試的虛擬機器上,我有版本 10.0 的 setspn,它運行得很好。
我發現我可以透過 Powershell 更改 SPN。
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 使用者和電腦控制台中的記憶體快取。
嘗試關閉 ADUC 控制台以強制刷新資料。