setspn コマンド ライン ユーティリティは、Active Directory (AD) サービス アカウントのサービス プリンシパル名 (SPN) ディレクトリ プロパティの読み取り、変更、および削除を行います。 SPN を使用して、サービスを実行するためのターゲット プリンシパル名を見つけます。
setspn を使用して、現在の SPN の表示、アカウントの既定の SPN のリセット、補足 SPN の追加または削除を行うことができます。
Setspn は、Active Directory Domain Services (AD DS) サーバーロールがインストールされている場合に使用できます。
Setspn は、管理者特権でのコマンド プロンプトで実行する必要があります。
Syntax
setspn <modifiers switch> <accountname> [-R] [-S] [-D] [-L] [-C] [-U] [-Q] [-X] [-P] [-F] [-T] [-?] [/?]
Note
<アカウント名> には、ターゲット コンピューターまたはユーザー アカウントのコンピューター名またはドメイン\n名前を指定できます。
setspn -A を実行して SPN を追加できますが、重複する SPN がないことを確認するため、代わりに setspn -S を使用する必要があります。
Parameters
| Parameters | Description |
|---|---|
<accountname> |
SPN を構成する目的の AD アカウント オブジェクトを指定します。 通常、SPN はコンピューターの NetBIOS 名であり、必要に応じてコンピューター アカウントを含むドメインです。 ただし、必要な AD オブジェクト名は使用できます。 |
-R |
コンピューターのホスト名の既定の SPN 登録をリセットします。 |
-S |
重複が存在しないことを確認した後、指定した SPN をコンピューターに追加します。 |
-D |
コンピューターの指定した SPN を削除します。 |
-L |
コンピューターに現在登録されている SPN を一覧表示します。 |
-C |
accountname がコンピューター アカウントであることを指定します。 |
-U |
accountname がユーザー アカウントであることを指定します。 |
-Q |
既存の SPN のクエリ。 |
-X |
重複する SPN の検索を実行します。 |
-P |
コンソールへの進行状況を抑制し、出力をファイルにリダイレクトするとき、または無人スクリプトで使用するときに使用できます。 コマンドが完了するまで出力は表示されません。 |
-F |
ドメイン レベルではなく、フォレストでクエリを実行します。 |
-T |
指定したドメイン (または -F が使用されている場合はフォレスト) に対してクエリを実行します。 |
-? または/? |
コマンド ライン ヘルプ情報を表示します。 このパラメーターを指定せずに setspn を実行すると、コマンド ライン ヘルプ情報も表示されます。 |
Note
-C と -U は排他的です。 どちらも指定されていない場合、ツールは accountname をコンピューター名として解釈し、存在しない場合はユーザー名として解釈します。
Remarks
クエリ モード修飾子は、SPN を追加する前に重複のチェックを実行する場所を指定するために、-S スイッチと共に使用できます。
-Tは複数回指定できます。 現在のドメインまたはフォレストを示すには、""または*を使用します。-Qは、ターゲット ドメインまたはフォレストごとに実行されます。-Xは、すべてのターゲットに存在する重複を返します。 SPN はフォレスト間で一意である必要はありませんが、重複する SPN はフォレスト間認証中に認証の問題を引き起こす可能性があります。SPN は、 accountname パラメーターとして指定されたアカウントのベース名を使用して構築する必要があります。 この条件が満たされていない場合、ディレクトリ サービスは制約違反エラーを返します。
一部のアカウント オブジェクトでは、このプロパティにアクセスまたは変更する権限がない可能性があります。 Active Directory ユーザーとコンピューターで Microsoft 管理コンソール (MMC) を使用して、アカウント オブジェクトのセキュリティ属性を表示することで、アクセス権を確認できます。 また、サービス プリンシパル名への検証済み書き込みアクセス許可を目的のユーザーまたはグループに割り当てることで、アクセス許可を委任することもできます。
コンピューター アカウントで認識される組み込みの SPN は次のとおりです。
alerter eventlog netlogon rpc snmp
appmgmt eventsystem netman rpclocator spooler
browser fax nmagent rpcss tapisrv
cifs http oakley rsvp time
cisvc ias plugplay samss trksvr
clipsrv iisadmin policyagent scardsvr trkwks
dcom messenger protectedstorage scesrv ups
dhcp msiserver rasman schedule w3svc
dmserver mcsvc remoteaccess scm wins
dns netdde replicator seclogon www
dnscache netddedsm
コンピューターにホスト SPN がある場合、これらの SPN はコンピューター アカウントに対して認識されます。 明示的にオブジェクトに配置されていない限り、ホスト SPN は、前述の SPN のいずれかを置き換えることができます。
SPN は、Microsoft Windows ベースのコンピューターで使用される場合、大文字と小文字は区別されません。 任意の種類のコンピューター システムで SPN を使用できます。 これらのコンピューター システム (特に UNIX ベースのシステム) の多くは大文字と小文字が区別され、適切に機能するためには適切なケースが必要です。 特に WINDOWS ベース以外のコンピューターで SPN を使用する場合は、適切なケースを使用するように注意する必要があります。
Examples
アカウントに登録されているすべての SPN を一覧表示するには、次のように入力します。
setspn -L <accountname>
コンピューター アカウントの SPN をリセットするには、次のように入力します。
setspn -R <accountname>
ユーザー アカウント User01 に SPN http/MyServer を登録するには、次のように入力します。
setspn -U -S http/MyServer User01
設定されていないドメイン アカウントに新しい SPN を追加するには、次のように入力します。
setspn -S http/myserver.mydomain.com myDomain\myServer
アカウントから SPN を削除するには、次のように入力します。
setspn -D http/myserver.mydomain.com myDomain\myServer
ドメインと contoso ドメイン内のすべての重複する SPN に対してクエリを実行するには、次のように入力します。
setspn -T * -T contoso -X
Contoso ドメイン フォレストに登録されている MyServer に関連付けられているすべての SPN を検索するには、次のように入力します。
setspn -T contoso -F -Q */MyServer
See also
SPN を構成する方法