DsClientMakeSpnForTargetServerA 関数 (ntdsapi.h)

DsClientMakeSpnForTargetServer 関数は、認証に使用する特定のサーバーを識別するサービス プリンシパル名 (SPN) を構築します。

構文

NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
  [in]      LPCSTR ServiceClass,
  [in]      LPCSTR ServiceName,
  [in, out] DWORD  *pcSpnLength,
  [out]     LPSTR  pszSpn
);

パラメーター

[in] ServiceClass

サービスによって定義されたサービスのクラスを含む null で終わる文字列へのポインター。 この文字列には、サービスに固有の任意の文字列を指定できます。

[in] ServiceName

識別名サービス (DNS) ホスト名を含む null で終わる文字列へのポインター。 完全修飾名またはインターネット標準形式の IP アドレスを指定できます。

ServiceName に IP アドレスを使用することはお勧めしません。これは、セキュリティ上の問題が発生する可能性があるためです。 SPN を構築する前に、IP アドレスを DNS 名前解決によってコンピューター名に変換する必要があります。 DNS 名解決がスプーフィングされる可能性があり、目的のコンピューター名を未承認のコンピューター名に置き換えます。

[in, out] pcSpnLength

入力時に pszSpn バッファーのサイズを文字で格納する DWORD 値へのポインター。 出力時に、このパラメーターは pszSpn バッファーにコピーされた文字数 (終端の NULL を含む) 受け取ります。

[out] pszSpn

SPN を受け取る文字列バッファーへのポインター。

戻り値

この関数は、標準の Windows エラー コードを返します。

注釈

この関数を使用する場合は、サービス クラスと DNS ホスト名の一部を指定します。

この関数は、 DsMakeSpn 関数の簡略化されたバージョンです。 ServiceName は、DNS を介して解決することで正規の名前になります。

GUID ベースの DNS 名はサポートされていません。 構築すると、簡略化された SPN は次のようになります。

ServiceClass / ServiceName / ServiceName

インスタンス名の部分 (2 番目の位置) は常に既定値に設定されます。 ポートと参照元のフィールドは使用されません。

注意

ntdsapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DsClientMakeSpnForTargetServer を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー ntdsapi.h
Library Ntdsapi.lib
[DLL] Ntdsapi.dll

こちらもご覧ください

ドメイン コントローラーとレプリケーション管理機能

DsMakeSpn