setspn 不会影响 Active Directory 用户

setspn 不会影响 Active Directory 用户

我在域控制器上为特定用户运行 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控制台以强制刷新数据。

相关内容