Public/Add-ConnectorSyncSessionObject.ps1
|
function Add-ConnectorSyncSessionObject { [CmdletBinding()] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [System.Collections.Hashtable] $Object ) process { if ($null -eq $Script:SyncSessionObjects) { throw "No active sync session. Please start a sync session before adding objects." } if ([String]::IsNullOrEmpty($Object.ExternalId)) { Write-Warning "Object must contain an 'ExternalId' key - skipping object." return } if ([String]::IsNullOrEmpty($Object.ObjectType)) { Write-Warning "Object must contain an 'ObjectType' key - skipping object." return } if ($null -eq $Object.Data -or $Object.Data.GetType().Name -notin "OrderedHashtable", "Hashtable") { Write-Warning "Object must contain a 'Data' key - skipping object." return } Write-Verbose "Adding object with ExternalId '$($Object.ExternalId)' and ObjectType '$($Object.ObjectType)' to sync session" $Script:SyncSessionObjects[$Object.ExternalId] = $Object } } |