So erstellt ein Dienst seine SPNs

Ein Dienst kann zwei Funktionen zum Verfassen seiner SPNs verwenden: DsGetSpn ist eine universelle Funktion zum Verfassen von SPNs und DsServerRegisterSpn ist eine spezialisierte Funktion zum Erstellen und Registrieren einfacher SPNs für einen hostbasierten Dienst.

Ein Dienstinstallationsprogramm verwendet in der Regel die DsGetSpn-Funktion , um SPNs zu erstellen, die es dann mithilfe der DsWriteAccountSpn-Funktion im Anmeldekonto des Diensts registriert. DsGetSpn kann die folgenden Funktionen ausführen.

  • Erstellen Sie einen einfachen SPN mit dem Format "<Dienstklasse>/<Host>" für einen hostbasierten Dienst.
  • Erstellen Sie einen komplexen SPN, der die komponente "<Dienstname>" enthält, die von replizierbaren Diensten verwendet wird, oder die Komponente "<port>", die mehrere Instanzen eines Diensts auf einem einzelnen Host unterscheidet.
  • Erstellen Sie einen einzelnen SPN, wobei die Komponente "<host>" standardmäßig auf den Namen eines angegebenen Hosts oder den Namen des lokalen Computers festgelegt ist.
  • Erstellen Sie ein Array von SPNs für mehrere Dienstinstanzen, das auf mehreren Hosts in der gesamtstruktur ausgeführt wird. Jeder SPN gibt den Namen des Hosts für einen Dienst instance an.
  • Erstellen Sie ein Array von SPNs für mehrere Dienstinstanzen, die auf demselben Host ausgeführt werden. Jeder SPN gibt den Namen des Hosts und eine Portnummer für einen Dienst instance an.

Das von DsGetSpn zurückgegebene Array von Namen muss durch Aufrufen der DsFreeSpnArray-Funktion freigegeben werden.

Beachten Sie, dass die Funktionen DsGetSpn, DsWriteAccountSpn und DsServerRegisterSpn nicht überprüfen, ob SPNs eindeutig sind. Da die gegenseitige Authentifizierung fehlschlägt, wenn ein Client einen nicht eindeutigen SPN aufweist, überprüfen Sie die Eindeutigkeit, bevor Sie einen SPN registrieren. Suchen Sie hierzu im globalen Katalog (GC) nach servicePrincipalName-Attributen , die Ihrem SPN entsprechen. Weitere Informationen zum Durchsuchen des Gc finden Sie unter Suchen des globalen Katalogs.