Documentazione tecnica sul connettore Windows PowerShellWindows PowerShell Connector technical reference

Questo articolo descrive il connettore Windows PowerShellThis article describes the Windows PowerShell Connector. ed è applicabile ai prodotti seguenti:The article applies to the following products:

  • Microsoft Identity Manager 2016 (MIM2016)Microsoft Identity Manager 2016 (MIM2016)
  • Forefront Identity Manager 2010 R2 (FIM2010R2)Forefront Identity Manager 2010 R2 (FIM2010R2)
    • È necessario usare l'hotfix 4.1.3671.0 o versione successiva ( KB3092178).Must use hotfix 4.1.3671.0 or later KB3092178.

Per MIM2016 e FIM2010R2, il connettore è disponibile come download dall' Area download Microsoft.For MIM2016 and FIM2010R2, the Connector is available as a download from the Microsoft Download Center.

Panoramica del connettore PowerShellOverview of the PowerShell Connector

Il connettore PowerShell consente di integrare il servizio di sincronizzazione con sistemi esterni che offrono API basate su Windows PowerShell.The PowerShell Connector enables you to integrate the synchronization service with external systems that offer Windows PowerShell based APIs. Il connettore fornisce un collegamento tra le funzionalità del framework ECMA2 (Extensible Connectivity 2 Management Agent) e Windows PowerShell.The connector provides a bridge between the capabilities of the call-based extensible connectivity management agent 2 (ECMA2) framework and Windows PowerShell. Per altre informazioni sul framework ECMA, vedere le informazioni di riferimento su Extensible Connectivity 2.2 Management Agent.For more information about the ECMA framework, see the Extensible Connectivity 2.2 Management Agent Reference.

PrerequisitiPrerequisites

Prima di usare il connettore, verificare che nel server di sincronizzazione sia disponibile quanto segue:Before you use the Connector, make sure you have the following on the synchronization server:

  • Microsoft .NET 4.5.2 Framework o versione successivaMicrosoft .NET 4.5.2 Framework or later
  • Windows PowerShell 2.0, 3.0 o 4.0Windows PowerShell 2.0, 3.0, or 4.0

I criteri di esecuzione nel server del servizio di sincronizzazione devono essere configurati per consentire al connettore di eseguire script di Windows PowerShell.The execution policy on the Synchronization Service server must be configured to allow the connector to run Windows PowerShell scripts. Se gli script eseguiti dal connettore non hanno una firma digitale, eseguire questo comando per configurare i criteri di esecuzione: Unless the scripts the connector runs are digitally signed, configure the execution policy by running this command:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Creare un nuovo connettoreCreate a new Connector

Per creare un connettore Windows PowerShell nel servizio di sincronizzazione è necessario fornire una serie di script Windows PowerShell che eseguono i passaggi richiesti dal servizio di sincronizzazione.To create a Windows PowerShell connector in the synchronization service, you must provide a series of Windows PowerShell scripts that execute the steps requested by the synchronization service. Gli script da implementare variano a seconda dell'origine dati a cui ci si connette e alla funzionalità richiesta.Depending on the data source you connect to and the functionality you require, the scripts you must implement varies. Questa sezione illustra ogni script che è possibile implementare e quando sono necessari.This section outlines each of the scripts that can be implemented and when they are required.

Il connettore Windows PowerShell è progettato per archiviare ogni script all'interno del database del servizio di sincronizzazione.The Windows PowerShell connector is designed to store each of the scripts inside the Synchronization Service database. Anche se è possibile eseguire gli script archiviati nel file system, è più semplice inserire il corpo di ogni script direttamente nella configurazione del connettore.While it is possible to run scripts that are stored on the file system, it is easier to insert the body of each script directly in to the connector’s configuration.

Per creare un connettore PowerShell, in Synchronization Service selezionare Management Agent e quindi Create.To Create a PowerShell connector, in Synchronization Service select Management Agent and Create. Selezionare il connettore PowerShell (Microsoft) .Select the PowerShell (Microsoft) Connector.

Create Connector

ConnettivitàConnectivity

Specificare i parametri di configurazione per la connessione a un sistema remoto.Supply configuration parameters for connecting to a remote system. Questi valori verranno archiviati in modo sicuro dal servizio di sincronizzazione e resi disponibili per gli script Windows PowerShell quando viene eseguito il connettore.These values are securely stored by the Synchronization Service and made available to your Windows PowerShell scripts when the connector is run.

Connettività

È possibile configurare i parametri di connettività seguenti:You can configure the following Connectivity parameters:

ConnettivitàConnectivity

