Technische Referenz für den Windows PowerShell-Connector
Dieser Artikel beschreibt den Windows PowerShell-Connector. Der Artikel bezieht sich auf folgende Produkte:
- Microsoft Identity Manager 2016 (MIM2016)
Für MIM2016 steht der Connector als Download im Microsoft Download Center zur Verfügung.
Übersicht über den PowerShell-Connector
Der PowerShell-Connector ermöglicht die Integration des Synchronisierungsdiensts in externe Systeme mit Windows PowerShell-basierten APIs. Der Connector stellt eine Brücke zwischen den Funktionen des aufrufbasierten ECMA2-Frameworks und Windows PowerShell dar. Weitere Informationen zum ECMA-Framework finden Sie unter Referenz für den Extensible Connectivity 2.2 Management-Agent.
Voraussetzungen
Zur Verwendung des Connectors muss auf dem Synchronisierungsserver Folgendes vorhanden sein:
- Microsoft .NET 4.6.2 Framework oder höher
- Windows PowerShell 2.0, 3.0 oder 4.0
Die Ausführungsrichtlinie auf dem Synchronisierungsdienst-Server muss so konfiguriert sein, dass der Connector Windows PowerShell-Skripts ausführen kann. Falls die vom Connector ausgeführten Skripts nicht digital signiert sind, konfigurieren Sie die Ausführungsrichtlinie durch Ausführen des folgenden Befehls:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Für die Bereitstellung dieses Connectors sind mindestens ein PowerShell-Skript erforderlich. Einige Microsoft-Produkte stellen möglicherweise Skripts für die Verwendung mit diesem Connector bereit. Den Supporthinweis für diese Skripts finden Sie im jeweiligen Produkt. Wenn Sie Ihre eigenen Skripts für die Verwendung mit diesem Connector entwickeln, müssen Sie mit der Api für die Verwaltung von Extensible Connectivity Management vertraut sein, um diese Skripts zu entwickeln und zu verwalten. Wenn Sie bei der Integration mit Drittanbietersystemen eigene Skripts in einer Produktionsumgebung verwenden, empfehlen wir die Zusammenarbeit mit dem Drittanbieter oder einem Bereitstellungspartner, um Hilfe, Anleitungen und Unterstützung für diese Integration zu erhalten.
Erstellen eines neuen Connectors
Zur Erstellung eines Windows PowerShell-Connectors im Synchronisierungsdienst müssen Sie eine Reihe von Windows PowerShell-Skripts bereitstellen, die die vom Synchronisierungsdienst angeforderten Schritte ausführen. Die Skripts sind abhängig von der Datenquelle, mit der Sie eine Verbindung herstellen, sowie von den benötigten Funktionen. Dieser Abschnitt informiert über die einzelnen implementierbaren Skripts sowie darüber, wann sie jeweils benötigt werden.
Der Windows PowerShell-Connector speichert die einzelnen Skripts in der Datenbank des Synchronisierungsdiensts. Zwar können auch im Dateisystem gespeicherte Skripts ausgeführt werden, es ist jedoch einfacher, den Text der jeweiligen Skripts direkt in die Konfiguration des Connectors einzufügen.
Wählen Sie zum Erstellen eines PowerShell-Connectors im Synchronisierungsdienst die Option Verwaltungs-Agent und anschließend Erstellen aus. Wählen Sie den Connector PowerShell (Microsoft) aus.
Konnektivität
Geben Sie Konfigurationsparameter für die Verbindung mit einem Remotesystem an. Diese Werte werden vom Synchronisierungsdienst sicher gespeichert und beim Ausführen des Connectors für Ihre Windows PowerShell-Skripts verfügbar gemacht.
Folgende Konnektivitätsparameter können konfiguriert werden:
Konnektivität
Parameter | Standardwert | Zweck |
---|---|---|
Server | <Leer> | Der Name des Servers, mit dem der Connector eine Verbindung herstellen soll. |
Domain | <Leer> | Die Domäne der zu speichernden Anmeldeinformationen, die beim Ausführen des Connectors verwendet werden sollen. |
User | <Leer> | Der Benutzername der zu speichernden Anmeldeinformationen, die beim Ausführen des Connectors verwendet werden sollen. |
Kennwort | <Leer> | Das Kennwort der zu speichernden Anmeldeinformationen, die beim Ausführen des Connectors verwendet werden sollen. |
Identität des Connector-Kontos annehmen | False | Bei Verwendung von „True“ führt der Synchronisierungsdienst die Windows PowerShell-Skripts im Kontext der angegebenen Anmeldeinformationen aus. Es wird empfohlen, anstelle des Identitätswechsels den an die einzelnen Skripts übergebenen $Credentials -Parameter zu verwenden. Weitere Informationen zu erforderlichen Zusatzberechtigungen für die Verwendung dieser Option finden Sie unter Zusätzliche Konfiguration für den Identitätswechsel. |
Beim Identitätswechsel Benutzerprofil laden | False | Weist Windows an, beim Identitätswechsel das Benutzerprofil der Anmeldeinformationen des Connectors zu laden. Falls der Benutzer, dessen Identität übernommen werden soll, über ein servergespeichertes Profil verfügt, wird das Profil vom Connector nicht geladen. Weitere Informationen zu erforderlichen Zusatzberechtigungen für die Verwendung dieses Parameters finden Sie unter Zusätzliche Konfiguration für den Identitätswechsel. |
Anmeldetyp beim Identitätswechsel | Keine | Der Anmeldetyp beim Identitätswechsel. Weitere Informationen finden Sie in der Dokumentation zu dwLogonType. |
Nur digital signierte Skripts | False | Bei Verwendung von „True“ überprüft der Windows PowerShell-Connector, ob jedes Skript über eine gültige digitale Signatur verfügt. Stellen Sie bei Verwendung von „False“ sicher, dass die Windows PowerShell-Ausführungsrichtlinie des Synchronisierungsdienst-Servers „RemoteSigned“ oder „Unrestricted“ ist. |
Allgemeines Modul
Mithilfe des Connectors kann der Administrator ein gemeinsam genutztes Windows PowerShell-Modul in der Konfiguration speichern. Wenn der Connector ein Skript ausführt, wird das Windows PowerShell-Modul in das Dateisystem extrahiert, damit es von jedem Skript importiert werden kann.
Für Import-, Export- und Kennwortsynchronisierungsskripts wird das allgemeine Modul in den Ordner „MAData“ des Connectors extrahiert. Für Schema-, Validierungs-, Hierarchie- und Partitionsermittlungsskripts wird das allgemeine Modul in den Ordner „%TEMP%“ extrahiert. In beiden Fällen wird das Skript für das allgemeine Modul gemäß der dafür festgelegten Skriptnameneinstellung benannt.
Mit der folgenden Anweisung wird ein Modul namens „FIMPowerShellConnectorModule.psm1“ aus dem Ordner „MAData“ geladen: Import-Module (Join-Path -Path [Microsoft.MetadirectoryServices.MAUtils]::MAFolder -ChildPath "FIMPowerShellConnectorModule.psm1")
Mit der folgenden Anweisung wird ein Modul namens „FIMPowerShellConnectorModule.psm1“ aus dem Ordner „%TEMP%“ geladen: Import-Module (Join-Path -Path $env:TEMP -ChildPath "FIMPowerShellConnectorModule.psm1")
Parameterüberprüfung
Das Überprüfungsskript ist ein optionales Windows PowerShell-Skript, mit dem die Gültigkeit der vom Administrator angegebenen Connector-Konfigurationsparameter sichergestellt werden kann. Mit dem Überprüfungsskript werden häufig Anmeldeinformationen für den Server oder die Verbindung sowie Konnektivitätsparameter überprüft. Das Überprüfungsskript wird nach Anpassung folgender Registerkarten und Dialogfelder aufgerufen:
- Konnektivität
- Globale Parameter
- Partitionskonfiguration
Das Überprüfungsskript erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameterPage | ConfigParameterPage | Die Konfigurationsregisterkarte oder das Konfigurationsdialogfeld, von der bzw. dem die Überprüfungsanforderung ausgelöst wurde. |
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
Das Überprüfungsskript muss ein einzelnes ParameterValidationResult-Objekt an die Pipeline zurückgeben.
Schemaermittlung
Das Schema-Ermittlungsskript ist obligatorisch. Dieses Skript gibt die Objekttypen und Attribute sowie die Attributeinschränkungen zurück, die der Synchronisierungsdienst beim Konfigurieren von Attributflussregeln verwendet. Das Schema-Ermittlungsskript wird bei der Connector-Erstellung ausgeführt und füllt das Connector-Schema auf. Zudem wird es von der Aktion „Schema aktualisieren“ im Synchronization Service Manager verwendet.
Das Schema-Ermittlungsskript erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
Das Skript muss ein einzelnes Objekt vom Typ Schema an die Pipeline zurückgeben. Das Schemaobjekt besteht aus Objekten vom Typ SchemaType, die Objekttypen (z.B. Benutzer und Gruppen) darstellen. Das SchemaType-Objekt enthält eine Sammlung mit Objekten vom Typ SchemaAttribute, die die Attribute (z.B. Vorname, Nachname und Postanschrift) des Typs darstellen.
Zusätzliche Parameter
Neben den Standardkonfigurationseinstellungen können Sie auch benutzerdefinierte Konfigurationseinstellungen definieren, die speziell für die betreffende Connectorinstanz gelten. Diese Parameter können auf Connector-, Partitions- oder Ausführungsschrittebene angegeben werden und stehen über die entsprechenden Windows PowerShell-Skripts zur Verfügung. Benutzerdefinierte Konfigurationseinstellungen können in der Datenbank des Synchronisierungsdiensts im Nur-Text-Format gespeichert oder auch verschlüsselt werden. Sichere Konfigurationseinstellungen werden vom Synchronisierungsdienst automatisch bei Bedarf ver- und entschlüsselt.
Trennen Sie beim Angeben benutzerdefinierter Konfigurationseinstellungen die Namen der einzelnen Parameter durch ein Komma (,).
Um über ein Skript auf benutzerdefinierte Konfigurationseinstellungen zuzugreifen, müssen Sie den Namen mit einem Unterstrich ( _ ) und dem Bereich des Parameters (Global, Partition oder RunStep) suffixieren. Mit dem folgenden Codeausschnitt können Sie beispielsweise auf den globalen FileName-Parameter zugreifen: $ConfigurationParameters["FileName_Global"].Value
Funktionen
Die Registerkarte „Funktionen“ des Verwaltungs-Agent-Designers dient zum Definieren des Verhaltens und der Funktionen des Connectors. Die auf dieser Registerkarte ausgewählten Optionen können nach der Erstellung des Connectors nicht mehr geändert werden. In dieser Tabelle werden die Funktionseinstellungen aufgeführt.
Funktion | BESCHREIBUNG |
---|---|
Distinguished Name Style | Gibt an, ob der Connector Distinguished Names unterstützt, und wenn ja, in welchem Format. |
Exporttyp | Bestimmt den Typ von Objekten, die dem Exportskript präsentiert werden. |
Datennormalisierung | Weist den Synchronisierungsdienst an, Ankerattribute vor der Bereitstellung für Skripts zu normalisieren. |
Objektbestätigung | Dient zum Konfigurieren des Verhaltens in Verbindung mit ausstehenden Importen des Synchronisierungsdiensts. |
DN als Anker verwenden | Wenn das Format für den Distinguished Name auf LDAP festgelegt ist, ist das Ankerattribut für den Connectorbereich gleichzeitig der Distinguished Name. |
Parallele Vorgänge für mehrere Connectors | Ist diese Option aktiviert, können mehrere Windows PowerShell-Connectors gleichzeitig ausgeführt werden. |
Partitionen | Ist diese Option aktiviert, unterstützt der Connector mehrere Partitionen und die Partitionsermittlung. |
Hierarchy | Ist diese Option aktiviert, unterstützt der Connector eine hierarchische Struktur im LDAP-Stil. |
Import aktivieren | Ist diese Option aktiviert, importiert der Connector Daten über Importskripts. |
Deltaimport aktivieren | Ist diese Option aktiviert, kann der Connector Deltas aus den Importskripts anfordern. |
Export aktivieren | Ist diese Option aktiviert, exportiert der Connector Daten über Exportskripts. |
Vollständigen Export aktivieren | Ist diese Option aktiviert, unterstützen die Exportskripts das Exportieren des gesamten Connectorbereichs. Hierzu muss auch „Export aktivieren“ aktiviert sein. |
Keine Referenzwerte im ersten Exportdurchlauf | Ist diese Option aktiviert, werden Verweisattribute in einem zweiten Exportdurchlauf exportiert. |
Objektumbenennung aktivieren | Ist diese Option aktiviert, können Distinguished Names geändert werden. |
Löschen/Hinzufügen als Ersetzung | Ist diese Option aktiviert, werden Lösch-/Hinzufügevorgänge als einzelne Ersetzung exportiert. |
Kennwortvorgänge aktivieren | Ist diese Option aktiviert, werden Kennwortsynchronisierungsskripts unterstützt. |
Kennwortexport im ersten Durchlauf aktivieren | Ist diese Option aktiviert, werden während der Bereitstellung festgelegte Kennwörter bei der Objekterstellung exportiert. |
Globale Parameter
Auf der Registerkarte „Globale Parameter“ des Verwaltungs-Agent-Designers können Sie die vom Connector ausgeführten Windows PowerShell-Skripts konfigurieren. Zudem können Sie globale Werte für benutzerdefinierte Konfigurationseinstellungen konfigurieren, die auf der Registerkarte „Konnektivität“ definiert wurden.
Partitionsermittlung
Bei einer Partition handelt es sich um einen separaten Namespace innerhalb eines freigegebenen Schemas. So ist in Active Directory beispielsweise jede Domäne eine Partition innerhalb einer Gesamtstruktur. Eine Partition ist die logische Gruppierung für Import- und Exportvorgänge. Die Partition stellt den Kontext für Import- und Exportvorgänge dar, und alle Vorgänge werden in diesem Kontext ausgeführt. Partitionen müssen eine Hierarchie in LDAP darstellen. Anhand des Distinguished Name einer Partition wird beim Importieren sichergestellt, dass sich alle zurückgegebenen Objekte innerhalb des Bereichs einer Partition befinden. Der Distinguished Name der Partition wird auch bei Metaverse-basierten Bereitstellungen für den Connectorbereich verwendet, um zu bestimmen, welcher Partition ein Objekt beim Exportieren zugeordnet werden soll.
Das Partitionsermittlungsskript erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
Das Skript muss entweder ein einzelnes Objekt vom Typ Partition oder eine Liste (List[T]) mit Partitionsobjekten an die Pipeline zurückgeben.
Hierarchieermittlung
Das Hierarchieermittlungsskript wird nur verwendet, wenn für den Distinguished Name das LDAP-Format verwendet wird. Mithilfe des Skripts können Sie eine Gruppe von Containern suchen und auswählen, die bei Import- und Exportvorgängen als innerhalb oder außerhalb des gültigen Bereichs betrachtet werden sollen. Das Skript darf nur eine Liste mit Knoten bereitstellen, bei denen es sich um direkt untergeordnete Elemente des für das Skript angegebenen Stammknotens handelt.
Das Hierarchieermittlungsskript erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
ParentNode | HierarchyNode | Der Stammknoten der Hierarchie, unter dem das Skript direkt untergeordnete Elemente zurückgeben soll. |
Das Skript muss entweder ein einzelnes untergeordnetes HierarchyNode-Objekt oder eine Liste (List[T]) mit untergeordneten HierarchyNode-Objekten an die Pipeline zurückgeben.
Importieren
Connectors, die Importvorgänge unterstützen, müssen drei Skripts implementieren:
Import starten
Das Skript „Import starten“ wird zu Beginn eines Importausführungsschritts ausgeführt. In diesem Schritts können Sie eine Verbindung mit dem Quellsystemen herstellen und Vorbereitungsschritte vor dem Import von Daten aus dem verbundenen System durchführen.
Das Skript „Import starten“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
OpenImportConnectionRunStep | OpenImportConnectionRunStep | Informiert das Skript über Art der Importausführung (Delta oder vollständig) Partition, Hierarchie, Wasserzeichen und erwartete Seitengröße. |
Typen | Schema | Schema für den zu importierenden Connectorbereich. |
Das Skript muss ein einzelnes Objekt vom Typ OpenImportConnectionResults an die Pipeline zurückgeben, z.B.: Write-Output (New-Object Microsoft.MetadirectoryServices.OpenImportConnectionResults)
Daten importieren
Das Skript „Daten importieren“ wird vom Connector aufgerufen, bis das Skript meldet, dass keine Daten mehr zum Importieren vorhanden sind. Die maximale Seitengröße des Windows PowerShell-Connectors beträgt 9.999 Objekte. Falls Ihr Skript mehr als 9.999 Objekte für den Import zurückgibt, ist eine Auslagerung erforderlich. Der Connector macht eine benutzerdefinierte Dateneigenschaft verfügbar, mit deren Hilfe Sie ein Wasserzeichen speichern können. Dadurch kann der Objektimport bei jedem Aufruf des Datenimportskripts an der Stelle fortgesetzt werden, an der er zuvor unterbrochen wurde.
Das Skript „Daten importieren“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
GetImportEntriesRunStep | ImportRunStep | Enthält das Wasserzeichen (CustomData), das bei ausgelagerten Importvorgängen und bei Deltaimportvorgängen verwendet werden kann. |
OpenImportConnectionRunStep | OpenImportConnectionRunStep | Informiert das Skript über Art der Importausführung (Delta oder vollständig) Partition, Hierarchie, Wasserzeichen und erwartete Seitengröße. |
Typen | Schema | Schema für den zu importierenden Connectorbereich. |
Das Skript zum Importieren von Daten muss ein Objekt vom Typ „List [CSEntryChange]“ in die Pipeline schreiben. Diese Sammlung enthält CSEntryChange-Attribute, die die einzelnen zu importierenden Objekte darstellen. Bei einem vollständigen Import muss diese Sammlung einen vollständigen Satz an CSEntryChange-Objekten enthalten, die über sämtliche Attribute für die einzelnen Objekte verfügen. Bei einem Deltaimport muss das CSEntryChange-Objekt entweder die Deltas auf Attributebene für die einzelnen zu importierenden Objekte oder eine vollständige Darstellung der geänderten Objekte (Ersetzungsmodus) enthalten.
Import beenden
Zum Abschluss der Importausführung wird das Skript „Import beenden“ ausgeführt. Dieses Skript dient zum Ausführen sämtlicher erforderlicher Bereinigungsaufgaben (z. B. Trennen von Systemverbindungen und Reagieren auf Fehler).
Das Skript „Import beenden“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
OpenImportConnectionRunStep | OpenImportConnectionRunStep | Informiert das Skript über Art der Importausführung (Delta oder vollständig) Partition, Hierarchie, Wasserzeichen und erwartete Seitengröße. |
CloseImportConnectionRunStep | CloseImportConnectionRunStep | Informiert das Skript darüber, warum der Importvorgang beendet wurde. |
Das Skript muss ein einzelnes Objekt vom Typ CloseImportConnectionResults an die Pipeline zurückgeben, z.B.: Write-Output (New-Object Microsoft.MetadirectoryServices.CloseImportConnectionResults)
Exportieren
Analog zur Importarchitektur müssen Connectors mit Exportunterstützung drei Skripts implementieren:
Export starten
Das Skript „Export starten“ wird zu Beginn eines Exportausführungsschritts ausgeführt. In diesem Schritt können Sie eine Verbindung mit dem Quellsystem herstellen und alle Vorbereitungsschritte vor dem Export von Daten in das verbundene System durchführen.
Das Skript „Export starten“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
OpenExportConnectionRunStep | OpenExportConnectionRunStep | Informiert das Skript über Art der Exportausführung (Delta oder vollständig) Partition, Hierarchie und erwartete Seitengröße. |
Typen | Schema | Schema für den zu exportierenden Connectorbereich. |
Das Skript darf keine Ausgabe an die Pipeline zurückgeben.
Daten exportieren
Der Synchronisierungsdienst ruft das Skript „Daten exportieren“ so oft auf, bis alle ausstehenden Exportvorgänge verarbeitet wurden. Wenn die Anzahl der ausstehenden Exporte im Connectorbereich die Seitengröße des Connectors übersteigt, wird das Skript „Daten exportieren“ unter Umständen mehrmals aufgerufen (ggf. auch für das gleiche Objekt).
Das Skript „Daten exportieren“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
CSEntries | IListCSEntryChange | Liste mit allen Connectorbereichsobjekten mit ausstehenden Exportvorgängen, die während dieser Phase verarbeitet werden sollen. |
OpenExportConnectionRunStep | OpenExportConnectionRunStep | Informiert das Skript über Art der Exportausführung (Delta oder vollständig) Partition, Hierarchie und erwartete Seitengröße. |
Typen | Schema | Schema für den zu exportierenden Connectorbereich. |
Das Skript zum Exportieren von Daten muss ein Objekt vom Typ PutExportEntriesResults an die Pipeline zurückgeben. Dieses Objekt muss nur dann Ergebnisinformationen für die einzelnen exportierten Connectors enthalten, wenn ein Fehler auftritt oder die Ankerattribute geändert werden. Beispielsweise muss ein Objekt vom Typ PutExportEntriesResults an die Pipeline zurückgeben werden: Write-Output (New-Object Microsoft.MetadirectoryServices.PutExportEntriesResults)
Export beenden
Zum Abschluss der Exportausführung wird das Skript „Export beenden“ ausgeführt. Dieses Skript dient zum Ausführen sämtlicher erforderlicher Bereinigungsaufgaben (z. B. Trennen von Systemverbindungen und Reagieren auf Fehler).
Das Skript „Export beenden“ erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
OpenExportConnectionRunStep | OpenExportConnectionRunStep | Informiert das Skript über Art der Exportausführung (Delta oder vollständig) Partition, Hierarchie und erwartete Seitengröße. |
CloseExportConnectionRunStep | CloseExportConnectionRunStep | Informiert das Skript darüber, warum der Exportvorgang beendet wurde. |
Das Skript darf keine Ausgabe an die Pipeline zurückgeben.
Kennwortsynchronisierung
Windows PowerShell-Connectors können als Ziel für Kennwortänderungen/-zurücksetzungen verwendet werden.
Das Kennwortskript erhält vom Connector folgende Parameter:
Name | Datentyp | BESCHREIBUNG |
---|---|---|
ConfigParameters | KeyedCollection [Zeichenfolge, ConfigParameter] | Tabelle mit Konfigurationsparametern für den Connector. |
Leistungsnachweis | PSCredential | Enthält alle Anmeldeinformationen, die der Administrator auf der Registerkarte „Konnektivität“ eingegeben hat. |
Partition | Partition | Die Verzeichnispartition mit dem CSEntry-Element. |
CSEntry | CSEntry | Der Connectorbereichseintrag für das Objekt, für das eine Kennwortänderung oder -zurücksetzung vorliegt. |
OperationType | String | Gibt an, ob es sich bei dem Vorgang um eine Zurücksetzung (SetPassword) oder um eine Änderung (ChangePassword) handelt. |
PasswordOptions | PasswordOptions | Flags zum Angeben des gewünschten Verhaltens bei der Kennwortzurücksetzung. Dieser Parameter ist nur verfügbar, wenn „OperationType“ auf SetPasswordfestgelegt ist. |
OldPassword | String | Enthält das alte Kennwort des Objekts (bei Kennwortänderungen). Dieser Parameter ist nur verfügbar, wenn „OperationType“ auf ChangePasswordfestgelegt ist. |
NewPassword | String | Enthält das neue Kennwort des Objekts, das durch das Skript festgelegt werden soll. |
Vom Kennwortskript wird keine Ergebnisrückgabe an die Windows PowerShell-Pipeline erwartet. Bei einem Fehler im Kennwortskript muss das Skript eine der folgenden Ausnahmen auslösen, um den Synchronisierungsdienst über das Problem zu informieren:
- PasswordPolicyViolationException: Wird ausgelöst, wenn das Kennwort nicht der Kennwortrichtlinie des verbundenen Systems entspricht.
- PasswordIllFormedException: Wird ausgelöst, wenn das Kennwort für das verbundene System nicht zulässig ist.
- PasswordExtension: Wird für alle anderen Fehler im Kennwortskript ausgelöst.
Beispielconnectors
Eine vollständige Übersicht über die verfügbaren Beispielconnectors finden Sie unter Windows PowerShell Connector Sample Connector Collection (Windows PowerShell-Connectors – Sammlung mit Beispielconnectors).
Sonstige Hinweise
Zusätzliche Konfiguration für den Identitätswechsel
Gewähren Sie dem Benutzer, dessen Identität angenommen wird, auf dem Synchronisierungsdienst-Server die folgenden Berechtigungen:
Lesezugriff auf die folgenden Registrierungsschlüssel:
- HKEY_USERS\[SynchronizationServiceServiceAccountSID]\Software\Microsoft\PowerShell
- HKEY_USERS\[SynchronizationServiceServiceAccountSID]\Umgebung
Führen Sie zur Ermittlung der Sicherheits-ID (SID) des Dienstkontos des Synchronisierungsdiensts die folgenden PowerShell-Befehle aus:
$account = New-Object System.Security.Principal.NTAccount "<domain>\<username>"
$account.Translate([System.Security.Principal.SecurityIdentifier]).Value
Lesezugriff auf die folgenden Dateisystemordner:
- %ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions
- %ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\ExtensionsCache
- %ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\MaData\{ConnectorName}
Ersetzen Sie den Platzhalter {ConnectorName} durch den Namen des Windows PowerShell-Connectors.
Problembehandlung
- Informationen zum Aktivieren der Protokollierung für die Behandlung von Connectorproblemen finden Sie unter Vorgehensweise: Aktivieren der ETW-Ablaufverfolgung für Connectors.