
ドメイン コントローラー上の特定のユーザーに対して 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 コンソールを閉じてください。