ParametroParameter Valore predefinitoDefault Value ScopoPurpose
ServerServer Nome del server a cui deve connettersi il connettore.Server name that the connector should connect to.
DomainDomain Dominio delle credenziali da archiviare e usare quando viene eseguito il connettore.Domain of the credential to store for use when the connector is run.
UtenteUser Nome utente delle credenziali da archiviare e usare quando viene eseguito il connettore.Username of the credential to store for use when the connector is run.
PasswordPassword Password delle credenziali da archiviare e usare quando viene eseguito il connettore.Password of the credential to store for use when the connector is run.
Impersonate Connector AccountImpersonate Connector Account FalseFalse Se impostato su True, il servizio di sincronizzazione esegue gli script di Windows PowerShell nel contesto delle credenziali specificate.When true, the synchronization service runs the Windows PowerShell scripts in the context of the credentials supplied. Se possibile, è consigliabile usare il parametro $Credentials passato a ogni script anziché la rappresentazione.When possible, it is recommended that the $Credentials parameter is passed to each script is used instead of impersonation. Per altre informazioni sulle autorizzazioni aggiuntive necessarie per usare questa opzione, vedere la sezione Configurazione aggiuntiva per la rappresentazione.For more information on additional permissions that are required to use this option, see Additional Configuration for Impersonation.
Load User Profile When ImpersonatingLoad User Profile When Impersonating FalseFalse Indica a Windows di caricare il profilo utente delle credenziali del connettore durante la rappresentazione.Instructs Windows to load the user profile of the connector’s credentials during impersonation. Se l'utente rappresentato ha un profilo mobile, il connettore non carica il profilo mobile.If the impersonated user has a roaming profile, the connector does not load the roaming profile. Per altre informazioni sulle autorizzazioni aggiuntive necessarie per usare questo parametro, vedere la sezione Configurazione aggiuntiva per la rappresentazione.For more information on additional permissions that are required to use this parameter, see Additional Configuration for Impersonation.
Logon Type When ImpersonatingLogon Type When Impersonating NoneNone Tipo di accesso durante la rappresentazione.Logon type during impersonation. Per altre informazioni, vedere la documentazione di dwLogonType.For more information, see the dwLogonType documentation.
Signed Scripts OnlySigned Scripts Only FalseFalse Se impostato su True, il connettore Windows PowerShell verifica che ogni script presenti una firma digitale valida.If true, the Windows PowerShell connector validates that each script has a valid digital signature. Se impostato su False, assicurarsi che i criteri di esecuzione di Windows PowerShell per il server del servizio di sincronizzazione siano impostati su RemoteSigned o su Unrestricted.If false, ensure that the Synchronization Service server’s Windows PowerShell execution policy is RemoteSigned or Unrestricted.

Modulo comuneCommon Module
Il connettore consente di archiviare un modulo di Windows PowerShell condiviso nella configurazione.The connector allows you to store a shared Windows PowerShell module in the configuration. Quando il connettore esegue uno script, il modulo di Windows PowerShell viene estratto nel file system perché possa essere importato da ogni script.When the connector runs a script, the Windows PowerShell module is extracted to the file system so that it can be imported by each script.

Per gli script di importazione, esportazione e sincronizzazione password il modulo comune viene estratto nella cartella MAData del connettore.For Import, Export, and Password Synchronization scripts, the common module is extracted to the connector’s MAData folder. Per gli script di schema, convalida, gerarchia e individuazione della partizione, il modulo comune viene estratto nella cartella %TEMP%.For Schema, Validation, Hierarchy, and Partition discovery scripts, the common module is extracted to the %TEMP% folder. In entrambi i casi, lo script del modulo comune estratto viene denominato in base all'impostazione del nome script del modulo comune.In both cases, the extracted Common Module script is named according to the Common Module Script Name setting.

Per caricare un modulo denominato FIMPowerShellConnectorModule.psm1 dalla cartella MAData, usare l'istruzione seguente: Import-Module (Join-Path -Path [Microsoft.MetadirectoryServices.MAUtils]::MAFolder -ChildPath "FIMPowerShellConnectorModule.psm1")To load a module called FIMPowerShellConnectorModule.psm1 from the MAData folder, use the following statement: Import-Module (Join-Path -Path [Microsoft.MetadirectoryServices.MAUtils]::MAFolder -ChildPath "FIMPowerShellConnectorModule.psm1")

Per caricare un modulo denominato FIMPowerShellConnectorModule.psm1 dalla cartella %TEMP%, usare l'istruzione seguente: Import-Module (Join-Path -Path $env:TEMP -ChildPath "FIMPowerShellConnectorModule.psm1")To load a module called FIMPowerShellConnectorModule.psm1 from the %TEMP% folder, use the following statement: Import-Module (Join-Path -Path $env:TEMP -ChildPath "FIMPowerShellConnectorModule.psm1")

