diff --git a/src/LyncConnector/Template/LyncConnectorConfigExport.xml b/src/LyncConnector/Template/LyncConnectorConfigExport.xml index f4edbf1..6bb1a21 100644 --- a/src/LyncConnector/Template/LyncConnectorConfigExport.xml +++ b/src/LyncConnector/Template/LyncConnectorConfigExport.xml @@ -1,4 +1,4 @@ - + 1 - {A4ED877F-DAB0-455A-A645-EBA39E915BB8} + {46E3F078-5D69-4A51-8731-AC0483F19B6F} Skype Extensible2 PowerShell (Microsoft) PowerShell (Microsoft) Microsoft - 2016-02-16 22:56:32.939 - 2016-02-16 22:56:49.818 - 2 + 2016-02-22 18:11:48.930 + 2016-02-22 18:11:48.930 + 1 1 0 @@ -54,7 +54,7 @@ Set-StrictMode -Version "2.0" $Global:ConnectorName = "LyncPowerShellConnector" $Global:RemoteSessionName = "LyncPowerShellConnector" -$Error.Clear() +$Global:Error.Clear() #endregion "Global Variables" @@ -77,13 +77,20 @@ function Enter-Script param( [parameter(Mandatory = $true)] [string] - $ScriptType + $ScriptType, + [parameter(Mandatory = $false)] + [ValidateNotNull()] + [System.Collections.ArrayList] + $ErrorObject ) process { Write-Verbose "$Global:ConnectorName - $ScriptType Script: Execution Started..." - $Error.Clear() + if ($ErrorObject) + { + $ErrorObject.Clear() + } } } @@ -102,6 +109,10 @@ function Exit-Script [string] $ScriptType, [parameter(Mandatory = $false)] + [ValidateNotNull()] + [System.Collections.ArrayList] + $ErrorObject, + [parameter(Mandatory = $false)] [switch] $SuppressErrorCheck, [parameter(Mandatory = $false)] @@ -111,15 +122,19 @@ function Exit-Script process { - if ($Error.Count -ne 0 -and !$SuppressErrorCheck) + if (!$SuppressErrorCheck -and $ErrorObject -and $ErrorObject.Count -ne 0) { - $errorMessage = [string]$Error[0] + # Take the first one otherwise you get "An error occurred while enumerating through a collection: Collection was modified; enumeration operation may not execute.." + # Seems like a bug in Remote PSH + $errorMessage = $ErrorObject[0] # | Out-String -ErrorAction SilentlyContinue if ($ExceptionRaisedOnErrorCheck -eq $null) { $ExceptionRaisedOnErrorCheck = [Microsoft.MetadirectoryServices.ExtensibleExtensionException] } + $ErrorObject.Clear() + throw $errorMessage -as $ExceptionRaisedOnErrorCheck } @@ -906,40 +921,19 @@ function New-CSEntryChangeExportError [Guid] $CSEntryChangeIdentifier, [parameter(Mandatory = $true)] - [object] + [System.Collections.ArrayList] $ErrorObject ) $csentryChangeResult = $null + # Take the first one otherwise you get "An error occurred while enumerating through a collection: Collection was modified; enumeration operation may not execute.." + # Seems like a bug in Remote PSH + $errorDetail = $ErrorObject[0] # | Out-String -ErrorAction SilentlyContinue + Write-Warning ("CSEntry Identifier: {0}. ErrorCount: {1}. ErrorDetail: {2}" -f $CSEntryChangeIdentifier, $ErrorObject.Count, $errorDetail) + $csentryChangeResult = [Microsoft.MetadirectoryServices.CSEntryChangeResult]::Create($CSEntryChangeIdentifier, $null, "ExportErrorCustomContinueRun", "RUNTIME_EXCEPTION", $errorDetail) + Write-Warning ("CSEntryChangeResult Identifier: {0}. ErrorCode: {1}. ErrorName: {2}. ErrorDetail: {3}" -f $csentryChangeResult.Identifier, $csentryChangeResult.ErrorCode, $csentryChangeResult.ErrorName, $csentryChangeResult.ErrorDetail) - try - { - foreach ($cmdStatus in $ErrorObject) - { - $exception = $cmdStatus.GetBaseException() - $exceptionType = $exception.GetType().Name - $exceptionMessage = $exception.Message - - Write-Warning ("CSEntry Identifier: {0}. ErrorName: {1}. ErrorDetail: {2}" -f $CSEntryChangeIdentifier, $exceptionType, $exceptionMessage) - $csentryChangeResult = [Microsoft.MetadirectoryServices.CSEntryChangeResult]::Create($CSEntryChangeIdentifier, $null, "ExportErrorCustomContinueRun", $exceptionType, $exceptionMessage) - Write-Warning ("CSEntryChangeResult Identifier: {0}. ErrorCode: {1}. ErrorName: {2}. ErrorDetail: {3}" -f $csentryChangeResult.Identifier, $csentryChangeResult.ErrorCode, $csentryChangeResult.ErrorName, $csentryChangeResult.ErrorDetail) - - break # report the first error and stop - } - } - catch - { - foreach ($cmdStatus in $ErrorObject) - { - $exceptionType = "RUNTIME_EXCEPTION" - $exceptionMessage = $cmdStatus.ToString() - Write-Warning ("CSEntry Identifier: {0}. Error: {1}" -f $CSEntryChangeIdentifier, $exceptionMessage) - $csentryChangeResult = [Microsoft.MetadirectoryServices.CSEntryChangeResult]::Create($CSEntryChangeIdentifier, $null, "ExportErrorCustomContinueRun", $exceptionType, $exceptionMessage) - Write-Warning ("CSEntryChangeResult Identifier: {0}. ErrorCode: {1}. ErrorName: {2}. ErrorDetail: {3}" -f $csentryChangeResult.Identifier, $csentryChangeResult.ErrorCode, $csentryChangeResult.ErrorName, $csentryChangeResult.ErrorDetail) - - break # report the first error and stop - } - } + $ErrorObject.Clear() return $csentryChangeResult } @@ -1089,7 +1083,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Validation" +Enter-Script -ScriptType "Validation" -ErrorObject $Error function Test-ConfigParameterPage { @@ -1289,7 +1283,7 @@ function Test-GlobalConfigParameterPage Test-ConfigParameterPage -Exit-Script -ScriptType "Validation" +Exit-Script -ScriptType "Validation" -ErrorObject $Error <# <copyright file="SchemaScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -1324,7 +1318,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Schema" +Enter-Script -ScriptType "Schema" -ErrorObject $Error function Get-ConnectorSchema { @@ -1350,7 +1344,7 @@ function Get-ConnectorSchema Get-ConnectorSchema -Exit-Script -ScriptType "Schema" +Exit-Script -ScriptType "Schema" -ErrorObject $Error SipAddressType,SipDomain,ForceMove,UserPages, OrganizationalUnitPages,PreferredDomainControllerFQDN, LastRunDateTimeOffsetMinuteLdapAttributeUpdateNoneNoAddAndDeleteConfirmation0111111011100<# <copyright file="PartitionScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -1385,7 +1379,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Partition" +Enter-Script -ScriptType "Partition" -ErrorObject $Error function Get-Partitions { @@ -1485,7 +1479,7 @@ if ([string]::IsNullOrEmpty($preferredDomainController)) Get-Partitions -Exit-Script -ScriptType "Partition" +Exit-Script -ScriptType "Partition" -ErrorObject $Error <# <copyright file="HierarchyScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -1523,7 +1517,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Hierarchy" +Enter-Script -ScriptType "Hierarchy" -ErrorObject $Error function Get-Hierarchy { @@ -1597,7 +1591,7 @@ if (![string]::IsNullOrEmpty($preferredDomainController)) Get-Hierarchy -Exit-Script -ScriptType "Hierarchy" +Exit-Script -ScriptType "Hierarchy" -ErrorObject $Error <# <copyright file="Begin-ImportScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -1636,7 +1630,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Begin-Import" +Enter-Script -ScriptType "Begin-Import" -ErrorObject $Error function Get-OpenImportConnectionResults { @@ -1732,6 +1726,7 @@ if (![string]::IsNullOrEmpty($preferredDomainController)) } $session = Get-PSSession -Name $Global:RemoteSessionName -ErrorAction "SilentlyContinue" +$Error.Clear() # Could use -ErrorAction "Igonre" in PSH v3.0 if (!$session) { @@ -1749,7 +1744,7 @@ if (!$session) Get-OpenImportConnectionResults $exceptionRaisedOnErrorCheck = [Microsoft.MetadirectoryServices.ServerDownException] -Exit-Script -ScriptType "Begin-Import" -ExceptionRaisedOnErrorCheck $exceptionRaisedOnErrorCheck +Exit-Script -ScriptType "Begin-Import" -ExceptionRaisedOnErrorCheck $exceptionRaisedOnErrorCheck -ErrorObject $Error <# <copyright file="ImportScript-Lync.ps1" company="Microsoft"> @@ -1791,7 +1786,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Import" +Enter-Script -ScriptType "Import" -ErrorObject $Error function Import-CSEntries { @@ -2248,7 +2243,7 @@ Write-Debug ("GetImportEntriesRunStep.CustomData received is: {0}" -f $customDat Import-CSEntries -Exit-Script -ScriptType "Import" +Exit-Script -ScriptType "Import" -ErrorObject $Error <# <copyright file="End-ImportScript-Lync.ps1" company="Microsoft"> @@ -2291,7 +2286,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "End-Import" +Enter-Script -ScriptType "End-Import" -ErrorObject $Error function Get-CloseImportConnectionResults { @@ -2328,7 +2323,7 @@ if (Test-Variable -Name "Session" -Scope "Global") Remove-PSSession $Global:Session } -Exit-Script -ScriptType "End-Import" +Exit-Script -ScriptType "End-Import" -ErrorObject $Error <# <copyright file="Begin-ExportScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -2367,7 +2362,7 @@ $commonModule = (Join-Path -Path $ScriptDir -ChildPath $ConfigParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Begin-Export" +Enter-Script -ScriptType "Begin-Export" -ErrorObject $Error $server = Get-ConfigParameter -ConfigParameters $ConfigParameters -ParameterName "Server" $preferredDomainController = Get-ConfigParameter -ConfigParameters $ConfigParameters -ParameterName "PreferredDomainControllerFQDN" @@ -2380,6 +2375,7 @@ if (![string]::IsNullOrEmpty($preferredDomainController)) $Global:PreferredDomainController = $preferredDomainController $session = Get-PSSession -Name $Global:RemoteSessionName -ErrorAction "SilentlyContinue" +$Error.Clear() # Could use -ErrorAction "Igonre" in PSH v3.0 if (!$session) { @@ -2398,7 +2394,7 @@ if (!$session) } $exceptionRaisedOnErrorCheck = [Microsoft.MetadirectoryServices.ServerDownException] -Exit-Script -ScriptType "Begin-Export" -ExceptionRaisedOnErrorCheck $exceptionRaisedOnErrorCheck +Exit-Script -ScriptType "Begin-Export" -ExceptionRaisedOnErrorCheck $exceptionRaisedOnErrorCheck -ErrorObject $Error <# <copyright file="ExportScript-Lync.ps1" company="Microsoft"> Copyright (c) Microsoft. All Rights Reserved. @@ -2439,7 +2435,7 @@ $commonModule = (Join-Path -Path $scriptDir -ChildPath $configParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "Export" +Enter-Script -ScriptType "Export" -ErrorObject $Error function Export-CSEntries { @@ -2459,7 +2455,7 @@ function Export-CSEntries foreach ($csentryChange in $CSEntries) { - $Global:CmdStatus = $null + $Error.Clear() = $null $newAnchorTable = @{} $dn = Get-CSEntryChangeDN $csentryChange @@ -2492,12 +2488,12 @@ function Export-CSEntries } catch { - $Global:CmdStatus = "$_" + Write-Error "$_" } - if (Test-Variable "CmdStatus" "Global") + if ($Error) { - $csentryChangeResult = New-CSEntryChangeExportError -CSEntryChangeIdentifier $csentryChange.Identifier -ErrorObject $Global:CmdStatus + $csentryChangeResult = New-CSEntryChangeExportError -CSEntryChangeIdentifier $csentryChange.Identifier -ErrorObject $Error } else { @@ -2549,13 +2545,11 @@ function Export-User $cmd += " -DomainController '$preferredDomainController'" } - $cmd += " -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" - Write-Debug "Invoking $cmd for user: $dn" $x = Invoke-Expression $cmd - if (!$Global:CmdStatus) + if (!$Error) { $newAnchorTable.Add("Guid", $x.Guid.ToByteArray()) } @@ -2690,7 +2684,7 @@ function Invoke-EnableCsUserCommand $CSEntryChange ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange $identity = Get-CsIdentity $CSEntryChange @@ -2716,8 +2710,6 @@ function Invoke-EnableCsUserCommand $cmd += " -SipAddressType '$sipAddressType'" } - $cmd += " -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" - Write-Debug "Invoking $cmd for user: $dn" Invoke-Expression $cmd | Out-Null @@ -2740,7 +2732,7 @@ function Invoke-SetCsUserCommand $CSEntryChange ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange $identity = Get-CsIdentity $CSEntryChange @@ -2770,8 +2762,6 @@ function Invoke-SetCsUserCommand if ($remoteCallControlTelephonyEnabled -ne $null) { $cmd += " -RemoteCallControlTelephonyEnabled `$$remoteCallControlTelephonyEnabled" } if ($sipAddress -ne $null) { $cmd += " -SipAddress '$sipAddress'" } - $cmd += " -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" - Write-Debug "Invoking $cmd for user: $dn" Invoke-Expression $cmd | Out-Null @@ -2795,7 +2785,7 @@ function Invoke-GrantCsPolicyCommands ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange $identity = Get-CsIdentity $CSEntryChange @@ -2840,8 +2830,6 @@ function Invoke-GrantCsPolicyCommands if ($presencePolicyChanged) { $cmd += " | Grant-CsPresencePolicy -PolicyName '$presencePolicy' -PassThru" } if ($voicePolicyChanged) { $cmd += " | Grant-CsVoicePolicy -PolicyName '$voicePolicy' -PassThru" } - $cmd += " -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" - Write-Debug "Invoking $cmd for user: $dn" Invoke-Expression $cmd | Out-Null @@ -2864,14 +2852,14 @@ function Invoke-MoveCsUserCommand $CSEntryChange ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange $identity = Get-CsIdentity $CSEntryChange $registrarPool = Get-CSEntryChangeValue -CSEntryChange $CSEntryChange -AttributeName "RegistrarPool" if ($registrarPool) { - $cmd = "Move-CsUser -Identity '$identity' -Target $registrarPool -Force:`$$forceMove -Confirm:`$$false -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" + $cmd = "Move-CsUser -Identity '$identity' -Target $registrarPool -Force:`$$forceMove -Confirm:`$$false'" if (![string]::IsNullOrEmpty($preferredDomainController)) { $cmd += " -DomainController '$preferredDomainController'" @@ -2900,7 +2888,7 @@ function Invoke-DisableCsUserCommand $CSEntryChange ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange $identity = Get-CsIdentity $CSEntryChange @@ -2911,29 +2899,9 @@ function Invoke-DisableCsUserCommand $cmd += " -DomainController '$preferredDomainController'" } - $cmd += " -ErrorVariable 'Global:CmdStatus' -ErrorAction 'SilentlyContinue'" - Write-Debug "Invoking $cmd for user: $dn" Invoke-Expression $cmd | Out-Null - - # quick and dirty check for object deletion in AD. will probably need localisation. - # we could query AD as well, but that will again work only with PreferredDomainController setting in a multi-domain setup since we want to use objectGUID and not DN to bind. - if ($Global:CmdStatus) - { - foreach ($cmdStatus in $Global:CmdStatus) - { - $exceptionMessage = $cmdStatus.ToString() - if ($exceptionMessage.Contains("Management object not found for identity")) - { - Write-Warning ("CSEntry Identifier: {0}. Error: {1}" -f $CSEntryChange.Identifier, $exceptionMessage) - - $Global:CmdStatus = $null # ignore the error if the object is already deleted from AD. - } - - break # process the first error and stop - } - } } } @@ -2955,7 +2923,7 @@ function Get-CsIdentity $CSEntryChange ) - if (!$Global:CmdStatus) + if (!$Error) { $dn = Get-CSEntryChangeDN $CSEntryChange @@ -2987,7 +2955,7 @@ $forceMove = (Get-ConfigParameter -ConfigParameters $configParameters -Parameter Export-CSEntries -Exit-Script -ScriptType "Export" -SuppressErrorCheck +Exit-Script -ScriptType "Export" -SuppressErrorCheck -ErrorObject $Error <# <copyright file="End-ExportScript-Lync.ps1" company="Microsoft"> @@ -3030,23 +2998,23 @@ $commonModule = (Join-Path -Path $scriptDir -ChildPath $configParameters["Common if (!(Get-Module -Name (Get-Item $commonModule).BaseName)) { Import-Module -Name $commonModule } -Enter-Script -ScriptType "End-Export" +Enter-Script -ScriptType "End-Export" -ErrorObject $Error if (Test-Variable -Name "Session" -Scope "Global") { Remove-PSSession $Global:Session } -Exit-Script -ScriptType "End-Export" -UserPrincipalNameYesa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9contoso-dc01,contoso-dc0230OuOrganizationalUnitGuidNameObjectClassObjectCategoryArchivingPolicyAudioVideoDisabledClientPolicyClientVersionPolicyConferencingPolicyDialPlanDisplayNameEnabledEnabledForFederationEnabledForInternetAccessEnabledForRichPresenceEnterpriseVoiceEnabledExternalAccessPolicyFirstNameHomeServerHostedVoiceMailHostedVoicemailPolicyHostingProviderIdentityIPPBXSoftPhoneRoutingEnabledIsValidLastNameLineServerURILineURILocationPolicyOriginatorSidPinPolicyPresencePolicyPrivateLineProxyAddressesPublicNetworkEnabledRegistrarPoolRemoteCallControlTelephonyEnabledSamAccountNameSidSipAddressTargetRegistrarPoolTargetServerIfMovingTenantIdUserPrincipalNameVoicePolicy1 +Exit-Script -ScriptType "End-Export" -ErrorObject $Error +UserPrincipalNameYesa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,930OuOrganizationalUnitGuidNameObjectClassObjectCategoryArchivingPolicyAudioVideoDisabledClientPolicyClientVersionPolicyConferencingPolicyDialPlanDisplayNameEnabledEnabledForFederationEnabledForInternetAccessEnabledForRichPresenceEnterpriseVoiceEnabledExternalAccessPolicyFirstNameHomeServerHostedVoiceMailHostedVoicemailPolicyHostingProviderIdentityIPPBXSoftPhoneRoutingEnabledIsValidLastNameLineServerURILineURILocationPolicyOriginatorSidPinPolicyPresencePolicyPrivateLineProxyAddressesPublicNetworkEnabledRegistrarPoolRemoteCallControlTelephonyEnabledSamAccountNameSidSipAddressTargetRegistrarPoolTargetServerIfMovingTenantIdUserPrincipalNameVoicePolicy1 0 - {1F5269DB-30FA-4336-BF23-7B262C3744B5} + {B4B7B354-490F-4BB6-B51C-A033A21425F8} DC=contoso,DC=com - 2016-02-16 22:56:32.940 - 2016-02-16 22:56:32.940 + 2016-02-22 18:11:48.930 + 2016-02-22 18:11:48.930 1 1 @@ -3096,44 +3064,44 @@ Exit-Script -ScriptType "End-Export" - {A69619A5-34BD-4E13-B760-DBA4F097F4D2} + {D68E1254-24D0-4712-B95E-F8B843EB5139} Delta Import - 2016-02-16 22:56:32.987 + 2016-02-22 18:11:48.993 1 - 2016-02-16 22:56:32.987 - to-cs9999{1F5269DB-30FA-4336-BF23-7B262C3744B5}09999 + 2016-02-22 18:11:48.993 + to-cs9999{B4B7B354-490F-4BB6-B51C-A033A21425F8}09999 - {7CA44966-A6A0-4D51-96BF-B8DEFC3638CA} + {377CB8D6-408F-42D7-BB54-A6AE43A0E4A5} Delta Synchronization - 2016-02-16 22:56:32.987 + 2016-02-22 18:11:48.993 1 - 2016-02-16 22:56:32.987 - apply-pending1{1F5269DB-30FA-4336-BF23-7B262C3744B5}0 + 2016-02-22 18:11:48.993 + apply-pending1{B4B7B354-490F-4BB6-B51C-A033A21425F8}0 - {76DEAA73-DE13-4191-8927-CDD5358203C3} + {4F390475-DB7A-444B-A2E5-7C939F31C162} Export - 2016-02-16 22:56:32.987 + 2016-02-22 18:11:48.993 1 - 2016-02-16 22:56:32.987 - 1{1F5269DB-30FA-4336-BF23-7B262C3744B5}01 + 2016-02-22 18:11:48.993 + 1{B4B7B354-490F-4BB6-B51C-A033A21425F8}01 - {1B5BE29E-57E2-460C-A6BF-7D215DDF43F3} + {BE81662A-D9E5-4374-8DAE-697EBF73C1E4} Full Import - 2016-02-16 22:56:32.987 + 2016-02-22 18:11:48.993 1 - 2016-02-16 22:56:32.987 - to-cs9999{1F5269DB-30FA-4336-BF23-7B262C3744B5}09999 + 2016-02-22 18:11:48.993 + to-cs9999{B4B7B354-490F-4BB6-B51C-A033A21425F8}09999 - {176A097D-65AE-46A1-9D09-8CFB90CDD9A6} + {3A8C79F9-BBA4-4937-B7B7-128E77316BE8} Full Synchronisation - 2016-02-16 22:56:32.987 + 2016-02-22 18:11:48.993 1 - 2016-02-16 22:56:32.987 - reevaluate-flow-connectors1{1F5269DB-30FA-4336-BF23-7B262C3744B5}0 + 2016-02-22 18:11:48.993 + reevaluate-flow-connectors1{B4B7B354-490F-4BB6-B51C-A033A21425F8}0 @@ -3145,7 +3113,7 @@ Exit-Script -ScriptType "End-Export" - DisplayNameSynchronizationRuleIDSynchronizationRuleDataExpectedRuleEntryActionCreatedTimemsidmOutboundScopingFiltersmsidmOutboundIsFilterBasedSynchronizationRuleParametersRelationshipCriteriaPrecedencePersistentFlowInitialFlowILMObjectTypeFlowTypeExistenceTestDisplayNameDisconnectConnectedSystemObjectDependencyCreateILMObjectCreateConnectedSystemObjectConnectedSystemScopeConnectedSystemConnectedObjectTypednDisplayedOwnerTypeScopeOwnerDomainObjectSIDMemberMailNicknameEmailDisplayNameDescriptionAccountNameExpectedRulesListdnobjectGUIDCONTOSODomainobjectSidObjectSIDPostalCodePhotoOfficePhoneOfficeLocationOfficeFaxMobilePhoneMiddleNameManagerMailNicknameLastNameJobTitleFirstNameEmployeeTypeEmployeeStartDateEmployeeEndDateEmployeeIDEmailDisplayNamedescriptionDepartmentCountryCompanyCityAddressAccountNamesAMAccountNameExpectedRulesListdndntruetruetruetrue + DisplayNameSynchronizationRuleIDSynchronizationRuleDataExpectedRuleEntryActionCreatedTimemsidmOutboundScopingFiltersmsidmOutboundIsFilterBasedSynchronizationRuleParametersRelationshipCriteriaPrecedencePersistentFlowInitialFlowILMObjectTypeFlowTypeExistenceTestDisplayNameDisconnectConnectedSystemObjectDependencyCreateILMObjectCreateConnectedSystemObjectConnectedSystemScopeConnectedSystemConnectedObjectTypednDisplayedOwnerTypeScopeOwnerDomainObjectSIDMemberMailNicknameEmailDisplayNameDescriptionAccountNameExpectedRulesListdnobjectGUIDCONTOSODomainobjectSidObjectSIDPostalCodePhotoOfficePhoneOfficeLocationOfficeFaxMobilePhoneMiddleNameManagerMailNicknameLastNameJobTitleFirstNameEmployeeTypeEmployeeStartDateEmployeeEndDateEmployeeIDEmailDisplayNamedescriptionDepartmentCountryCompanyCityAddressAccountNamesAMAccountNameExpectedRulesListdndntruetruetruetrue