{"id":2634,"date":"2013-06-30T06:24:14","date_gmt":"2013-06-30T06:24:14","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=2634"},"modified":"2013-06-30T06:36:32","modified_gmt":"2013-06-30T06:36:32","slug":"comparing-two-fim-sync-services","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/comparing-two-fim-sync-services","title":{"rendered":"Comparing two FIM Sync Services"},"content":{"rendered":"<p>I&#8217;ve been working a lot on config migrations lately &#8211; specifically migrating FIM configuration from dev to test to prod. I wanted to be able to easily compare two Sync Service configurations: before a migration to see what the differences are; after a migration to confirm that the servers are now the same; as a record of the before vs after changes on the one server.<\/p>\n<p>So of course I wrote a couple of scripts.<\/p>\n<p><!--more--><\/p>\n<h3>ConvertToCSV-SyncConfig.ps1<\/h3>\n<p>The first script takes the name of the folder where you&#8217;ve exported a full server config and converts the XMLs to a series of sorted CSV files, which are easier to compare.<\/p>\n<pre>.\\ConvertToCSV-SyncConfig.ps1 -ServerConfigFolder \"E:\\fim\\DevSvrCfg\" -prefix \"dev\"<\/pre>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2635\" alt=\"SyncCompare1\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare1.jpg\" width=\"580\" height=\"205\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare1.jpg 580w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare1-300x106.jpg 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>When I convert a second server config folder I use a different prefix so I can tell them apart:<\/p>\n<pre>.\\ConvertToCSV-SyncConfig.ps1 -ServerConfigFolder \"E:\\fim\\PrdSvrCfg\" -prefix \"prd\"<\/pre>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare21.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2637\" alt=\"SyncCompare2\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare21.jpg\" width=\"207\" height=\"408\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare21.jpg 207w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare21-152x300.jpg 152w\" sizes=\"auto, (max-width: 207px) 100vw, 207px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>CompareCSV-SyncConfig.ps1<\/h3>\n<p>The final step is to compare the two sets of CSV files. (And I&#8217;ll have to thank Craig Martin here for very handily pointing out the use of <a href=\"http:\/\/www.identitytrench.com\/2013\/06\/using-compare-object-to-find-missing.html\">Compare-Object<\/a> right after I&#8217;d written the first version of this script to use the old DOS fc command.) The output is one &#8220;diff&#8221; file for each of the CV files, listing the lines that appear in one CSV but not the other.<\/p>\n<pre>.\\CompareCSV-SyncConfig.ps1 -prefix1 \"dev\" -prefix2 \"prd\"<\/pre>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare31.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2639\" alt=\"SyncCompare3\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare31.jpg\" width=\"713\" height=\"209\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare31.jpg 713w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2013\/06\/SyncCompare31-300x87.jpg 300w\" sizes=\"auto, (max-width: 713px) 100vw, 713px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>To get the scripts<\/h3>\n<p>Go to the <a href=\"https:\/\/unifysolutions.jira.com\/wiki\/display\/FIMTEAMCOM\/Sync+Service+Migration+Helper+Scripts\">FIM Team Community Script site<\/a> and download &#8220;Sync Config Comparison.zip&#8221;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working a lot on config migrations lately &#8211; specifically migrating FIM configuration from dev to test to prod. I wanted to be able to easily compare two Sync Service configurations: before a migration to see what the differences are; after a migration to confirm that the servers are now the same; as a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[60,58,23],"tags":[],"class_list":["post-2634","post","type-post","status-publish","format-standard","hentry","category-fim-2010-r2","category-fim-sync-service","category-powershell"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-Gu","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=2634"}],"version-history":[{"count":8,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2634\/revisions"}],"predecessor-version":[{"id":2647,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2634\/revisions\/2647"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=2634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=2634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=2634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}