Freigeben über


DsInheritSecurityIdentityA-Funktion (ntdsapi.h)

Die funktion DsInheritSecurityIdentity fügt die objectSid und sidHistory Attribute SrcPrincipal an zum sidHistory von DstPrincipal und löscht dann SrcPrincipal, alle in einer einzigen Transaktion. Um sicherzustellen, dass dieser Vorgang atomisch ist, müssen SrcPrincipal und DstPrincipal- in derselben Domäne sein und hDS- an einen Domänencontroller gebunden sein, der die richtigen Berechtigungen innerhalb dieser Domäne hat.

Syntax

NTDSAPI DWORD DsInheritSecurityIdentityA(
  [in] HANDLE hDS,
  [in] DWORD  Flags,
  [in] LPCSTR SrcPrincipal,
  [in] LPCSTR DstPrincipal
);

Parameter

[in] hDS

Enthält ein Verzeichnisdiensthandle, das entweder vom DSBind- oder DSBindWithCredWithCred-Funktion abgerufen wird.

[in] Flags

Reserviert für die zukünftige Verwendung. Muss null sein.

[in] SrcPrincipal

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen eines Sicherheitsprinzipals (Benutzer oder Gruppe) in der Quelldomäne angibt. Dieser Name ist ein domänenrelativer SAM-Name.

[in] DstPrincipal

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen eines Sicherheitsprinzipals (Benutzer oder Gruppe) in der Zieldomäne angibt. Dieser domänenrelative SAM-Name identifiziert den Prinzipal, dessen sidHistory Attribut mit der SID von SrcPrincipalaktualisiert wird.

Rückgabewert

Gibt einen System- oder RPC-Fehlercode einschließlich der folgenden Zurück.

Bemerkungen

Bei Domänenanwendungen des Betriebssystemupgrades, die sowohl aktualisierte als auch nicht aktualisierte Domänen umfassen, können Sicherheitsprinzipale innerhalb und außerhalb der Gesamtstruktur für dieselbe logische Entität gleichzeitig vorhanden sein.

Wenn alle aktualisierten Domänen derselben Gesamtstruktur beigetreten sind, DsInheritSecurityIdentity die duplizierten Objekte entfernt, während sichergestellt wird, dass die verbleibenden Objekte alle Sicherheitsrechte und Berechtigungen haben, die zu ihrem jeweiligen gelöschten Objekt gehören.

Eine DsInheritSecurityIdentity Implementierung:

  • Überprüft, ob SrcPrincipal und DstPrincipal- sich in derselben Domäne befinden.
  • Überprüft, ob die Domäne bei der Bindung an den Server schreibbar ist.
  • Überprüft, ob die Überwachung für die Domäne aktiviert ist.
  • Überprüft, ob der Aufrufer Mitglied der Domänenadministratoren für die Domäne ist.
  • Überprüft, ob sich die Domäne im nativen Modus befindet.
  • Überprüft, ob SrcPrincipal vorhanden ist, dass es sich um einen Sicherheitsprinzipal handelt und dessen objectSid- und sidHistory- Eigenschaften gelesen hat.
  • Überprüft, ob DstPrincipal- vorhanden ist, dass es sich um einen Sicherheitsprinzipal handelt und bestimmte Eigenschaften gelesen hat, die für die Überwachung und Überprüfung erforderlich sind.
  • Löscht SrcPrincipal in der Datenbank nur, wenn der gesamte Vorgang zum Abschluss zugesichert wird. Dieser Vorgang schlägt fehl, wenn der Aufrufer keine Löschrechte hat oder wenn SrcPrincipal- untergeordnete Elemente aufweist.
  • Schlägt den Vorgang fehl, wenn die objectSid- von SrcPrincipal oder DstPrincipal eine bekannte SID ist.
  • Fügt die objectSid und die sidHistory (sofern vorhanden) SrcPrincipal zur sidHistory von DstPrincipalhinzu.
  • Erzwingt ein Überwachungsereignis und schlägt den Vorgang fehl, wenn die Überwachung fehlschlägt.
  • Gibt Ereignisse in das Verzeichnisdienstprotokoll ein. Verwechseln Sie dies nicht mit dem Sicherheitsüberwachungsprotokoll.

Anmerkung

Der ntdsapi.h-Header definiert DsInheritSecurityIdentity 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

Siehe auch

DSBind-

DSBindWithCred

Domänencontroller- und Replikationsverwaltungsfunktionen