web-dev-qa-db-ja.com

setspnはActiveDirectoryユーザーには影響しません

ドメインコントローラーで特定のユーザーに対して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

ただし、「ActiveDirectoryユーザーとコンピューター」のこのユーザーには影響しません。

彼の属性「servicePrincipalName」は設定されていません。

たぶん、ある種のキャッシュがありますか?

3
GriGrim

Setpnunilityが「ActiveDirectoryユーザーとコンピューター」に影響を与えない理由は、古いバージョンである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]
1
GriGrim

以下以外のキャッシュはありません。ドメインコントローラーとサイト間のレプリケーション時間。また、ActiveDirectoryユーザーとコンピューターコンソールのメモリキャッシュ。

ADUCコンソールを閉じて、データを強制的に更新してみてください。

0
Swisstone