Erstellen und Verwalten eines Dienstverbindungspunkts

Denken Sie beim Veröffentlichen mit einem SCP daran, dass diese aktuelle Daten über den Dienst instance enthalten muss. Andernfalls rufen Clients, die an den SCP gebunden sind, veraltete Daten ab. Ihr Dienstinstallationsprogramm, das einen SCP erstellt, gibt die Anfangswerte für die SCPs-Attribute an. Wenn der Dienst dann instance gestartet wird, muss er den SCP suchen und die Attributwerte bei Bedarf aktualisieren. Auf diese Weise werden Clients die aktuellsten Daten gesichert.

Nach dem Erstellen des SCP führt Ihr Dienstinstallationsprogramm zwei zusätzliche Schritte aus, mit denen Ihr Dienst den SCP aktualisieren kann:

  • Legen Sie ACEs im Sicherheitsdeskriptor des SCP-Objekts fest, damit der Dienst SCP-Attribute zur Laufzeit ändern kann. Weitere Informationen und ein Codebeispiel finden Sie unter Aktivieren des Dienstkontos für den Zugriff auf SCP-Eigenschaften.
  • Zwischenspeichern Sie die objectGUID des SCP in der Registrierung auf dem Diensthostcomputer. Der Dienst ruft die zwischengespeicherte GUID ab, um an den SCP zu binden, um seine Attribute zu überprüfen und zu aktualisieren.

Das Dienstinstallationsprogramm speichert das ObjektGUID des SCP anstelle des DN zwischen. Die objectGUID ändert sich nie, unabhängig davon, ob der SCP verschoben oder umbenannt wird. Der DN kann sich ändern, wenn ein Administrator den SCP verschiebt oder umbenennt. Wenn Sie beispielsweise einen SCP als untergeordnetes Element eines Computerobjekts erstellen, ändert sich der distinguished Name des SCP, wenn der Computer umbenannt oder in eine andere Domäne oder Organisationseinheit verschoben wird.

Wenn ein Dienstinstallationsprogramm einen SCP erstellt, muss es die objectGUID des neu erstellten Objekts lesen und in der Registrierung des Diensthostcomputers zwischenspeichern. Verwenden Sie die IADs::get_GUID-Methode , um den objectGUID-Wert im Zeichenfolgenformat abzurufen, das für die Bindung geeignet ist. Cachen Sie die GUID-Zeichenfolge als Wert unter dem folgenden Registrierungsschlüssel.

HKEY_LOCAL_MACHINE
   vendor name
      product name

Wobei "Anbietername" und "Produktname" den Anbieter und das Produkt identifizieren.

Wenn der Dienst gestartet wird, ruft er die zwischengespeicherte GUID-Zeichenfolge aus der Registrierung ab und verwendet sie zum Binden an den SCP. Der Dienst liest die wichtigen SCP-Attribute und vergleicht sie mit aktuellen Werten. Wenn die SCP-Werte veraltet sind, aktualisiert der Dienst sie. Werte, die der Dienst möglicherweise aktualisieren muss, umfassen Schlüsselwörter, serviceBindingInformation, serviceDNSName und serviceDNSNameType.

Beispiele