ADSync Powershell

Die ersten Versionen des DirSync hatten noch eine EXE zur Steuerung des Verzeichnisabgleichs, die auch per Windows Taskplaner aufgerufen wurde. Mit dem Release von AADConnect wurde auch ein PowerShell Modul "ADSync" installiert, welches bei Windows 2012 auch automatisch mit geladen wird.

Befehle des Modul ADSync

Über "Get-Command" kann schon sehr einfach ermittelt werden, welche neuen Commandlets das Modul bereit stellt. Es ist schön zu sehen, dass sich das Team an die PowerShell-Schreibweisen "Verb-PrefixBefehl" orientiert.

PS C:\> Get-Command -Module adsync

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Cmdlet          Add-ADSyncAADServiceAccount                        adsync
Cmdlet          Add-ADSyncAttributeFlowMapping                     adsync
Cmdlet          Add-ADSyncConnector                                adsync
Cmdlet          Add-ADSyncConnectorAnchorConstructionSettings      adsync
Cmdlet          Add-ADSyncConnectorAttributeInclusion              adsync
Cmdlet          Add-ADSyncConnectorHierarchyProvisioningMapping    adsync
Cmdlet          Add-ADSyncConnectorObjectInclusion                 adsync
Cmdlet          Add-ADSyncGlobalSettingsParameter                  adsync
Cmdlet          Add-ADSyncJoinConditionGroup                       adsync
Cmdlet          Add-ADSyncRule                                     adsync
Cmdlet          Add-ADSyncRunProfile                               adsync
Cmdlet          Add-ADSyncRunStep                                  adsync
Cmdlet          Add-ADSyncScopeConditionGroup                      adsync
Cmdlet          Disable-ADSyncConnectorPartition                   adsync
Cmdlet          Disable-ADSyncConnectorPartitionHierarchy          adsync
Cmdlet          Disable-ADSyncExportDeletionThreshold              adsync
Cmdlet          Enable-ADSyncConnectorPartition                    adsync
Cmdlet          Enable-ADSyncConnectorPartitionHierarchy           adsync
Cmdlet          Enable-ADSyncExportDeletionThreshold               adsync
Cmdlet          Get-ADSyncAADCompanyFeature                        adsync
Cmdlet          Get-ADSyncAADPasswordResetConfiguration            adsync
Cmdlet          Get-ADSyncAADPasswordSyncConfiguration             adsync
Cmdlet          Get-ADSyncAutoUpgrade                              adsync
Cmdlet          Get-ADSyncConnector                                adsync
Cmdlet          Get-ADSyncConnectorHierarchyProvisioningDNCompo... adsync
Cmdlet          Get-ADSyncConnectorHierarchyProvisioningMapping    adsync
Cmdlet          Get-ADSyncConnectorHierarchyProvisioningObjectC... adsync
Cmdlet          Get-ADSyncConnectorParameter                       adsync
Cmdlet          Get-ADSyncConnectorPartition                       adsync
Cmdlet          Get-ADSyncConnectorPartitionHierarchy              adsync
Cmdlet          Get-ADSyncConnectorTypes                           adsync
Cmdlet          Get-ADSyncExportDeletionThreshold                  adsync
Cmdlet          Get-ADSyncGlobalSettings                           adsync
Cmdlet          Get-ADSyncGlobalSettingsParameter                  adsync
Cmdlet          Get-ADSyncRule                                     adsync
Cmdlet          Get-ADSyncRunProfile                               adsync
Cmdlet          Get-ADSyncScheduler                                adsync
Cmdlet          Get-ADSyncSchema                                   adsync
Cmdlet          Get-ADSyncServerConfiguration                      adsync
Cmdlet          New-ADSyncConnector                                adsync
Cmdlet          New-ADSyncJoinCondition                            adsync
Cmdlet          New-ADSyncRule                                     adsync
Cmdlet          New-ADSyncRunProfile                               adsync
Cmdlet          New-ADSyncScopeCondition                           adsync
Cmdlet          Remove-ADSyncAADPasswordResetConfiguration         adsync
Cmdlet          Remove-ADSyncAADPasswordSyncConfiguration          adsync
Cmdlet          Remove-ADSyncAADServiceAccount                     adsync
Cmdlet          Remove-ADSyncAttributeFlowMapping                  adsync
Cmdlet          Remove-ADSyncConnector                             adsync
Cmdlet          Remove-ADSyncConnectorAnchorConstructionSettings   adsync
Cmdlet          Remove-ADSyncConnectorAttributeInclusion           adsync
Cmdlet          Remove-ADSyncConnectorHierarchyProvisioningMapping adsync
Cmdlet          Remove-ADSyncConnectorObjectInclusion              adsync
Cmdlet          Remove-ADSyncGlobalSettingsParameter               adsync
Cmdlet          Remove-ADSyncJoinConditionGroup                    adsync
Cmdlet          Remove-ADSyncRule                                  adsync
Cmdlet          Remove-ADSyncRunProfile                            adsync
Cmdlet          Remove-ADSyncRunStep                               adsync
Cmdlet          Remove-ADSyncScopeConditionGroup                   adsync
Cmdlet          Search-ADSyncDirectoryObjects                      adsync
Cmdlet          Set-ADSyncAADCompanyFeature                        adsync
Cmdlet          Set-ADSyncAADPasswordResetConfiguration            adsync
Cmdlet          Set-ADSyncAADPasswordSyncConfiguration             adsync
Cmdlet          Set-ADSyncAADPasswordSyncState                     adsync
Cmdlet          Set-ADSyncAutoUpgrade                              adsync
Cmdlet          Set-ADSyncClientVersion                            adsync
Cmdlet          Set-ADSyncConnectorParameter                       adsync
Cmdlet          Set-ADSyncGlobalSettings                           adsync
Cmdlet          Set-ADSyncScheduler                                adsync
Cmdlet          Set-ADSyncSchema                                   adsync
Cmdlet          Set-ADSyncServerConfiguration                      adsync
Cmdlet          Set-MIISADMAConfiguration                          adsync
Cmdlet          Start-ADSyncAADPasswordResetEndpoint               adsync
Cmdlet          Start-ADSyncPurgeRunHistory                        adsync
Cmdlet          Start-ADSyncSyncCycle                              adsync
Cmdlet          Stop-ADSyncAADPasswordResetEndpoint                adsync
Cmdlet          Stop-ADSyncSyncCycle                               adsync
Cmdlet          Test-AdSyncUserHasPermissions                      adsync
Cmdlet          Update-ADSyncConnectorPartition                    adsync
Cmdlet          Update-ADSyncConnectorSchema                       adsync
Cmdlet          Update-ADSyncDirectoryObject                       adsync
Cmdlet          Update-ADSyncDRSCertificates                       adsync

