1.0.19/Public/compare-AllegisIDNtransforms.ps1
function compare-AllegisIDNtransforms ($sourceOrg,$destOrg,$sourceAccessToken,$destAccessToken,$mapping,$change=$false){ $sourcetransforms=get-AllegisIDNtransform -orgName $sourceOrg -accessToken $sourceAccessToken $desttransforms=get-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken $converted=@() foreach ($transform in $sourcetransforms.items){ $temp=$transform | convertto-json -Depth 100 foreach ($map in $mapping.GetEnumerator()){ $temp=$temp -replace $map.name , $map.value } $converted+=$temp } $sources=get-AllegisIDNsource -orgName $destOrg -accessToken $destAccessToken foreach ($transform in $converted){ $pstransform=$transform | ConvertFrom-Json $strArray=($transform -split '\r?\n').Trim() foreach ($line in $strArray.where{$_ -like "*sourceName*"}){ $name=$line -replace '"sourceName":', '' $name=($name -replace '"','').trim() if ($name -notin $sources.name){write-warning "destination missing $name"} } $destps=$desttransforms.items.where{$_.id -eq $pstransform.id} $destjson=$destps | convertto-json -Depth 100 if ($destjson -eq $null){ "$($pstransform.id) - new-AllegisIDNtransform -orgName $destOrg -accessToken `$destAccessToken -transform `$transform" if ($change){ $confirmation = Read-Host "Are you Sure You Want To Proceed:" if ($confirmation -eq 'y') { new-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken -transform $transform } } }else{ $diff=Compare-Object $transform $destjson if ($diff -ne $null){ "$($pstransform.id) - update-AllegisIDNtransform -orgName $destOrg -accessToken `$destAccessToken -name '$($pstransform.id)' -transform `$transform" if ($change){ #$transform $confirmation = Read-Host "Are you Sure You Want To Proceed:" if ($confirmation -eq 'y') { update-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken -name "$($pstransform.id)" -transform $transform } } } } #$destjson=$transform | convertto-json -Depth 100 } } |