DsClientMakeSpnForTargetServerA-Funktion (ntdsapi.h)
Die DsClientMakeSpnForTargetServer-Funktion erstellt einen Dienstprinzipalnamen (Service Principal Name, SPN), der einen bestimmten Server identifiziert, der für die Authentifizierung verwendet werden soll.
Syntax
NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
[in] LPCSTR ServiceClass,
[in] LPCSTR ServiceName,
[in, out] DWORD *pcSpnLength,
[out] LPSTR pszSpn
);
Parameter
[in] ServiceClass
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die die Klasse des Diensts enthält, wie vom Dienst definiert. Dies kann eine beliebige Zeichenfolge sein, die für den Dienst eindeutig ist.
[in] ServiceName
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den DNS-Hostnamen (Distinguished Name Service) enthält. Dies kann entweder ein vollqualifizierter Name oder eine IP-Adresse im Internetstandardformat sein.
Die Verwendung einer IP-Adresse für ServiceName- wird nicht empfohlen, da dadurch ein Sicherheitsproblem entstehen kann. Bevor der SPN erstellt wird, muss die IP-Adresse über die DNS-Namensauflösung in einen Computernamen übersetzt werden. Es ist möglich, dass die DNS-Namensauflösung gespooft wird und der beabsichtigte Computername durch einen nicht autorisierten Computernamen ersetzt wird.
[in, out] pcSpnLength
Zeiger auf einen DWORD- Wert, der im Eintrag die Größe des pszSpn- Puffers in Zeichen enthält. Bei der Ausgabe empfängt dieser Parameter die Anzahl der Zeichen, die in den pszSpn Puffer kopiert wurden, einschließlich des endenden NULL-.
[out] pszSpn
Zeigen Sie auf einen Zeichenfolgenpuffer, der den SPN empfängt.
Rückgabewert
Diese Funktion gibt standardmäßige Windows-Fehlercodes zurück.
Bemerkungen
Geben Sie bei Verwendung dieser Funktion die Dienstklasse und einen Teil eines DNS-Hostnamens an.
Diese Funktion ist eine vereinfachte Version der funktion DsMakeSpn. Die ServiceName- wird kanonisch erstellt, indem sie über DNS aufgelöst wird.
GUID-basierte DNS-Namen werden nicht unterstützt. Bei der Konstruktion lautet der vereinfachte SPN wie folgt:
ServiceClass / ServiceName / ServiceName
Der Instanznameteil (zweite Position) ist immer auf Standard festgelegt. Die Port- und Verweiserfelder werden nicht verwendet.
Anmerkung
Der ntdsapi.h-Header definiert DsClientMakeSpnForTargetServer als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
mindestens unterstützte Server- | Windows Server 2008 |
Zielplattform- | Fenster |
Header- | ntdsapi.h |
Library | Ntdsapi.lib |
DLL- | Ntdsapi.dll |