Replikation per Powershell

Interessant ist hier erst mal die Abfrage der aktuellen Replikationszeiten mit:

PS C:\> Get-ADSyncScheduler

AllowedSyncCycleInterval            : 00:30:00
CurrentlyEffectiveSyncCycleInterval : 00:30:00
CustomizedSyncCycleInterval         :
NextSyncCyclePolicyType             : Delta
NextSyncCycleStartTimeInUTC         : 10.03.2016 22:56:02
PurgeRunHistoryInterval             : 7.00:00:00
SyncCycleEnabled                    : True
MaintenanceEnabled                  : True
StagingModeEnabled                  : False

Replikation manuell starten

Die frühere EXE-Datei wurde nun auch durch ein Powershell-Commandlet ersetzt.

Start-ADSyncSyncCycle

Allerdings wartet das Commandlet nicht auf die "Rückkehr" oder die Fertigstellung und gibt auch keinen Ergebniscode aus. Es ist also wirklich nur ein "Trigger". Insofern sollten Sie weiterhin auf das DirSync Monitoring bauen.

Sonstige Commandlets

All die anderen Commandlets haben ich selbst noch nie benutzen müssen. Sicher habe ich bislang schon ein paar "GET-ADSync*"-Commandlets ausprobiert und zu sehen, was sie zurück liefern. Aber im Allgemeinen macht das Setup für den ADSync schon eine gute Arbeit und mit dem Rule Editor können die meisten Aktionen auch fehlerfrei durchgeführt werden.

Weitere Links