Convalida dei parametriParameter Validation
Lo script di convalida è uno script Windows PowerShell facoltativo che può essere usato per verificare la validità dei parametri di configurazione del connettore specificati dall'amministratore.The Validation Script is an optional Windows PowerShell script that can be used to ensure that connector configuration parameters supplied by the administrator are valid. Questo script viene normalmente usato per convalidare le credenziali di connessione e del server, nonché i parametri di connessione.Validating server, connection credentials, and connectivity parameters are common usages of the validation script. Lo script di convalida viene chiamato dopo la modifica delle schede e finestre di dialogo seguenti:The validation script is called after the following tabs and dialogs are modified:

  • ConnettivitàConnectivity
  • Global ParametersGlobal Parameters
  • Partition ConfigurationPartition Configuration

Dal connettore, lo script di convalida riceve i parametri seguenti:The validation script receives the following parameters from the connector:

NameName Tipo di datiData Type DescrizioneDescription
ConfigParameterPageConfigParameterPage ConfigParameterPageConfigParameterPage La scheda o la finestra di dialogo di configurazione che ha attivato la richiesta di convalida.The configuration tab or dialog that triggered the validation request.
ConfigParametersConfigParameters KeyedCollection [stringa, ConfigParameter]KeyedCollection [string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.

Lo script di convalida deve restituire un singolo oggetto ParameterValidationResult alla pipeline.The validation script should return a single ParameterValidationResult object to the pipeline.

Individuazione dello schemaSchema Discovery
Lo script di individuazione dello schema è obbligatorio.The Schema Discovery script is mandatory. Questo script restituisce i tipi di oggetto, gli attributi e i vincoli di attributo usati dal servizio di sincronizzazione durante la configurazione delle regole del flusso di attributi.This script returns the object types, attributes, and attribute constraints that the Synchronization Service uses when configuring attribute flow rules. Lo script di individuazione dello schema viene eseguito durante la creazione del connettore e popola lo schema del connettore.The Schema Discovery script is run during connector creation and populates the connector’s schema. Viene anche usato dall'azione di aggiornamento dello schema in Synchronization Service Manager.It is also used by the Refresh Schema action in the Synchronization Service Manager.

Dal connettore, lo script di individuazione dello schema riceve i parametri seguenti:The schema discovery script receives the following parameters from the connector:

NameName Tipo di datiData Type DescrizioneDescription
ConfigParametersConfigParameters KeyedCollection [stringa, ConfigParameter]KeyedCollection [string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.

Lo script deve restituire un singolo oggetto Schema alla pipeline.The script must return a single Schema object to the pipeline. L'oggetto Schema è costituito da oggetti SchemaType che rappresentano i tipi di oggetto, ad esempio utenti e gruppi.The Schema object is composed of SchemaType objects that represent object types (for example: users and groups). L'oggetto SchemaType contiene una raccolta di oggetti SchemaAttribute che rappresentano gli attributi, ad esempio nome, cognome e indirizzo postale del tipo.The SchemaType object holds a collection of SchemaAttribute objects that represent the attributes (for example: given name, surname, and postal address) of the type.

Altri parametriAdditional Parameters
Oltre alle impostazioni di configurazione standard è possibile definire impostazioni di configurazione personalizzate aggiuntive specifiche dell'istanza del connettore.In addition to the standard configuration settings, you can define additional custom configuration settings that are specific to the instance of the Connector. Questi parametri possono essere specificati a livello di connettore, di partizione o di passaggio di esecuzione e sono accessibili dal relativo script di Windows PowerShell.These parameters can be specified at the connector, partition, or run step levels and accessed from the relevant Windows PowerShell script. Le impostazioni di configurazione personalizzate possono essere archiviate nel database del servizio di sincronizzazione in formato testo normale o crittografate.Custom configuration settings can be stored in the Synchronization Service database in plain text format or they may be encrypted. Il servizio di sincronizzazione crittografa e decrittografa automaticamente le impostazioni di configurazione protette quando è necessario.The Synchronization Service automatically encrypts and decrypts secure configuration settings when required.

Per specificare impostazioni di configurazione personalizzate, separare il nome di ogni parametro con una virgola (,).To specify custom configuration settings, separate the name of each parameter with a comma ( , ).

Per accedere alle impostazioni di configurazione personalizzate da uno script, è necessario aggiungere come suffisso al nome un carattere di sottolineatura ( _ ) e l'ambito del parametro (Global, Partition o RunStep).To access custom configuration settings from a script, you must suffix the name with an underscore ( _ ) and the scope of the parameter (Global, Partition, or RunStep). Ad esempio, per accedere al parametro Global FileName, usare il frammento di codice: $ConfigurationParameters["FileName_Global"].ValueFor example, to access the Global FileName parameter, use this code snippet: $ConfigurationParameters["FileName_Global"].Value

FunzionalitàCapabilities

La scheda Capabilities della finestra di progettazione dell'agente di gestione definisce il comportamento e le funzionalità del connettore.The capabilities tab of the Management Agent Designer defines the behavior and functionality of the connector. Dopo aver creato il connettore, non sarà più possibile modificare le selezioni effettuate in questa scheda.The selections made on this tab cannot be modified when the connector has been created. La tabella elenca le impostazioni delle funzionalità.This table lists the capability settings.

Funzionalità

FunzionalitàCapability DescrizioneDescription
Distinguished Name Style (Stile di nome distinto)Distinguished Name Style Indica se il connettore supporta i nomi distinti e il relativo stile.Indicates if the connector supports distinguished names and if so, what style.
Export Type (Tipo di esportazione)Export Type Determina il tipo degli oggetti che vengono presentati allo script di esportazione.Determines the type of objects that are presented to the Export script.
  • AttributeReplace: include il set completo di valori per un attributo multivalore quando l'attributo viene modificato.AttributeReplace – includes the full set of values for a multi-valued attribute when the attribute changes.
  • AttributeUpdate: include solo i valori differenziali per un attributo multivalore quando l'attributo viene modificato.AttributeUpdate – includes only the deltas to a multi-valued attribute when the attribute changes.
  • MultivaluedReferenceAttributeUpdate: include un set completo di valori per attributi multivalore non di riferimento e solo i valori differenziali per gli attributi di riferimento con più valori.MultivaluedReferenceAttributeUpdate - includes a full set of values for non-reference multi-valued attributes and only deltas for multi-valued reference attributes.
  • ObjectReplace: include tutti gli attributi per un oggetto quando viene modificato qualsiasi attributoObjectReplace – includes all attributes for an object when any attribute changes
  • Data Normalization (Normalizzazione dei dati)Data Normalization Indica al servizio di sincronizzazione di normalizzare gli attributi di ancoraggio prima che vengano forniti agli script.Instructs the Synchronization Service to normalize anchor attributes before they are provided to scripts.
    Object Confirmation (Conferma degli oggetti)Object Confirmation Consente di configurare il comportamento dell'importazione in sospeso nel servizio di sincronizzazione.Configures the pending import behavior in the Synchronization Service.
  • Normale: il comportamento predefinito che prevede che tutte le modifiche esportate siano confermate tramite l'importazioneNormal – default behavior that expects all exported changes to be confirmed via import
  • NoDeleteConfirmation: quando viene eliminato un oggetto, non viene generata alcuna importazione in sospeso.NoDeleteConfirmation – when an object is deleted, there is no pending import generated.
  • NoAddAndDeleteConfirmation: quando viene creato o eliminato un oggetto, non viene generata alcuna importazione in sospeso.NoAddAndDeleteConfirmation – when an object is created or deleted, there is no pending import generated.
  • Use DN as AnchorUse DN as Anchor Se la funzionalità Distinguished Name Style è impostata su LDAP, l'attributo di ancoraggio per lo spazio del connettore è anche il nome distinto.If the Distinguished Name Style is set to LDAP, the anchor attribute for the connector space is also the distinguished name.
    Concurrent Operations of Several ConnectorsConcurrent Operations of Several Connectors Se selezionata, è possibile eseguire contemporaneamente più connettori Windows PowerShell.When checked, multiple Windows PowerShell connectors can run simultaneously.
    PartitionsPartitions Se selezionata, il connettore supporta più partizioni e l'individuazione delle partizioni.When checked, the connector supports multiple partitions and partition discovery.
    HierarchyHierarchy Se selezionata, il connettore supporta una struttura gerarchica di tipo LDAP.When checked, the connector supports an LDAP style hierarchical structure.
    Enable ImportEnable Import Se selezionata, il connettore importa i dati attraverso gli script di importazione.When checked, the connector imports data via import scripts.
    Enable Delta ImportEnable Delta Import Se selezionata, il connettore può richiedere i differenziali dagli script di importazione.When checked, the connector can request deltas from the import scripts.
    Enable ExportEnable Export Se selezionata, il connettore esporta i dati attraverso gli script di esportazione.When checked, the connector exports data via export scripts.
    Enable Full ExportEnable Full Export Se selezionata, gli script di esportazione supportano l'esportazione dell'intero spazio del connettore.When checked, the export scripts support exporting the entire connector space. Per poter usare questa opzione deve essere selezionata anche l'opzione Enable Export.To use this option, Enable Export must also be checked.
    No Reference Values In First Export PassNo Reference Values In First Export Pass Se selezionata, gli attributi di riferimento vengono esportati in un secondo passaggio di esportazione.When checked, reference attributes are exported in a second export pass.
    Enable Object RenameEnable Object Rename Se selezionata, è possibile modificare i nomi distinti.When checked, distinguished names can be modified.
    Delete-Add As ReplaceDelete-Add As Replace Se selezionata, le operazioni di eliminazione-aggiunta vengono esportate come una singola sostituzione.When checked, delete-add operations are exported as a single replacement.
    Enable Password OperationsEnable Password Operations Se selezionata, gli script di sincronizzazione password sono supportati.When checked, password synchronization scripts are supported.
    Enable Export Password in First PassEnable Export Password in First Pass Se selezionata, le password impostate durante il provisioning vengono esportate quando viene creato l'oggetto.When checked, passwords set during provisioning are exported when the object is created.

    Global ParametersGlobal Parameters

    La scheda Global Parameters (Parametri globali) in Management Agent Designer consente di configurare gli script di Windows PowerShell eseguiti dal connettore.The Global Parameters tab in the Management Agent Designer enables you to configure the Windows PowerShell scripts that are run by the connector. È anche possibile configurare i valori globali per le impostazioni di configurazione personalizzate definite nella scheda Connectivity (Connettività).You can also configure global values for custom configuration settings defined on the Connectivity tab.

    Individuazione della partizionePartition Discovery
    Una partizione è uno spazio dei nomi separato all'interno di uno schema condiviso.A partition is a separate namespace within one shared schema. Ad esempio, in Active Directory ogni dominio è una partizione all'interno di una foresta.For example, in Active Directory every domain is a partition within one forest. Una partizione è il raggruppamento logico per le operazioni di importazione ed esportazione.A partition is the logical grouping for import and export operations. Queste hanno per contesto la partizione e tutte le operazioni vengono eseguite in questo contesto.Import and Export have partition as a context and all operations happens in this context. Le partizioni dovrebbero rappresentare una gerarchia in LDAP.Partitions are supposed to represent a hierarchy in LDAP. Il nome distinto di una partizione viene usato nell'importazione per verificare che tutti gli oggetti restituiti siano all'interno dell'ambito di una partizione.The distinguished name of a partition is used in import to verify that all returned objects are within the scope of a partition. Il nome distinto della partizione viene usato anche durante il provisioning dal metaverse allo spazio connettore per determinare a quale partizione deve essere associato un oggetto durante l'esportazione.The partition distinguished name is also used during provisioning from the metaverse to the connector space to determine the partition an object should be associated with during export.

    Dal connettore, lo script di individuazione della partizione riceve i parametri seguenti:The partition discovery script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.

    Lo script deve restituire un singolo oggetto Partition o un oggetto List[T] di oggetti Partition alla pipeline.The script must return a either a single Partition object or a List[T] of Partition objects to the pipeline.

    Individuazione della gerarchiaHierarchy Discovery
    Lo script di individuazione della gerarchia viene usato solo quando la funzionalità Distinguished Name Style è impostata su LDAP.The hierarchy discovery script is only used when the Distinguished Name Style capability is LDAP. Lo script viene usato per consentire di cercare e selezionare un set di contenitori che verrà considerato all'interno o all'esterno dell'ambito per le operazioni di importazione ed esportazione.The script is used to allow you to browse and select a set of containers that is considered in or out of scope for import and export operations. Lo script deve fornire solo un elenco di nodi figlio diretti del nodo radice specificato per lo script.The script should only provide a list of nodes that are direct children of the root node supplied to the script.

    Dal connettore, lo script di individuazione della gerarchia riceve i parametri seguenti:The hierarchy discovery script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    ParentNodeParentNode HierarchyNodeHierarchyNode Il nodo radice della gerarchia in cui lo script deve restituire nodi figlio diretti.The root node of the hierarchy under which the script should return direct children.

    Lo script deve restituire un singolo oggetto HierarchyNode figlio o un elenco [T] di oggetti HierarchyNode figlio alla pipeline.The script must return a either a single child HierarchyNode object or a List[T] of child HierarchyNode objects to the pipeline.

    ImportazioneImport

    I connettori che supportano operazioni di importazione devono implementare tre script.Connectors that support import operations must implement three scripts.

    Avvio dell'importazioneBegin Import
    Lo script di avvio dell'importazione viene eseguito all'inizio di un passaggio di esecuzione dell'importazione.The begin import script is run at the beginning of an import run step. Durante questo passaggio è possibile stabilire una connessione al sistema di origine ed eseguire passaggi preliminari prima di importare dati dal sistema connesso.During this step, you can establish a connection to the source system and do preparatory steps before importing data from the connected system.

    Dal connettore, lo script di avvio dell'importazione riceve i parametri seguenti:The begin import script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    OpenImportConnectionRunStepOpenImportConnectionRunStep OpenImportConnectionRunStepOpenImportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'importazione (differenziale o completa), la partizione, la gerarchia, la filigrana e la dimensione della pagina prevista.Informs the script about the type of import run (delta or full), partition, hierarchy, watermark, and expected page size.
    TypesTypes SchemaSchema Schema per lo spazio connettore che verrà importato.Schema for the connector space that is imported.

    Lo script deve restituire un singolo oggetto OpenImportConnectionResults alla pipeline, ad esempio: Write-Output (New-Object Microsoft.MetadirectoryServices.OpenImportConnectionResults)The script must return a single OpenImportConnectionResults object to the pipeline, for example: Write-Output (New-Object Microsoft.MetadirectoryServices.OpenImportConnectionResults)

    Importazione dei datiImport Data
    Lo script di importazione dei dati viene chiamato dal connettore finché lo script non indica che non ci sono altri dati da importare.The import data script is called by the connector until the script indicates that there is no more data to import. Il connettore Windows PowerShell ha una dimensione della pagina di 9.999 oggetti.The Windows PowerShell connector has a page size of 9,999 objects. Se lo script restituisce più di 9.999 oggetti per l'importazione, è necessario supportare il paging.If your script returns more than 9,999 objects for import, you must support paging. Il connettore espone una proprietà dei dati personalizzata che è possibile usare per archiviare una filigrana in modo che ogni volta che viene chiamato lo script di importazione dei dati, questo riprende l'importazione di oggetti dal punto in cui era stata interrotta.The connector exposes a custom data property that you can use to a store a watermark so that each time the import data script is called, your script resumes importing objects where it left off.

    Dal connettore, lo script di importazione dei dati riceve i parametri seguenti:The import data script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    GetImportEntriesRunStepGetImportEntriesRunStep ImportRunStepImportRunStep Contiene la filigrana (CustomData) che può essere usata durante le importazioni di paging e le importazioni differenziali.Holds the watermark (CustomData) that can be used during paged imports and delta imports.
    OpenImportConnectionRunStepOpenImportConnectionRunStep OpenImportConnectionRunStepOpenImportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'importazione (differenziale o completa), la partizione, la gerarchia, la filigrana e la dimensione della pagina prevista.Informs the script about the type of import run (delta or full), partition, hierarchy, watermark, and expected page size.
    TypesTypes SchemaSchema Schema per lo spazio connettore che verrà importato.Schema for the connector space that is imported.

    Lo script di importazione dei dati deve scrivere un oggetto List[CSEntryChange] nella pipeline.The import data script must write a List[CSEntryChange] object to the pipeline. Questa raccolta è costituita da attributi CSEntryChange che rappresentano ogni oggetto da importare.This collection is composed of CSEntryChange attributes that represent each object being imported. Durante l'esecuzione di una importazione completa, questa raccolta deve avere un set completo di oggetti CSEntryChange con tutti gli attributi per ogni oggetto.During a Full Import run, this collection should have a full set of CSEntryChange objects that have all attributes for every object. Durante un'importazione differenziale, l'oggetto CSEntryChange deve contenere i differenziali a livello di attributo per ogni oggetto da importare oppure una rappresentazione completa degli oggetti modificati (modalità di sostituzione).During a Delta Import, the CSEntryChange object should either contain the attribute level deltas for each object to import, or a complete representation of the objects that have changed (Replace mode).

    Fine importazioneEnd Import
    Al termine dell'esecuzione dell'importazione viene eseguito lo script di fine importazione.At the conclusion of the import run, the End Import script is run. che deve eseguire tutte le operazioni di pulizia necessarie, ad esempio chiudere le connessioni ai sistemi e rispondere agli errori.This script should perform any cleanup tasks necessary (for example, close connections to systems and respond to failures).

    Dal connettore, lo script di fine importazione riceve i parametri seguenti:The end import script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    OpenImportConnectionRunStepOpenImportConnectionRunStep OpenImportConnectionRunStepOpenImportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'importazione (differenziale o completa), la partizione, la gerarchia, la filigrana e la dimensione della pagina prevista.Informs the script about the type of import run (delta or full), partition, hierarchy, watermark, and expected page size.
    CloseImportConnectionRunStepCloseImportConnectionRunStep CloseImportConnectionRunStepCloseImportConnectionRunStep Fornisce informazioni allo script sul motivo per cui è stata terminata l'importazione.Informs the script about the reason the import was ended.

    Lo script deve restituire un singolo oggetto CloseImportConnectionResults alla pipeline, ad esempio Write-Output (New-Object Microsoft.MetadirectoryServices.CloseImportConnectionResults)The script must return a single CloseImportConnectionResults object to the pipeline, for example: Write-Output (New-Object Microsoft.MetadirectoryServices.CloseImportConnectionResults)

    EsportaExport

    Come per l'architettura di importazione del connettore, i connettori che supportano l'esportazione devono implementare tre script.Identical to the import architecture of the connector, connectors that support Export must implement three scripts.

    Avvio dell'importazioneBegin Export
    Lo script di avvio dell'esportazione viene eseguito all'inizio di un passaggio di esecuzione dell'esportazione.The begin export script is run at the beginning of an export run step. Durante questo passaggio è possibile stabilire una connessione al sistema di origine ed eseguire passaggi preliminari prima di esportare dati nel sistema connesso.During this step, you can establish a connection to the source system and conduct any preparatory steps before exporting data to the connected system.

    Dal connettore, lo script di avvio dell'esportazione riceve i parametri seguenti:The begin export script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    OpenExportConnectionRunStepOpenExportConnectionRunStep OpenExportConnectionRunStepOpenExportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'esportazione (differenziale o completa), la partizione, la gerarchia e la dimensione della pagina prevista.Informs the script about the type of export run (delta or full), partition, hierarchy, and expected page size.
    TypesTypes SchemaSchema Schema per lo spazio connettore che verrà esportato.Schema for the connector space that is exported.

    Lo script non deve restituire alcun output alla pipeline.The script should not return any output to the pipeline.

    Esportazione dei datiExport Data
    Il servizio di sincronizzazione chiama lo script di esportazione dei dati per il numero di volte necessario a elaborare tutte le esportazioni in sospeso.The Synchronization Service calls the Export Data script as many times as is necessary to process all pending exports. Se le esportazioni in sospeso dello spazio connettore superano le dimensioni di pagina del connettore, lo script di esportazione dei dati può essere chiamato più volte e anche più volte per lo stesso oggetto.If the connector space has more pending exports than the connector’s page size, the export data script may be called multiple times and possibly multiple times for the same object.

    Dal connettore, lo script di esportazione dei dati riceve i parametri seguenti:The export data script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    CSEntriesCSEntries IListCSEntryChangeIListCSEntryChange Elenco di tutti gli oggetti dello spazio del connettore con esportazioni in sospeso da elaborare durante questo passaggio.List of all the connector space objects with pending exports to be processed during this pass.
    OpenExportConnectionRunStepOpenExportConnectionRunStep OpenExportConnectionRunStepOpenExportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'esportazione (differenziale o completa), la partizione, la gerarchia e la dimensione della pagina prevista.Informs the script about the type of export run (delta or full), partition, hierarchy, and expected page size.
    TypesTypes SchemaSchema Schema per lo spazio connettore che verrà esportato.Schema for the connector space that is exported.

    Lo script di esportazione dei dati deve restituire un oggetto PutExportEntriesResults alla pipeline.The export data script must return a PutExportEntriesResults object to the pipeline. Questo oggetto non deve necessariamente includere le informazioni sui risultati per ogni connettore esportato a meno che non si verifichi un errore o una modifica dell'attributo di ancoraggio.This object does not need to include result information for each exported connector unless an error or a change to the anchor attribute occurs. Ad esempio, per restituire un oggetto PutExportEntriesResults alla pipeline: Write-Output (New-Object Microsoft.MetadirectoryServices.PutExportEntriesResults)For example, to return a PutExportEntriesResults object to the pipeline: Write-Output (New-Object Microsoft.MetadirectoryServices.PutExportEntriesResults)

    Fine esportazioneEnd Export
    Al termine dell'esecuzione dell'esportazione viene eseguito lo script di fine esportazione.At the conclusion of the export run, the End Export script to run. che deve eseguire tutte le operazioni di pulizia necessarie, ad esempio chiudere le connessioni ai sistemi e rispondere agli errori.This script should perform any cleanup tasks necessary (for example, close connections to systems and respond to failures).

    Dal connettore, lo script di fine esportazione riceve i parametri seguenti:The end export script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    OpenExportConnectionRunStepOpenExportConnectionRunStep OpenExportConnectionRunStepOpenExportConnectionRunStep Fornisce informazioni allo script sul tipo di esecuzione dell'esportazione (differenziale o completa), la partizione, la gerarchia e la dimensione della pagina prevista.Informs the script about the type of export run (delta or full), partition, hierarchy, and expected page size.
    CloseExportConnectionRunStepCloseExportConnectionRunStep CloseExportConnectionRunStepCloseExportConnectionRunStep Fornisce informazioni allo script sul motivo per cui è stata terminata l'esportazione.Informs the script about the reason the export was ended.

    Lo script non deve restituire alcun output alla pipeline.The script should not return any output to the pipeline.

    Sincronizzazione delle passwordPassword Synchronization

    I connettori Windows PowerShell possono essere usati come destinazione per la modifica o la reimpostazione delle password.Windows PowerShell connectors can be used as a target for password changes/resets.

    Dal connettore, lo script della password riceve i parametri seguenti:The password script receives the following parameters from the connector:

    NameName Tipo di datiData Type DescrizioneDescription
    ConfigParametersConfigParameters KeyedCollection[stringa, ConfigParameter]KeyedCollection[string, ConfigParameter] Tabella dei parametri di configurazione per il connettore.Table of configuration parameters for the Connector.
    CredenzialiCredential PSCredentialPSCredential Contiene le credenziali immesse dall'amministratore nella scheda Connectivity.Contains any credentials entered by the administrator on the Connectivity tab.
    PartitionPartition PartizionePartition Partizione della directory in cui si trova CSEntry.Directory partition that the CSEntry is in.
    CSEntryCSEntry CSEntryCSEntry Voce dello spazio del connettore per l'oggetto che ha ricevuto una modifica o la reimpostazione della password.Connector space entry for the object that is received a password change or reset.
    OperationTypeOperationType StringString Indica se l'operazione è una reimpostazione (SetPassword) o una modifica (ChangePassword).Indicates if the operation is a reset (SetPassword) or a change (ChangePassword).
    PasswordOptionsPasswordOptions PasswordOptionsPasswordOptions Flag che specifica il comportamento di reimpostazione della password preferito.Flags that specify the intended password reset behavior. Questo parametro è disponibile unicamente se OperationType è SetPassword.This parameter is only available if OperationType is SetPassword.
    OldPasswordOldPassword StringString Popolato con la vecchia password dell'oggetto per le operazioni di modifica della password.Populated with the object’s old password for password changes. Questo parametro è disponibile unicamente se OperationType è ChangePassword.This parameter is only available if OperationType is ChangePassword.
    NewPasswordNewPassword StringString Popolato con la nuova password dell'oggetto che lo script deve impostare.Populated with the object’s new password that the script should set.

    Lo script della password non deve restituire alcun risultato alla pipeline di Windows PowerShell.The password script is not expected to return any results to the Windows PowerShell pipeline. Se si verifica un errore nello script della password, lo script genera una delle eccezioni seguenti per segnalare il problema al servizio di sincronizzazione:If an error occurs in the password script, the script should throw one of the following exceptions to inform the Synchronization Service about the problem:

    Connettori di esempioSample Connectors

    Per una panoramica completa dei connettori di esempio disponibili, vedere Windows PowerShell Connector Sample Connector Collection (Raccolta di connettori di esempio per Windows PowerShell).For a complete overview of the available sample connectors, see Windows PowerShell Connector Sample Connector Collection.

    Altre noteOther notes

    Configurazione aggiuntiva per la rappresentazioneAdditional Configuration for Impersonation

    Concedere all'utente rappresentato le seguenti autorizzazioni nel server del servizio di sincronizzazione:Grant the user that is impersonated the following permissions on the Synchronization Service server:

    Accesso in scrittura alle chiavi del Registro di sistema seguenti:Read access to the following registry keys:

    • HKEY_USERS\[SynchronizationServiceServiceAccountSID]\Software\Microsoft\PowerShellHKEY_USERS\[SynchronizationServiceServiceAccountSID]\Software\Microsoft\PowerShell
    • HKEY_USERS\[SynchronizationServiceServiceAccountSID]\EnvironmentHKEY_USERS\[SynchronizationServiceServiceAccountSID]\Environment

    Per determinare l'ID di sicurezza (SID) dell'account di servizio del servizio di sincronizzazione, eseguire i comandi di PowerShell seguenti:To determine the Security Identifier (SID) of the Synchronization Service service account, run the following PowerShell commands:

    $account = New-Object System.Security.Principal.NTAccount "<domain>\<username>"
    $account.Translate([System.Security.Principal.SecurityIdentifier]).Value
    

    Accesso in lettura alle cartelle del file system seguenti:Read access to the following file system folders:

    • %ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions%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\ExtensionsCache
    • %ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\MaData\{ConnectorName}%ProgramFiles%\Microsoft Forefront Identity Manager\2010\Synchronization Service\MaData\{ConnectorName}

    Sostituire il nome del connettore Windows PowerShell per il segnaposto {ConnectorName}.Substitute the name of the Windows PowerShell connector for the {ConnectorName} placeholder.

    Risoluzione dei problemiTroubleshooting