<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>In search of simplicity, quality and tranquility in software engineering</title><link>http://blogs.msdn.com/willy-peter_schaub/default.aspx</link><description>| Willy-Peter Schaub | Microsoft DevX Customer and Project Management | VSTS Rangers |</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Kernel Debugging Day 3 - Interesting snippets of information for debugging in the trenches comes to an end</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/29/kernel-debugging-day-3-interesting-snippets-of-information-for-debugging-in-the-trenches-comes-to-an-end.aspx</link><pubDate>Sun, 29 Nov 2009 18:29:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929876</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9929876.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9929876</wfw:commentRss><description>&lt;p&gt;We had two interesting days as outlined in &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/26/kernel-debugging-day-1-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx"&gt;Kernel Debugging Day 1 - Interesting snippets of information for debugging in the trenches&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/27/kernel-debugging-day-2-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx"&gt;Kernel Debugging Day 2 - Interesting snippets of information for debugging in the trenches&lt;/a&gt;. Today was a journey at Mach 3 … I need the weekend to do a core brain dump and assimilate what ‘Roy’ has taught us in three very-fast paced, in-depth, guided and extremely interesting days. Therefore you will find no detailed step through today … I will continue this thread after digesting everything and once I start using the WinDBG debugger as a friend, not a strange and powerful alien :) &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/willy-peter_schaub/pages/common-windbg-commands-reference.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_3.png" width="289" height="167" /&gt;&lt;/a&gt; The commands have multiplied and I decided to combine all of the commands I used over these three days in &lt;a href="http://blogs.msdn.com/willy-peter_schaub/pages/common-windbg-commands-reference.aspx" target="_blank"&gt;one consolidated table&lt;/a&gt;. Note that this with (hang) in the description are good starting points when analysing a crash dump that is concerned with a hang condition.&lt;/p&gt;  &lt;p&gt;So, we promised no detailed step-through, but should at least look at one of the “hang” dumps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We open he crash dump with WinDBG as usual. &lt;/li&gt;    &lt;li&gt;Run &lt;strong&gt;!analyze –v&lt;/strong&gt; to get detailed debugging information. &lt;/li&gt;    &lt;li&gt;Run &lt;strong&gt;.trap …&lt;/strong&gt; to display the trap frame register state and also sets the register context.       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb.png" width="574" height="106" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Run &lt;strong&gt;knv&lt;/strong&gt; to display the stack trace&amp;#160; &lt;br /&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb_2.png" width="572" height="103" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Run up &lt;strong&gt;@eip&lt;/strong&gt; to show the code at the point of disaster       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb_3.png" width="578" height="195" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Run &lt;strong&gt;r&lt;/strong&gt; to display the registers&amp;#160; &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb_4.png" width="578" height="104" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt; Run&lt;strong&gt; !vm&lt;/strong&gt; to display virtual memory usage, whereby we take note of the pool allocation warning:      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb_5.png" width="576" height="199" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;In the analysis we dug into the code, looked at what the cause could be by following the assembly code in reverse. In essence we have run out of pool memory and the statement “&lt;strong&gt;rep stos dword ptr es:[edi]&lt;/strong&gt;”, which is a &lt;strong&gt;memset&lt;/strong&gt;, fails because the pointer we are working with is invalid.&lt;/li&gt;    &lt;li&gt;Run &lt;strong&gt;!process 0 0&lt;/strong&gt; … and we notice that process WRSSSDK is not releasing its handles. Common mistake when creating a thread and not closing the handle once the thread has said goodbye.      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/image_thumb_6.png" width="571" height="54" /&gt;&lt;/a&gt;&amp;#160;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s it …&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/CLIPART_OF_22434_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Clipart Illustration of a Full Classroom Of Students Sitting In Their School Desks And Listening To Their Professor As He Stands At A Chalkboard" border="0" alt="Clipart Illustration of a Full Classroom Of Students Sitting In Their School Desks And Listening To Their Professor As He Stands At A Chalkboard" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay3Interestingsnippetsof_11375/CLIPART_OF_22434_SMJPG_thumb.jpg" width="592" height="296" /&gt;&lt;/a&gt; Have a look at the &lt;a href="http://www.codemachine.com"&gt;&lt;strong&gt;www.codemachine.com&lt;/strong&gt;&lt;/a&gt; and their training programs, which are definitely worth it! &lt;strong&gt;Tilakraj ‘Roy’ Roychoudhury&lt;/strong&gt; had to contend with a classroom full of keen software engineers, most of whom have never and will probably never develop and debug kernel mode drivers, yet he managed to bring all of us home and share an immense amount of knowledge.&lt;/p&gt;  &lt;p&gt;Thank you ‘Roy’ … it was a real adventure :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929876" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Microsoft Canada Development Centre (MCDC) – Cook Book</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/28/microsoft-canada-development-centre-mcdc-cook-book.aspx</link><pubDate>Sat, 28 Nov 2009 06:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929584</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9929584.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9929584</wfw:commentRss><description>&lt;P&gt;What I admire about Canada and especially the Microsoft Canada Development Centre is the diversity of cultures and continuous innovations at work, in the communities and now in the kitchen. &lt;/P&gt;
&lt;P&gt;"Hot off the press" ... MCDC has just released its International Cookbook, which combines the large variety and fascination of cultures. If you love cooking and or food, this is a book you need to get yourself a copy.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/MicrosoftcanadaDevelopmentCentreCookBook_1393E/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/MicrosoftcanadaDevelopmentCentreCookBook_1393E/image_2.png"&gt;&lt;EM&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/MicrosoftcanadaDevelopmentCentreCookBook_1393E/image_thumb.png" width=802 height=606 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/MicrosoftcanadaDevelopmentCentreCookBook_1393E/image_thumb.png"&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; … it contains 37 gems from all over the world!&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929584" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/MCDC/default.aspx">MCDC</category></item><item><title>Which is the hardest working community?</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/27/which-is-the-hardest-working-community.aspx</link><pubDate>Fri, 27 Nov 2009 17:16:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929458</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9929458.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9929458</wfw:commentRss><description>&lt;p&gt;Well, I recently CC’d a distribution list to trigger awareness around a new member who had joined the Rangers initiatives and the following response from Robert was just classic: “&lt;em&gt;&lt;strong&gt;Welcome […] to the hardest working Microsoft community :)&lt;/strong&gt;&lt;/em&gt;”. &lt;/p&gt;  &lt;p&gt;We may not be the largest community, but we are definitely a passionate and competent technology family made up of members from the Microsoft Product Group, Microsoft Services, Microsoft Most valued Professionals and other partners working on strategic solutions. &lt;/p&gt;  &lt;p&gt;Find more information on the Rangers and their solutions at &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/ee358786"&gt;VSTS Rangers Home&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Here is a snapshot of the current members for whom I have managed to obtain a photo … there are many more:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/Whichisthehardestworkingcommunity_7F3C/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/Whichisthehardestworkingcommunity_7F3C/image_thumb_1.png" width="1259" height="488" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Two of these Rangers will soon be completing a sabbatical with the TFS Integration Platform team and we are looking forward to hearing all about their experience from their own keyboard :) My &lt;a href="http://dotnet.org.za/willy/archive/2007/04/27/redmond-sabbatical-day-11-d-day-or-fifi-day.aspx" target="_blank"&gt;sabbatical&lt;/a&gt; is already years back, but I definitely remember the very special baseball game that Bill (7th gentlemen from the left, top row) took me to.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929458" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/MVP/default.aspx">MVP</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category></item><item><title>TFS Integration Platform – Asking the right questions</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/27/tfs-integration-platform-asking-the-right-questions.aspx</link><pubDate>Fri, 27 Nov 2009 03:50:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929262</guid><dc:creator>willys</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9929262.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9929262</wfw:commentRss><description>&lt;p&gt;The dust is settling after the &lt;a href="http://www.codeplex.com/TFSIntegration" target="_blank"&gt;TFS Integration Platform&lt;/a&gt; “Alpha” shipped, although the downloads indicate that the dust is far from over. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformAskingtherightques_114BC/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformAskingtherightques_114BC/image_thumb.png" width="610" height="328" /&gt;&lt;/a&gt;While the platform team is working on the BETA release, the Rangers are continuing with the samples for the custom adapter developers and helping partners to figure out what needs to be planned for a potential migration. While the migration guidance, getting started and other documentation, which you can find on the Codeplex site, will get you into the right mindset and prepared for a possible migration or synchronisation, a great deal of planning and analysis is needed to make the experience a painless and successful one.&lt;/p&gt;  &lt;p&gt;We have started creating a batch of questions that we feel should be asked and answered. To ensure that we close the loop as much as possible, we would appreciate if you could give the list a quick scan and give us your comments in terms of the questions. &lt;/p&gt;  &lt;p&gt;If you have a need for migration and synchronization I recommend that you visit &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/bb840033.aspx"&gt;Team Foundation Server Migration and Integration Solutions&lt;/a&gt; as your first stop and then &lt;a href="http://www.codeplex.com/TFSIntegration" target="_blank"&gt;TFS Integration Platform&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;&lt;b&gt;Version Control Specific&lt;/b&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p&gt;&lt;i&gt;What migration / synchronisation type are you considering?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is your definition of required history?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What volume of data in terms of MB and number of files is involved?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the overall project structure?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the priority/ranking of migrating/sync’ing the project version control?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What does your branching structure look like on the source?&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What does your branching structure look like on the target?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;Is it necessary to keep current parent-child relationship between branches ?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What are the dependencies between projects ?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the manual process of migrating/sync’ing the data?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What trigger are you expecting? Manual or automatic? In case of latter timer or event based?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the evaluation and validation process and criteria? What makes the use case a win?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;b&gt;Work item Specific&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformAskingtherightques_114BC/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformAskingtherightques_114BC/image_thumb_1.png" width="592" height="439" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p&gt;&lt;i&gt;What migration / synchronisation type are you considering?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is your definition of required history?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What are the linking requirements?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What volume of data in terms number of work items and revisions is involved?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the overall project structure?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the priority/ranking of migrating/sync’ing the project work items?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What does your process template (fields and states) look like on the source?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What does your process template (fields and states) look like on the target?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What are the field and state mapping rules?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What trigger are you expecting? Manual or automatic? In case of latter timer or event based?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;i&gt;What is the evaluation and validation process and criteria? What makes the use case a win?&lt;/i&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;Are we supposed to migrate attachments ?&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;Are there any many-to-one field mappings ?&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt; We have not forgotten the time and capacity planning, which is the area that is still marked as “under construction” on the migration guidance poster you find on Codeplex.  &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929262" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/TFSMIS/default.aspx">TFSMIS</category></item><item><title>Kernel Debugging Day 2 - Interesting snippets of information for debugging in the trenches</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/27/kernel-debugging-day-2-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx</link><pubDate>Fri, 27 Nov 2009 03:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9929261</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9929261.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9929261</wfw:commentRss><description>&lt;p&gt;This post continues on day 2 of a debugging adventure we started in &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/26/kernel-debugging-day-1-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx" mce_href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/26/kernel-debugging-day-1-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx"&gt;Kernel Debugging Day 1 - Interesting snippets of information for debugging in the trenches&lt;/a&gt;. Today the spinning heads were still there … just spinning a lot faster, screaming for the caffeine boost regularly. &lt;/p&gt;  &lt;h2&gt;Some random, but interesting information I made a note of today    &lt;br /&gt;&lt;a href="file:///C:/Users/willys/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles14784BF/CLIPART_OF_10868_SM4.jpg" mce_href="file:///C:/Users/willys/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles14784BF/CLIPART_OF_10868_SM4.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CLIPART_OF_10868_SM_thumb2" border="0" alt="CLIPART_OF_10868_SM_thumb2" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_10868_SM_thumb2_d2494c14-f4db-4038-a81f-b4a0336fc74a.jpg" width="63" height="63" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_10868_SM_thumb2_d2494c14-f4db-4038-a81f-b4a0336fc74a.jpg" /&gt;&lt;/a&gt; &lt;/h2&gt;  &lt;p&gt;Did you know … that:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms801645.aspx" target="_blank" mce_href="http://msdn.microsoft.com/en-us/library/ms801645.aspx"&gt;KeBugCheckEx&lt;/a&gt; is the kernel ejection seat, which brings down the system in a controlled manner when the kernel discovers an unrecoverable inconsistency?       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/P7060036.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/P7060036.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P7060036" border="0" alt="P7060036" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/P7060036_thumb.jpg" width="113" height="85" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/P7060036_thumb.jpg" /&gt;&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;PDO&lt;/strong&gt; stands for physical device object, which us always the bottom most driver in the devstack, &lt;strong&gt;FDO&lt;/strong&gt; stands for function driver object, highlighted as servicename? Any drivers above FTO are filters?&amp;#160; &lt;br /&gt;&lt;font size="2" face="Courier New"&gt;kd&amp;gt; &lt;strong&gt;!drvobj pci&lt;/strong&gt;         &lt;br /&gt;Driver object (81238050) is for:         &lt;br /&gt;\Driver\PCI         &lt;br /&gt;Driver Extension List: (id , addr)&lt;/font&gt;       &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Device Object list:          &lt;br /&gt;81264668&amp;#160; 812659a0&amp;#160; 81265ce8&amp;#160; 81265030           &lt;br /&gt;81292438&amp;#160; 81292780&amp;#160; 81292ac8&amp;#160; 81292ca8           &lt;br /&gt;81292020&amp;#160; 81293030&amp;#160; 81201490&amp;#160; 81201680           &lt;br /&gt;81201870&amp;#160; 81201a60&amp;#160; 81201c50&amp;#160; 81201e40           &lt;br /&gt;81238620&amp;#160; &lt;br /&gt;&lt;strong&gt;kd&amp;gt; !devstack 81264668&amp;#160; &lt;br /&gt;&lt;/strong&gt;&amp;#160; !DevObj&amp;#160;&amp;#160; !DrvObj&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; !DevExt&amp;#160;&amp;#160; ObjectName           &lt;br /&gt;&amp;#160; ffbb4038&amp;#160; \Driver\abcmtag&amp;#160;&amp;#160;&amp;#160; ffbb40f0&amp;#160; Video0           &lt;br /&gt;&amp;#160; 81264298&amp;#160; \Driver\agp440&amp;#160;&amp;#160;&amp;#160;&amp;#160; 81264350&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160; 812643f8&amp;#160; \Driver\ACPI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8129a450&amp;#160; 00000056           &lt;br /&gt;&amp;gt; &lt;strong&gt;81264668&amp;#160; \Driver\PCI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 81264720&amp;#160; ABCPNP_PCI0013&lt;/strong&gt;           &lt;br /&gt;!DevNode 81264160 :           &lt;br /&gt;&amp;#160; DeviceInst is &amp;quot;PCI\VEN_1002&amp;amp;DEV_4C59&amp;amp;SUBSYS_001A103C&amp;amp;REV_00\4&amp;amp;74c6020&amp;amp;0&amp;amp;0008&amp;quot;           &lt;br /&gt;&amp;#160; &lt;strong&gt;ServiceName is &amp;quot;abctag”&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_2.png" target="_blank" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb.png" width="531" height="340" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb.png" /&gt;IRP&lt;/a&gt;&lt;/strong&gt; stands for I/O Request Packet. It is the basic I/O manager structure used to communicate with drivers and to allow drivers to communicate with each other, which involves two important functions are &lt;a href="http://msdn.microsoft.com/en-us/library/aa490633.aspx" target="_blank" mce_href="http://msdn.microsoft.com/en-us/library/aa490633.aspx"&gt;IoCallDriver&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/aa490590.aspx" target="_blank" mce_href="http://msdn.microsoft.com/en-us/library/aa490590.aspx"&gt;IoCompleteRequest&lt;/a&gt;, as shown in diagram.&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms810029.aspx#irql_sched_topic5" target="_blank" mce_href="http://msdn.microsoft.com/en-us/library/ms810029.aspx#irql_sched_topic5"&gt;IRQL&lt;/a&gt; &lt;/strong&gt;stands for interrupt request level and defines the hardware priority at which a processor operates at any given time. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;&lt;strong&gt;Some more Important Commands      &lt;br /&gt;&lt;a href="file:///C:/Users/willys/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles14784BF/CLIPART_OF_31354_SMJPG12.jpg" mce_href="file:///C:/Users/willys/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles14784BF/CLIPART_OF_31354_SMJPG12.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CLIPART_OF_31354_SMJPG_thumb10" border="0" alt="CLIPART_OF_31354_SMJPG_thumb10" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_31354_SMJPG_thumb10_36968d81-0dbe-4c25-96fc-bb1ab8a595a7.jpg" width="72" height="91" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_31354_SMJPG_thumb10_36968d81-0dbe-4c25-96fc-bb1ab8a595a7.jpg" /&gt;&lt;/a&gt;&amp;#160;&lt;/strong&gt; &lt;/h3&gt;  &lt;table border="0" cellspacing="0" cellpadding="0" width="849"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="139"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="708"&gt;         &lt;p align="center"&gt;&lt;strong&gt;description from WinDBG Help (go there for detailed help!)&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="139"&gt;!address&lt;/td&gt;        &lt;td width="708"&gt;displays information about the memory that the target process or target computer uses.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="139"&gt;!pte&lt;/td&gt;        &lt;td width="708"&gt;displays the page table entry (PTE) and page directory entry (PDE) for the specified address.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="139"&gt;.cxr&lt;/td&gt;        &lt;td width="708"&gt;displays the context record saved at the specified address. It also sets the register context.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="139"&gt;.kFrames&lt;/td&gt;        &lt;td width="708"&gt;sets the default length of a stack trace display, i.e. 0n256 = 256 length&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;More analysis of crash dumps?    &lt;br /&gt;----------------------------------&lt;/h2&gt;  &lt;p&gt;Instead of boring everyone with more crash dump crawl through, giving us all an opportunity to get some real sleep for a&amp;#160; change and allowing our spinning heads to calm down for day 3, I will simply highlight a few cool things I picked up during one of the crash dump analysis.&lt;/p&gt;  &lt;h3&gt;Figuring our the arguments&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;Let’s assume we are starting at the following code and would like to know what data is passed to the swprintf function.&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;b&gt;&lt;font size="2" face="Courier New"&gt;0: kd&amp;gt; kvn&lt;/font&gt;&lt;/b&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;# ChildEBP RetAddr Args to Child&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;00 eb45ba8c 8046305e eb45baa4 eb369ca8 eb45bae8 nt!_woutput+0x463 (FPO: [Non-Fpo])&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;01 eb45bac4 eb369daa &lt;strong&gt;eb45bb08&lt;/strong&gt; &lt;strong&gt;eb369c74&lt;/strong&gt; eb45bd08 nt!&lt;strong&gt;swprintf&lt;/strong&gt;+0x2e (FPO: [Non-Fpo])&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;02 eb45bd60 805023a8 857de298 857de288 80477abc ABCM+0x1daa&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;03 eb45bd78 804176b5 857de288 00000000 00000000 nt!SepNotifyFileSystems+0x32 (FPO: [Non-Fpo])&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;04 eb45bda8 804565fc 857de288 00000000 00000000 nt!ExpWorkerThread+0xaf (FPO: [Non-Fpo])&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;05 eb45bddc 8046b6a6 80417606 00000001 00000000 nt!PspSystemThreadStartup+0x54 (FPO: [Non-Fpo])&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;06 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;From online documentation we know that we are passing an address to a buffer, formatting information and a variable number of data arguments. To begin we display the contents of the two arguments on the stack, highlighted in the above code:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;strong&gt;&lt;font size="2" face="Courier New"&gt;0: kd&amp;gt; du /c 100 eb45bb08&lt;/font&gt;&lt;/strong&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb45bb08 &amp;quot;System:8 60 LOGOFF 000D0F0A: \\蔍뮘.ᥐ薂..&amp;quot;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;&lt;font size="2" face="Courier New"&gt;0: kd&amp;gt; du /c 100 eb369c74&lt;/font&gt;&lt;/strong&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369c74 &amp;quot;%s %d LOGOFF %08I64X: \\%s\%s %I64d Hours %I64d Minutes&amp;quot;&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;Line two above, shows the data and some strange characters towards the end. The following code is colour coded, to match the format string tokens with the data. Note that the addresses in lines 11 and 12 below are suspect. Also note that the data starts at &lt;strong&gt;ebp + 8&lt;/strong&gt; on the stack … just something we should all know when we are born.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb_4.png" width="670" height="232" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;To prove this, we check the first one out a bit more:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;b&gt;&lt;font size="2" face="Courier New"&gt;0: kd&amp;gt; !pte 05000000&lt;/font&gt;&lt;/b&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;05000000 - PDE at C0300050 PTE at C0014000&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;contains 00000000 &lt;strong&gt;unavailable&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;… that explains the crash we were looking at.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Figuring out a function internals&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;Let’s look at the same stack frame and figure out how we can display the complete code for the function that calls swprintf:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb_5.png" width="780" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb_3.png" width="526" height="590" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/image_thumb_3.png" /&gt;&lt;/a&gt;The trick is to &lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;Take the return address on line 6, which is the address to function (Y) where we will return after calling the function (X) that calls swprintf … puzzled? I was … therefore my cryptographic sketch on the right. &lt;/li&gt;      &lt;li&gt;Then use the &lt;strong&gt;ub&lt;/strong&gt; (determines the memory range to disassemble by counting backward) command to display the calling function backwards from the point of return to find the call to function Y. &lt;/li&gt;      &lt;li&gt;Then use the &lt;strong&gt;uf&lt;/strong&gt; (displays an assembly translation of the specified function in memory) command to display the function X and find the call to swprintf.&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;Let’s &lt;strong&gt;do it&lt;/strong&gt;, as Zayd would say.&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;strong&gt;0: kd&amp;gt; ub 805023a8&lt;/strong&gt; &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;nt!SepNotifyFileSystems+0x19:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;8050238f e89c3af6ff call nt!ExAcquireFastMutexUnsafe (80465e30)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;80502394 8b3570744780 mov esi,dword ptr [nt!SeFileSystemNotifyRoutinesHead (&lt;font color="#ff0000"&gt;80477470&lt;/font&gt;)]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;8050239a 85f6 test esi,esi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;8050239c 7410 je nt!SepNotifyFileSystems+0x38 (805023ae)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;8050239e 8b4508 mov eax,dword ptr [ebp+8]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;805023a1 8d5810 lea ebx,[eax+10h]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;805023a4 53 push ebx&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;805023a5 ff5604 &lt;strong&gt;call dword ptr [esi+4]&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;Line 10 above is the actual call to function (X), which gives us the start address of the function. To figure out the address we need to work out where &lt;strong&gt;esi&lt;/strong&gt; is set and that happens on line 4. So …&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;strong&gt;0: kd&amp;gt; dps &lt;font color="#ff0000"&gt;80477470&lt;/font&gt; L1&lt;/strong&gt;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;80477470 e3c2d4c8&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;strong&gt;0: kd&amp;gt; dps e3c2d4c8+4 L1&lt;/strong&gt;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;e3c2d4cc &lt;font color="#0000ff"&gt;eb369ce4&lt;/font&gt; ABCM+0x1ce4&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;On Line 1 we display the memory at the address as seen on line 4 in the previous code block and highlighted in red. &lt;/font&gt;&lt;font size="2" face="Courier New"&gt;We know now the value of esi, we add 4 as the statements states [esi+4] and display the memory. Line 4 gives us the starting address of function (X) on our diagram.&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;next we execute a &lt;strong&gt;uf&lt;/strong&gt; command to list the complete function. I am only showing extracts, else you would scroll through assembler code forever:&lt;/font&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;b&gt;&lt;font size="2" face="Courier New"&gt;0: kd&amp;gt; uf ABCM+0x1ce4&lt;/font&gt;&lt;/b&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;ABCM+0x1ce4:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;font color="#0000ff"&gt;eb369ce4&lt;/font&gt; 55 push ebp&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369ce5 8bec mov ebp,esp&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369ce7 81ec58020000 sub esp,258h&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369ced 56 push esi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369cee ff7508 push dword ptr [ebp+8]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369cf1 e88eeaffff call ABCM+0x784 (eb368784)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369cf6 8bf0 mov esi,eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369cf8 85f6 test esi,esi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369cfa 0f84d4000000 je ABCM+0x1dd4 (eb369dd4)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;ABCM+0x1d00:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d00 53 push ebx&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;em&gt;…cut code…&lt;/em&gt;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d29 8b4008 mov eax,dword ptr [eax+8]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;ABCM+0x1d2c:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d2c 3bf8 cmp edi,eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d2e 75fc jne ABCM+0x1d2c (eb369d2c)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;ABCM+0x1d30:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d30 ff15288336eb call dword ptr [ABCM+0x328 (eb368328)]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;&lt;font size="2" face="Courier New"&gt;&lt;em&gt;…cut code…&lt;b&gt;&lt;font size="2" face="Courier New"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_11154_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_11154_SM_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Blue Doctor Man Sitting at a Computer and Viewing an Xray of a Head Clipart Illustration" border="0" alt="Blue Doctor Man Sitting at a Computer and Viewing an Xray of a Head Clipart Illustration" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_11154_SM_thumb.jpg" width="375" height="375" mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay2Interestingsnippetsof_AD6/CLIPART_OF_11154_SM_thumb.jpg" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/b&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d98 8d85a8fdffff lea eax,[ebp-258h]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369d9e 68749c36eb push offset ABCM+0x1c74 (eb369c74)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369da3 50 push eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font color="#800000" size="2" face="Courier New"&gt;&lt;strong&gt;eb369da4 ff15c88236eb call dword ptr [ABCM+0x2c8 (eb3682c8)]&lt;/strong&gt;&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369daa 83c430 add esp,30h&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dad 8d85a8fdffff lea eax,[ebp-258h]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369db3 b900b236eb mov ecx,offset ABCM+0x3200 (eb36b200)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369db8 50 push eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369db9 8d45e8 lea eax,[ebp-18h]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dbc 50 push eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dbd 8d45f0 lea eax,[ebp-10h]&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dc0 50 push eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dc1 e824070000 call ABCM+0x24ea (eb36a4ea)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dc6 50 push eax&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dc7 e8d2eaffff call ABCM+0x89e (eb36889e)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dcc 56 push esi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dcd e89ee7ffff call ABCM+0x570 (eb368570)&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dd2 5f pop edi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dd3 5b pop ebx&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;ABCM+0x1dd4:&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dd4 5e pop esi&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dd5 c9 leave&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="2" face="Courier New"&gt;eb369dd6 c20400 ret 4&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;If we go back to the stack frame we know that swprintf returns to eb369daa, which means the address before is where we call swprintf. We have reverse engineered our way to the point of calling the function.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Last but not least …&lt;/h2&gt;  &lt;p&gt;May the force be with us for day 3 … I am off to sleep and to wake up in 4 hours again :| Tomorrow we shall introduce the presenter and the company delivering this exceptional course.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;&lt;strong&gt;.wake&lt;/strong&gt; command causes sleep mode to end.&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9929261" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Kernel Debugging Day 1 - Interesting snippets of information for debugging in the trenches</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/26/kernel-debugging-day-1-interesting-snippets-of-information-for-debugging-in-the-trenches.aspx</link><pubDate>Thu, 26 Nov 2009 08:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928989</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9928989.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9928989</wfw:commentRss><description>&lt;H2&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16234_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16234_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title="Blue Male Doctor In A Lab Coat, Sitting On A Stool And Bandaging A Blue Person That Has Been Hurt On The Head, Arm And Ankle Clipart Graphic" border=0 alt="Blue Male Doctor In A Lab Coat, Sitting On A Stool And Bandaging A Blue Person That Has Been Hurt On The Head, Arm And Ankle Clipart Graphic" align=right src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16234_SM_thumb.jpg" width=223 height=223 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16234_SM_thumb.jpg"&gt;&lt;/A&gt;Context&lt;/H2&gt;
&lt;P&gt;Two weeks ago an invite went out for a “Kernel Mode Debugging” course and as I am always interested in debugging and a challenge, I signed up. &lt;/P&gt;
&lt;P&gt;That’s where I was today and for the next two days. I have not done any kernel mode development for some time and am not planning to for the foreseeable future … so why am I here? Well, as mentioned, I love the challenge of exploring new things, but more importantly I have always been interested in being able to ponder over a “blue screen” and then be able to analyse and “kind-of-determine” what “could” have happened.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;By the way, if you are interested in debugging you must subscribe to this blog: &lt;A href="http://blogs.msdn.com/tess/default.aspx" mce_href="http://blogs.msdn.com/tess/default.aspx"&gt;If broken it is, fix it you should&lt;/A&gt;!&lt;/P&gt;
&lt;H2&gt;Some random, but interesting information I made a note of today &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10868_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10868_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Blue Man Holding a Pencil and Drawing a Circle on a Blueprint Clipart Illustration" border=0 alt="Blue Man Holding a Pencil and Drawing a Circle on a Blueprint Clipart Illustration" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10868_SM_thumb.jpg" width=63 height=63 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10868_SM_thumb.jpg"&gt;&lt;/A&gt; &lt;/H2&gt;
&lt;P&gt;Did you know … that:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;User mode stack is &lt;STRONG&gt;1MB&lt;/STRONG&gt; by default and kernel mode stack is limited to &lt;STRONG&gt;12k&lt;/STRONG&gt;? &lt;/LI&gt;
&lt;LI&gt;User mode knows a &lt;STRONG&gt;heap&lt;/STRONG&gt; and kernel mode a &lt;STRONG&gt;pool&lt;/STRONG&gt;? &lt;/LI&gt;
&lt;LI&gt;User mode has the &lt;STRONG&gt;AppVerifier&lt;/STRONG&gt; and kernel mode the &lt;STRONG&gt;DriverVerifier&lt;/STRONG&gt;? &lt;/LI&gt;
&lt;LI&gt;user mode is at home between addresses &lt;STRONG&gt;00000000h&lt;/STRONG&gt; and &lt;STRONG&gt;7FFFFFFFh&lt;/STRONG&gt;, while kernel mode lives and breathes between &lt;STRONG&gt;800000000h&lt;/STRONG&gt; and &lt;STRONG&gt;FFFFFFFFh&lt;/STRONG&gt;? &lt;/LI&gt;&lt;/OL&gt;
&lt;H2&gt;How are crash dumps created? &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10888_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10888_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Blue Man Leaning Against a Stack of Papers Clipart Illustration" border=0 alt="Blue Man Leaning Against a Stack of Papers Clipart Illustration" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10888_SM_thumb.jpg" width=58 height=58 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_10888_SM_thumb.jpg"&gt;&lt;/A&gt; &lt;/H2&gt;
&lt;P&gt;My focus, as mentioned, is not on driver development and debugging, but trying to understand kernel mode crash dumps. &lt;/P&gt;
&lt;H3&gt;&lt;EM&gt;What types of crash dumps do we have?&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/image_thumb.png" width=385 height=448 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/image_thumb.png"&gt;&lt;/A&gt; &lt;/EM&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Small Dump &lt;/STRONG&gt;… limited crash dump containing context and stack information for the faulting thread, current tread and process structures, kernel mode list, memory management data structures and pseudo-random pages related to the crash. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Kernel Dump&lt;/STRONG&gt; … contains resident kernel pages only and NO user mode stack or data. This type is good for blue screen analysis as most blue screens are hardware, driver and kernel mode related. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Full Dump&lt;/STRONG&gt; … contains the entire physical memory, and both kernel and user mode resident pages. Caution when running on 64-bit systems with lots and lots of RAM … the crash dump file will be huge! &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;&lt;EM&gt;How and when are they created?&lt;/EM&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;First we have to configure the system to write a crash dump … see &lt;STRONG&gt;Start-up and Recovery &lt;/STRONG&gt;dialog on the right. &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#800000&gt;&lt;EM&gt;Important Notes:&lt;/EM&gt;&lt;/FONT&gt; 
&lt;UL&gt;
&lt;LI&gt;Crash dumps created soon after system boot can be compressed much better, as the memory space and therefore the crash dump are primarily zeroes. Over time, memory is filled with data and becomes less compressible. &lt;/LI&gt;
&lt;LI&gt;The page file must be large enough to accommodate the crash dump, else no crash dump will be created. &lt;/LI&gt;
&lt;LI&gt;If you need a tool to force a crash dump, have a look at &lt;A href="http://www.osronline.com/article.cfm?article=153" mce_href="http://www.osronline.com/article.cfm?article=153"&gt;Bang&lt;/A&gt; on Bing. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;When the system crashes, the physical memory is written to the page file … based on the type of crash dump selected this can range from a few kilobytes to Terabytes on a 64-bit machine. &lt;/LI&gt;
&lt;LI&gt;When the system reboots, a special program (savedump.exe) copies the page file contents to the crash dump file. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;… so now that we have the basics of crash dumps, what is possible when we are staring at a crash dump file. Today we covered the following scenarios, each of which I will cover briefly. A more detailed walkthrough of these scenarios are beyond the scope of this blog or my understanding … if needed, you best refer to books such as “Advanced Windows Debugging ISBN:0321374460” or “&lt;A href="http://www.dumpanalysis.org/" mce_href="http://www.dumpanalysis.org/"&gt;Memory Dump Analysis Anthology&lt;/A&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Some of the Important Commands &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_31354_SMJPG_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_31354_SMJPG_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Clipart Illustration of a White Character Taking Notes Down On A Clipboard, A Supervisor, Manager, Or Someone Taking Inventory" border=0 alt="Clipart Illustration of a White Character Taking Notes Down On A Clipboard, A Supervisor, Manager, Or Someone Taking Inventory" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_31354_SMJPG_thumb.jpg" width=72 height=91 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_31354_SMJPG_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;Command with an exclamation mark (!) in front are extensions to WinDBG. To display the extension DLLs, run the command:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;kd&amp;gt; .chain &lt;BR&gt;&lt;/STRONG&gt;Extension DLL search Path: &lt;BR&gt;c:\windbg\WINXP;c:\windbg\winext;c:\windbg\winext\arcade;c:\windbg\pri;c:\windbg;c:\windbg\winext\arcade;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Windows Imaging\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Magellan Code Coverage Toolset\;c:\Program Files\System Center Operations Manager 2007\;C:\Program Files\Gumshoe\ &lt;BR&gt;Extension DLL chain: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbghelp: image 6.11.0001.404, API 6.1.6, built Wed Feb 25 17:55:30 2009 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [path: c:\windbg\dbghelp.dll] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext: image 6.11.0001.404, API 1.0.0, built Wed Feb 25 17:55:30 2009 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [path: c:\windbg\winext\ext.dll] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exts: image 6.11.0001.404, API 1.0.0, built Wed Feb 25 17:55:24 2009 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [path: c:\windbg\WINXP\exts.dll] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kext: image 6.11.0001.404, API 1.0.0, built Wed Feb 25 17:55:24 2009 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [path: c:\windbg\winext\kext.dll] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kdexts: image 6.1.7015.0, API 1.0.0, built Wed Feb 25 17:54:56 2009 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [path: c:\windbg\WINXP\kdexts.dll] &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;To get help for the extensions, run the following command:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;kd&amp;gt; !kdexts.help &lt;BR&gt;&lt;/STRONG&gt;acpicache [flags]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Displays cached ACPI tables &lt;BR&gt;acpiinf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Displays ACPI Information structure&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;… outout clipped …&lt;/EM&gt;&lt;/P&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width=1011&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=139&gt;
&lt;P align=center&gt;&lt;STRONG&gt;Command&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=870&gt;
&lt;P align=center&gt;&lt;STRONG&gt;description from WinDBG Help (go there for detailed help!)&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!analyze -v&lt;/TD&gt;
&lt;TD width=870&gt;displays information about the current exception or bug check.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!devstack&lt;/TD&gt;
&lt;TD width=870&gt;displays a formatted view of the device stack associated with a device object.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!drvobj&lt;/TD&gt;
&lt;TD width=870&gt;displays detailed information about a DRIVER_OBJECT.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!handle&lt;/TD&gt;
&lt;TD width=870&gt;displays information about a handle or handles that one or all processes in the target system own.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!irql&lt;/TD&gt;
&lt;TD width=870&gt;displays the interrupt request level (IRQL) of a processor on the target computer before the debugger break.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!memusage&lt;/TD&gt;
&lt;TD width=870&gt;displays summary statistics about physical memory use.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!poolused&lt;/TD&gt;
&lt;TD width=870&gt;displays memory use summaries, based on the tag used for each pool allocation.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!podev&lt;/TD&gt;
&lt;TD width=870&gt;displays the power capabilities of the target computer.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!process&lt;/TD&gt;
&lt;TD width=870&gt;displays information about the specified process, or about all processes, including the EPROCESS block.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!pte&lt;/TD&gt;
&lt;TD width=870&gt;displays the page table entry (PTE) and page directory entry (PDE) for the specified address.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!ready&lt;/TD&gt;
&lt;TD width=870&gt;displays summary information about each thread in the system in a READY state.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!session&lt;/TD&gt;
&lt;TD width=870&gt;displays one or more user sessions, or displays a specified process running in multiple user sessions.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!stacks&lt;/TD&gt;
&lt;TD width=870&gt;displays information about the kernel stacks.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!teb&lt;/TD&gt;
&lt;TD width=870&gt;displays a formatted view of the information in the thread environment block (TEB).&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!thread&lt;/TD&gt;
&lt;TD width=870&gt;displays summary information about a thread on the target system, including the ETHREAD block.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;!vm&lt;/TD&gt;
&lt;TD width=870&gt;displays summary information about virtual memory use statistics on the target system.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;.reload&lt;/TD&gt;
&lt;TD width=870&gt;deletes all symbol information for the specified module and reloads these symbols as needed&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;.sympath&lt;/TD&gt;
&lt;TD width=870&gt;changes the default path of the host debugger for symbol search.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;.trap&lt;/TD&gt;
&lt;TD width=870&gt;displays the trap frame register state and also sets the register context.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;dps&lt;/TD&gt;
&lt;TD width=870&gt;The dds (double word), dps (pointer-sized), and dqs (quad-word) commands display the contents of memory in the given range.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;kvf, kvn&lt;/TD&gt;
&lt;TD width=870&gt;display the stack frame of the given thread, together with related information&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;lm&lt;/TD&gt;
&lt;TD width=870&gt;displays the specified loaded modules.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;r&lt;/TD&gt;
&lt;TD width=870&gt;displays or modifies registers, floating-point registers, flags, pseudo-registers, and fixed-name aliases.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;ub&lt;/TD&gt;
&lt;TD width=870&gt;displays an assembly translation of the specified program code in memory.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;uf&lt;/TD&gt;
&lt;TD width=870&gt;displays an assembly translation of the specified function in memory.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;up&lt;/TD&gt;
&lt;TD width=870&gt;displays an assembly translation of the specified program code in physical memory.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=139&gt;vertarget&lt;/TD&gt;
&lt;TD width=870&gt;displays the current version of the Microsoft Windows operating system of the target computer.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H2&gt;How do we analyse these crash dumps? &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16420_SMJPG_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16420_SMJPG_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Pissed Blue Person Breaking A Flat Screen Computer Monitor With A Hammer Clipart Illustration Graphic" border=0 alt="Pissed Blue Person Breaking A Flat Screen Computer Monitor With A Hammer Clipart Illustration Graphic" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16420_SMJPG_thumb.jpg" width=92 height=69 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_16420_SMJPG_thumb.jpg"&gt;&lt;/A&gt; &lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;--------------------------------------------------- &lt;BR&gt;Scenario 1 – Light up the driver&lt;/STRONG&gt; 
&lt;OL&gt;
&lt;LI&gt;Main commands used: 
&lt;UL&gt;
&lt;LI&gt;!analyze –v &lt;/LI&gt;
&lt;LI&gt;dps &lt;/LI&gt;
&lt;LI&gt;lmvm &lt;/LI&gt;
&lt;LI&gt;.sympath &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Extract of crash dump analysis: &lt;A title=http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-problematic-driver.aspx href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-problematic-driver.aspx" target=_blank mce_href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-problematic-driver.aspx"&gt;http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-problematic-driver.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Steps to crash dump analysis: 
&lt;UL&gt;
&lt;LI&gt;{line:35} We run &lt;STRONG&gt;dps&lt;/STRONG&gt; on the work item address as hinted in {line:9,10}. We notice a third-party driver {line40} … the less than friendly driver+address format gives it away. &lt;/LI&gt;
&lt;LI&gt;{line:68} &lt;STRONG&gt;lmvm&lt;/STRONG&gt; gives us more detail for the cdp driver. &lt;/LI&gt;
&lt;LI&gt;{line:78} We load the symbols, by running &lt;STRONG&gt;.sympath&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;{line:83} Running &lt;STRONG&gt;dps&lt;/STRONG&gt; again, shows us that the driver has lit up and we even see the offending method. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;--------------------------------------------------- &lt;BR&gt;Scenario 2 – Find the module responsible for a crash&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_26151_SMJPG_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_26151_SMJPG_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title="Clipart Illustration of a White Character Inspecting A Laptop Computer With A Magnifying Glass, Over White" border=0 alt="Clipart Illustration of a White Character Inspecting A Laptop Computer With A Magnifying Glass, Over White" align=right src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_26151_SMJPG_thumb.jpg" width=408 height=291 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/KernelDebuggingDay1Interestingsnippetsof_B1EB/CLIPART_OF_26151_SMJPG_thumb.jpg"&gt;&lt;/A&gt;&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Main commands used: 
&lt;UL&gt;
&lt;LI&gt;!analyze –v &lt;/LI&gt;
&lt;LI&gt;!devstack &lt;/LI&gt;
&lt;LI&gt;!podev &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Extract of crash dump analysis: &lt;A title=http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-find-the-module-responsible-for-a-crash.aspx href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-find-the-module-responsible-for-a-crash.aspx" target=_blank mce_href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-find-the-module-responsible-for-a-crash.aspx"&gt;http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-find-the-module-responsible-for-a-crash.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Steps to crash dump analysis: 
&lt;UL&gt;
&lt;LI&gt;{line:24} !&lt;STRONG&gt;analyze –v&lt;/STRONG&gt; creates the analysis for easier reading &lt;/LI&gt;
&lt;LI&gt;{lines:31-34} The analysis pretty much tells us what the problem is, how to fix it in the driver and who the offending driver is … but for the latter, let’s do a few more steps. &lt;/LI&gt;
&lt;LI&gt;{line:92"}&lt;STRONG&gt; !devstack 814a32d0&lt;/STRONG&gt; gives us the device stack and we can see that NTPNP_PCI0005 is the bus driver (bottom) and the others drivers. By the way, we got the address from {line:34}. &lt;/LI&gt;
&lt;LI&gt;{lines: 101,109,117 and 125} &lt;STRONG&gt;!podev&lt;/STRONG&gt; shows us the power abilities for each driver. &lt;/LI&gt;
&lt;LI&gt;{line:107} We notice the invalid power flags, highlighted in yellow and assume that the xyzHostLegacyVideo driver is the area of concern. &lt;/LI&gt;
&lt;LI&gt;{line:33} Points us to the same driver … voila, we know who to call. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;--------------------------------------------------- &lt;BR&gt;Scenario 3 – Identify the cause of a driver crash&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Main commands used: 
&lt;UL&gt;
&lt;LI&gt;!analyze –v &lt;/LI&gt;
&lt;LI&gt;!drvobj &lt;/LI&gt;
&lt;LI&gt;!irp &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Extract of crash dump analysis: &lt;A title=http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-cause-of-a-driver-crash.aspx href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-cause-of-a-driver-crash.aspx" target=_blank mce_href="http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-cause-of-a-driver-crash.aspx"&gt;http://blogs.msdn.com/willy-peter_schaub/pages/kernel-mode-debugging-scenario-identify-the-cause-of-a-driver-crash.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Steps to crash dump analysis: 
&lt;UL&gt;
&lt;LI&gt;{line:17} &lt;STRONG&gt;analyze –v&lt;/STRONG&gt; creates the analysis for easier reading &lt;/LI&gt;
&lt;LI&gt;{lines 50-60} quite clearly point us towards the dummydma driver as the problem child &lt;/LI&gt;
&lt;LI&gt;{line:62"} &lt;STRONG&gt;!drvobj abcdma&lt;/STRONG&gt; 2 gives us the dispatch routines for the driver. &lt;/LI&gt;
&lt;LI&gt;Option A 
&lt;UL&gt;
&lt;LI&gt;{line:34} Defines the return address as f90a8799. &lt;/LI&gt;
&lt;LI&gt;{lines:94-99} We calculate the address as 799. Looking at the dispatch table we note that IRP_MJ_CLEANUP is closest to this address and hence the likely candidate. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Option B – Oh, Oh 
&lt;UL&gt;
&lt;LI&gt;{line:100} We assume that the second parameter is an IRP (&lt;EM&gt;I/O request packet&lt;/EM&gt;) after reviewing the &lt;A href="http://msdn.microsoft.com/en-us/library/aa490633.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa490633.aspx"&gt;IoCallDriver&lt;/A&gt; method. The !irp 80068f7c command fails?!? &lt;/LI&gt;
&lt;LI&gt;{line:37} Note the f, which indicates fast calling method. This means that the IRP is passed in registers, not the call stack. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Option C 
&lt;UL&gt;
&lt;LI&gt;{line:103} We assume the second parameter to the dummydma call is the IRP and call &lt;STRONG&gt;!irp ffb31d48&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;{line:109} The secret is out, the IRP specifies the 12th dispatch routine, which is indeed IRP_MJ_CLEANUP. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Option D 
&lt;UL&gt;
&lt;LI&gt;{line:114} &lt;STRONG&gt;!thread&lt;/STRONG&gt; gives us the running thread and on {line:117} the same IRP. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;Last but not least …&lt;/H2&gt;
&lt;P&gt;Just when I felt like one after a head-spinning day, I found this command:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;!zombies&lt;/B&gt; This extension displays all dead ("zombie") processes or threads.&lt;/EM&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928989" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Rangers Virtualisation – Automating the Hands-On-lab (HOL) environment</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/25/rangers-virtualisation-automating-the-hands-on-lab-hol-environment.aspx</link><pubDate>Wed, 25 Nov 2009 21:04:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928801</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9928801.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9928801</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/RangersVirtualisationAutomatingtheHandsO_ABCC/CLIPART_OF_25432_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Stock Illustration of a Busy White Person Holding And Talking On Three Corded Telephones" border="0" alt="Stock Illustration of a Busy White Person Holding And Talking On Three Corded Telephones" align="left" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/RangersVirtualisationAutomatingtheHandsO_ABCC/CLIPART_OF_25432_SMJPG_thumb.jpg" width="285" height="214" /&gt;&lt;/a&gt; What happened to the Rangers? &lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/RangersVirtualisationAutomatingtheHandsO_ABCC/PB030271.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="PB030271" border="0" alt="PB030271" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/RangersVirtualisationAutomatingtheHandsO_ABCC/PB030271_thumb.jpg" width="381" height="286" /&gt;&lt;/a&gt;Why the silence … my apologies, but due to personal circumstances I have been promoted to commander-in-chief at home for 3 weeks, which means I am performing both the mom and dad role at home, the Rangers role at work, attending a kernel debugging course and in between trying to balance all the worlds as time available is typically in the negative. I am not sure whether it is more complex to manage a Rangers project or my sons soccer, swimming, school and extra-curriculum activities … when the dust settles in just under two weeks, I may take some time out and make a decision :) Then again we do not have much dust, because the past 2 weeks have been solid rain, strong winds and chilly temperatures in Vancouver … no, neither swimming (which is mainly in-doors in this country), nor soccer (which is outdoors and the soccer season is winter, not summer as in South-Africa) are cancelled. &lt;/p&gt;  &lt;p align="right"&gt;&lt;em&gt;Lovely picture of an early fairly clear-sky morning…&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The Rangers have been hard at work, getting the completed solutions to ship on Codeplex … we have shipped &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/14/vsts-rangers-home-site-a-new-solution-has-bubbled-up-to-the-top.aspx"&gt;one&lt;/a&gt; and have five in the queue … starting new projects, and continuing work on other currently active projects. One of the imminent ones is the virtualisation initiative, which includes a set of pre-installation and post-installation PowerShell scripts, automating the configuration, optimisation and cleanup of our images generated by the Rangers &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/10/27/would-it-not-be-great-if-i-could-install-a-team-foundation-server-environment-with-minimal-intervention.aspx"&gt;VM factory&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;While the main ship is in awaiting the champagne bottle to strike and notify “shipment”, we have a smaller ship that is piggy-backing on the main initiative and creating automation scripts for the hands-on-lab (HOL) environments each Rangers project must deliver as part of its deliverables. I thought that instead of continued silence I could share one of the scripts that &lt;a href="http://www.sadev.co.za"&gt;Robert&lt;/a&gt; and I have created and have been troubleshooting for a while. &lt;/p&gt;  &lt;p&gt;In essence this script creates a set of HOL users and adds them to the relevant Team Foundation Server groups.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 70.4%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 210px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; # Copyright © Microsoft Corporation.  All Rights Reserved.&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; # This code released under the terms of the &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; # Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; #&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; #&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;#  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; #.SYNOPSIS  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; #   This script configures the enviroment for the hands on labs scenarios.&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; #    It is only intended to be run after the TFS enviroment is fully configured.&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; #&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; #.DESCRIPTION  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; #    This script performs the following steps:&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; #     1) Creates the sample users&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; #     2) Adds the sample users to the correct TFS groups&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; #&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; #.NOTES  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt; #    File Name  : 3-hol.ps1  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt; #    Author     : VSTS Rangers &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt; #    Requires   : PowerShell V1&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; #&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; #.LINK  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt; #   This script posted to:  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; #        http://???.codeplex.com &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt; #    License:&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt; #        http://opensource.org/licenses/ms-pl.html&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt; #&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt; #.EXAMPLE  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt; # .\3-hol.ps1&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt; #&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt; #Simply writes a blank to the screen&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt; function blankLine&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;     Write-Host -Object:&amp;quot;&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt; #Get the machine hostname&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt; $hostname = hostname&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt; $projectName = &amp;quot;&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt; function introduction&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;     blankLine&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;     blankLine&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;     Write-Host -ForegroundColor Yellow -Object &amp;quot;Welcome to the TFS 2010 Virtual Machine Configuration Script - Hands On Labs Setup&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;     &amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt; Copyright © Microsoft Corporation.  All Rights Reserved.&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt; This code released under the terms of the &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt; Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum53"&gt;  53:&lt;/span&gt; &amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum54"&gt;  54:&lt;/span&gt;     Write-Host -ForegroundColor Red -Object &amp;quot;Note: Please make sure you have checked the README.TXT file for information about pre-requisites and known issues prior to running this script.&amp;quot;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum55"&gt;  55:&lt;/span&gt; &amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum56"&gt;  56:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum57"&gt;  57:&lt;/span&gt; This script is intended to configure the TFS virtual machine. &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum58"&gt;  58:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum59"&gt;  59:&lt;/span&gt; WARNING: THIS IS NOT INTENDED FOR PRODUCTION USE!&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum60"&gt;  60:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum61"&gt;  61:&lt;/span&gt; This script will&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum62"&gt;  62:&lt;/span&gt; - Create sample TFS user accounts&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum63"&gt;  63:&lt;/span&gt; - Assign TFS users to TFS groups&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum64"&gt;  64:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum65"&gt;  65:&lt;/span&gt; If you wish to abort press Ctrl+C now, else &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum66"&gt;  66:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum67"&gt;  67:&lt;/span&gt; Press any key to begin...&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum68"&gt;  68:&lt;/span&gt;   $inputKey = $host.UI.RawUI.ReadKey(&amp;quot;NoEcho,IncludeKeyUp&amp;quot;)      &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum69"&gt;  69:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum70"&gt;  70:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum71"&gt;  71:&lt;/span&gt; function createUser([string]$accountName, [string]$password, [string]$name) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum72"&gt;  72:&lt;/span&gt; {  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum73"&gt;  73:&lt;/span&gt;     $computer = [adsi] &amp;quot;WinNT://$hostname&amp;quot;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum74"&gt;  74:&lt;/span&gt;     $user = $computer.Create(&amp;quot;User&amp;quot;, $accountName)      &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum75"&gt;  75:&lt;/span&gt;     $user.SetPassword($password)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum76"&gt;  76:&lt;/span&gt;     $user.SetInfo()         &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum77"&gt;  77:&lt;/span&gt;     $user.FullName = $name&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum78"&gt;  78:&lt;/span&gt;     $user.put(&amp;quot;UserFlags&amp;quot;,65536 -bor 64)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum79"&gt;  79:&lt;/span&gt;     $user.SetInfo()         &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum80"&gt;  80:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum81"&gt;  81:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum82"&gt;  82:&lt;/span&gt; function createSampleAccounts&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum83"&gt;  83:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum84"&gt;  84:&lt;/span&gt;     createUser &amp;quot;michaf&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Michael Affronti (PM)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum85"&gt;  85:&lt;/span&gt;     createUser &amp;quot;aprist&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;April Stewart (Dev Lead)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum86"&gt;  86:&lt;/span&gt;     createUser &amp;quot;dorikr&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Doris Krieger (Dev)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum87"&gt;  87:&lt;/span&gt;     createUser &amp;quot;abuobe&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Abu Obeida Bakhach (Dev)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum88"&gt;  88:&lt;/span&gt;     createUser &amp;quot;chriko&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Christine Koch (Tester)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum89"&gt;  89:&lt;/span&gt;     createUser &amp;quot;chriba&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Chris Barry (Business Stakeholder)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum90"&gt;  90:&lt;/span&gt;     createUser &amp;quot;robiwo&amp;quot; &amp;quot;P@ssw0rd&amp;quot; &amp;quot;Robin Wood (End User)&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum91"&gt;  91:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum92"&gt;  92:&lt;/span&gt; function addToTFS([string]$accountName, [string]$groupname, [string]$targetProjectName = &amp;quot;&amp;quot;) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum93"&gt;  93:&lt;/span&gt; {  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum94"&gt;  94:&lt;/span&gt;     $target = &amp;quot;&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum95"&gt;  95:&lt;/span&gt;     if ($targetProjectName -ne &amp;quot;&amp;quot;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum96"&gt;  96:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum97"&gt;  97:&lt;/span&gt;         $target = &amp;quot;[&amp;quot; +$targetProjectName + &amp;quot;]\&amp;quot; +$groupname&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum98"&gt;  98:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum99"&gt;  99:&lt;/span&gt;     else&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum100"&gt; 100:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum101"&gt; 101:&lt;/span&gt;         $target = $groupname&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum102"&gt; 102:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum103"&gt; 103:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum104"&gt; 104:&lt;/span&gt;     if (!$accountName.Contains(&amp;quot;\&amp;quot;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum105"&gt; 105:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum106"&gt; 106:&lt;/span&gt;         $accountName = $hostname + &amp;quot;\&amp;quot; + $accountName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum107"&gt; 107:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum108"&gt; 108:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum109"&gt; 109:&lt;/span&gt;     $currentLocation = Get-Location&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum110"&gt; 110:&lt;/span&gt;     Set-Location &amp;quot;c:\Program Files\Microsoft Team Foundation Server 2010\Tools&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum111"&gt; 111:&lt;/span&gt;     $argument = $hostname + &amp;quot;/defaultcollection&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum112"&gt; 112:&lt;/span&gt;     .\tfssecurity /g+ $target n:$accountName /collection:$argument&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum113"&gt; 113:&lt;/span&gt;     Set-Location $currentLocation&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum114"&gt; 114:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum115"&gt; 115:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum116"&gt; 116:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum117"&gt; 117:&lt;/span&gt; function addSampleAccountsToGroups&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum118"&gt; 118:&lt;/span&gt; {    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum119"&gt; 119:&lt;/span&gt;     addToTFS &amp;quot;michaf&amp;quot; &amp;quot;Team Foundation Administrators&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum120"&gt; 120:&lt;/span&gt;     addToTFS &amp;quot;aprist&amp;quot; &amp;quot;Team Foundation Administrators&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum121"&gt; 121:&lt;/span&gt;     addToTFS &amp;quot;dorikr&amp;quot; &amp;quot;Contributors&amp;quot; $projectName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum122"&gt; 122:&lt;/span&gt;     addToTFS &amp;quot;abuobe&amp;quot; &amp;quot;Contributors&amp;quot; $projectName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum123"&gt; 123:&lt;/span&gt;     addToTFS &amp;quot;chriko&amp;quot; &amp;quot;Contributors&amp;quot; $projectName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum124"&gt; 124:&lt;/span&gt;     addToTFS &amp;quot;chriba&amp;quot; &amp;quot;Contributors&amp;quot; $projectName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum125"&gt; 125:&lt;/span&gt;     addToTFS &amp;quot;robiwo&amp;quot; &amp;quot;Readers&amp;quot; $projectName&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum126"&gt; 126:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum127"&gt; 127:&lt;/span&gt; Clear-Host&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum128"&gt; 128:&lt;/span&gt; introduction&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum129"&gt; 129:&lt;/span&gt; $projectName = Read-Host -Prompt &amp;quot;Project name to add contributors and readers to&amp;quot;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum130"&gt; 130:&lt;/span&gt; createSampleAccounts&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum131"&gt; 131:&lt;/span&gt; addSampleAccountsToGroups&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;What’s next? When the Microsoft PowerTools for Visual Studio 2010 ship for 2010 BETA-2, in particular the FTPT program, we will be adding the automatic creation of Team Projects and the automated setup of branches, workspaces, etc.&lt;/p&gt;

&lt;p&gt;Here is a snippet of such a script &lt;font color="#ff0000"&gt;&lt;strong&gt;under construction&lt;/strong&gt;&lt;/font&gt;:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; function CreateHOLSpaceForTP_B&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  #Create team project with tfpt (TFPT createteamproject TP-B.xml)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  #... waiting for working 2010 BETA-2 edition&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  #Create Workspace&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' workspace /new TP-B /noprompt&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;  #Do the mapping&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' workfold  /unmap $/&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;  #Create the VC space as per HOL&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' workfold  /map $/TP-B 'C:\HOL\Source Code\Demo\Sandbox-B' /workspace:TP-B&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' add       'C:\HOL\Source Code\Demo\Sandbox-B\Main' /recursive&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' checkin   'C:\HOL\Source Code\Demo\Sandbox-B\Main' /recursive /noprompt&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' branch    'C:\HOL\Source Code\Demo\Sandbox-B\Main’  ‘$/TP-B/Dev’&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' checkin   'C:\HOL\Source Code\Demo\Sandbox-B\Dev' /noprompt&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' add       'C:\HOL\Source Code\Demo\Sandbox-B\Dev\HelloWorldDemo' /recursive&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;  &amp;amp;'\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' checkin   'C:\HOL\Source Code\Demo\Sandbox-B\Dev' /recursive /noprompt&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; CreateHOLSpaceForTP_B&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The above scripts are both under construction, &lt;font color="#800000"&gt;not supported&lt;/font&gt; and shared only to show you what we are busy with and what is possible.&lt;/p&gt;

&lt;p&gt;For today and the next two days I will be exploring kernel debugging and therefore will be focusing my blogs on the exciting world of debugging again.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928801" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/VSTS2010/default.aspx">VSTS2010</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Dev4Devs … an exciting initiative in South-Africa … be there!</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/23/dev4devs-an-exciting-initiative-in-south-africa-be-there.aspx</link><pubDate>Mon, 23 Nov 2009 22:45:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927599</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9927599.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9927599</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://dotnet.org.za/eben/archive/2009/10/15/devs4devs-jhb-calling-all-presenters.aspx"&gt;Dev4Devs&lt;/a&gt; is an exciting initiative that &lt;a href="http://dotnet.org.za/eben/"&gt;Eben&lt;/a&gt; initiated in South-Africa, bringing speakers and potential speakers together to talk about technology in 20 minutes slots. A great collaboration&amp;#160; opportunity and&amp;#160; I noticed that two of the &lt;a href="www.saarchitect.net"&gt;SA Architect&lt;/a&gt; leads and Rangers in South-Africa are presenting a topic as well :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/Dev4DevsanexcitinginitiativeinSOuthAfric_CCA6/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/Dev4DevsanexcitinginitiativeinSOuthAfric_CCA6/image_thumb.png" width="551" height="314" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Make sure you &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032431234&amp;amp;Culture=en-ZA"&gt;register&lt;/a&gt; and&amp;#160; find your way to Microsoft on the 28th!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927599" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Events/default.aspx">Events</category></item><item><title>Chatter: Basic Manual Project Management – part 3: PERT Probability Calculations</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/23/chatter-basic-manual-project-management-part-3-pert-probability-calculations.aspx</link><pubDate>Mon, 23 Nov 2009 02:53:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927069</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9927069.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9927069</wfw:commentRss><description>&lt;p&gt;In &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/14/chatter-basic-manual-project-management-part-1-cost-evaluation.aspx"&gt;Chatter: Basic Manual Project Management – Part 1: Cost Evaluation&lt;/a&gt; we looked at some of the basic cost evaluation techniques, in &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/chatter-basic-manual-project-management-part-2-pert-techniques.aspx"&gt;Chatter: Basic Manual Project Management – Part 2: PERT Techniques&lt;/a&gt; we explored the PERT techniques and in the end we mentioned that we may chat about the significance of the standard deviation in the next blog post, to calculate the probability of completing the project on time.&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/CLIPART_OF_25022_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Clipart Illustration of a Stressed White Employee Staring At Stacks Of Paperwork On A Desk, Trying To Figure Out Where They Can Put Their Computer Keyboard" border="0" alt="Clipart Illustration of a Stressed White Employee Staring At Stacks Of Paperwork On A Desk, Trying To Figure Out Where They Can Put Their Computer Keyboard" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/CLIPART_OF_25022_SMJPG_thumb.jpg" width="329" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Well, let’s conclude that topic for completeness. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/image_thumb.png" width="388" height="260" /&gt;&lt;/a&gt; … extract from diagram in previous related post.&lt;/p&gt;  &lt;p&gt;As part of the &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/chatter-basic-manual-project-management-part-2-pert-techniques.aspx"&gt;Chatter: Basic Manual Project Management – Part 2: PERT Techniques&lt;/a&gt; post, we determined that the standard deviation is 1.178 and for the sake of this post we assume that a stakeholder asks you what the probability is of you finishing this project on time in 14 (yeah), 16 (really) and in 20 days.&lt;/p&gt;  &lt;p&gt;For this we dust off yet another calculation, namely &lt;strong&gt;z-value = (Target Date – Target Expected (te)) / standard deviation (s)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For …&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;14 days we get a value of –1.698 &lt;/li&gt;    &lt;li&gt;16 days we get a value of 0.00 and for &lt;/li&gt;    &lt;li&gt;20 days a value of 3.39. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Using a standard normal deviates table, which can be found on the Internet or in most stats books, we can determine the probability as follows:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterbasicmanualProjectManagementpart3_B8B2/image_thumb_3.png" width="862" height="532" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;em&gt;&lt;font color="#800000"&gt;… by the way, I hand crafted this diagram. DO NOT se it for your project management planning … it is merely intended to illustrate the concept.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#800000"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Therefore, based on the calculated z-values, we have a good chance of making the 16 days and a very good chance of making the 20 days.&lt;/p&gt;  &lt;p&gt;That concludes my brief excursion through the basic project planning world. &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Derek&lt;/strong&gt;, please no frowning … I understand that the “Master of Project Management” has probably had a few nervous twitches while listening to a developer talk about project management topics :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927069" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category></item><item><title>Rangers Visual Studio 2010 Architect Edition Guidance: Kickoff!</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/rangers-visual-studio-2010-architect-edition-guidance-kickoff.aspx</link><pubDate>Mon, 16 Nov 2009 18:59:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9923091</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9923091.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9923091</wfw:commentRss><description>&lt;p&gt;The latest Rangers project just “kicked off” this morning and my next dev lead adventure. Included in this post is the motivation, the vision and the objective of the project, whereby I am more than happy to discuss more details with you if needed. For the sake of text re-use, all text indicated in italic has been copy-pasted from the project announcement emails from &lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/3b23ad638bd9_95A9/CLIPART_OF_27034_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Clipart Illustration of a White Person With A Red Megaphone Head, Shouting Out Information" border="0" alt="Clipart Illustration of a White Person With A Red Megaphone Head, Shouting Out Information" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/3b23ad638bd9_95A9/CLIPART_OF_27034_SMJPG_thumb.jpg" width="296" height="222" /&gt;&lt;/a&gt;Bijan:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;&lt;em&gt;Motivation&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The Visual Studio 2010 Architect edition is paradigm shift in application design and development. The best practices are unknown at this stage, which means that the field, customers and partners have a hard time figuring out how to leverage tools and features effectively.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;em&gt;Vision &lt;/em&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Provide guidance for VSTS 2010 Architect Edition based on real world best practices from PG SMEs and VSTS Rangers to help customers successfully adopt the new features&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Scope&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;As part of the scope we are planning to cover both guidance and extensibility. As with all other rangers projects the scope includes a hands-on-labs as well and we want to ship with or preferably before Visual Studio 2010 is released to market.&lt;/p&gt;  &lt;p&gt;The team is made up of a number of members from the product group and from the Rangers, and is promising to deliver invaluable guidance for an edition of Visual Studio that I am &lt;strong&gt;very&lt;/strong&gt; excited about. I will share the team leads and their friendly faces as soon as the kick-off dust has settled. Watch the space …&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923091" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Guidance/default.aspx">Guidance</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Chatter: Basic Manual Project Management – Part 2: PERT Techniques</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/chatter-basic-manual-project-management-part-2-pert-techniques.aspx</link><pubDate>Mon, 16 Nov 2009 18:55:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9923089</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9923089.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9923089</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/CLIPART_OF_25024_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Clipart Illustration of a White Employee Seated At A Wooden Desk And Using A Laptop While Doing Paperwork At The Office" border="0" alt="Clipart Illustration of a White Employee Seated At A Wooden Desk And Using A Laptop While Doing Paperwork At The Office" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/CLIPART_OF_25024_SMJPG_thumb.jpg" width="362" height="362" /&gt;&lt;/a&gt; In &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/14/chatter-basic-manual-project-management-part-1-cost-evaluation.aspx"&gt;Chatter: Basic Manual Project Management – Part 1: Cost Evaluation&lt;/a&gt; we looked at some of the basic cost evaluation techniques when dealing with a number of projects and having to decide which will be the right one … not from a “technical having fun” perspective, but from a cost effectiveness.&lt;/p&gt;  &lt;p&gt;In this post we will briefly look at risk planning, in particular the PERT techniques.&lt;/p&gt;  &lt;p&gt;Before we start, we should cover the four basic ways we can deal with project risks, namely acceptance, avoidance, reduction and transfer. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“&lt;strong&gt;acceptance&lt;/strong&gt;” … we literally accept the risk, which is a feasible option when the cost of taking any action is likely going to be more than any probable damage … although I personally do not like this option and had a hard time in one of my assignments trying to justify it. &lt;/li&gt;    &lt;li&gt;“&lt;strong&gt;avoidance&lt;/strong&gt;”&amp;#160; … we avoid everything that is a risk, which is probably why I will never jump out of a fully functional aircraft and hope that the parachute opens. &lt;/li&gt;    &lt;li&gt;“&lt;strong&gt;reduction&lt;/strong&gt;” … we take proactive and preventative measures to actively reduce the probability of risk, such as packing a safety parachute if you are insane enough to jump out of a fully functional aircraft. &lt;/li&gt;    &lt;li&gt;“&lt;strong&gt;transfer&lt;/strong&gt;” … we transfer the risk to another person or organisation, which typically involves outsourcing and/or calling the cavalry. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;PERT&lt;/h2&gt;  &lt;p&gt;PERT stands for program evaluation and review technique and based on literature I read, it was developed for the fleet ballistic missile program. It requires us to define three estimates for every activity including &lt;strong&gt;most likely&lt;/strong&gt;, &lt;strong&gt;optimistic&lt;/strong&gt; and &lt;strong&gt;pessimistic&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;PERT &lt;strong&gt;expected duration&lt;/strong&gt; formula = &lt;font color="#0000ff"&gt;(optimistic + (4 x most likely) + pessimistic)/6&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Before we look at an example, we need to cover the formula for calculating the &lt;strong&gt;standard deviation&lt;/strong&gt; of an activity time, which is&lt;font color="#0000ff"&gt; (pessimistic – optimistic)/6&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Example&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_thumb_2.png" width="911" height="144" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The table shows 6 tasks, with the optimistic likely and pessimistic estimates. The figures in bold indicate the calculated expected duration and standard deviation. The figures in red are the estimates done using the formula I have been given by my mentor in the early 80’s and have used ever since … pretty close and therefore the PERT technique gives me a good warm fuzzy feeling.&lt;/p&gt;  &lt;p&gt;PERT uses the following activity template to visualize the above as events:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_thumb_1.png" width="115" height="87" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we draw the five activities using this template, we get:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/ChatterBasicManualProjectManagementPart2_1128D/image_thumb_3.png" width="799" height="350" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When we calculate the standard deviation for event “4”, we have to first calculate the square root of the sum of squares of the individual standard deviations using tasks A and C, as well as B and D as shown. The resultant standard deviation of A &amp;amp; C, shown as standard deviation 4 using 1 &amp;amp; 2, is the greater of the two and therefore the one we use for event 4.&lt;/p&gt;  &lt;p&gt;If there is any interest, we can chat about the significance of the standard deviation in the next blog post, to calculate the probability of completing the project on time … assuming we have to complete within 17 days.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923089" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category></item><item><title>VSTS Rangers Home Site – A new solution has bubbled up to the top!</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/14/vsts-rangers-home-site-a-new-solution-has-bubbled-up-to-the-top.aspx</link><pubDate>Sat, 14 Nov 2009 01:17:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922358</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9922358.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9922358</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/VSTSRangersHomeSiteAnewsolutionhasbubble_EC73/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/VSTSRangersHomeSiteAnewsolutionhasbubble_EC73/image_thumb.png" width="551" height="401" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/VSTSRangersHomeSiteAnewsolutionhasbubble_EC73/CLIPART_OF_12921_SM_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CLIPART_OF_12921_SM" border="0" alt="CLIPART_OF_12921_SM" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/VSTSRangersHomeSiteAnewsolutionhasbubble_EC73/CLIPART_OF_12921_SM_thumb.jpg" width="161" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It is always great to see when a solution bubbles up from “&lt;strong&gt;Future&lt;/strong&gt; Projects” list to the “&lt;strong&gt;Current&lt;/strong&gt; Ranger Solutions” list :) Have a peek at our Rangers site &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/ee358786.aspx"&gt;here&lt;/a&gt;, to visit the TFS Integration Platform site on Codeplex as well, and most importantly to always give us candid feedback on both our Rangers home site and the solutions.&lt;/p&gt;  &lt;p&gt;Have a great weekend! I have tempted Friday 13th long enough and am signing off for the weekend.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9922358" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/MVP/default.aspx">MVP</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category></item><item><title>Chatter: Basic Manual Project Management – Part 1: Cost Evaluation</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/14/chatter-basic-manual-project-management-part-1-cost-evaluation.aspx</link><pubDate>Sat, 14 Nov 2009 01:16:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922357</guid><dc:creator>willys</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9922357.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9922357</wfw:commentRss><description>&lt;p&gt;Part of my part-time studies … don’t ask … included project management and two areas, which we take for granted when using the Microsoft Project tool are cost calculations and evaluations, as well as the application of PERT techniques. I personally found these topics interesting and will chat about then briefly in two separate posts … this being the first and embracing the cost calculations and evaluations.&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/BasicProjectManagementCalculatingValues_F94C/CLIPART_OF_10887_SM_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Blue Male Student in a Graduation Cap, Reading a Book and Leaning Against a Stack of Books Clipart Illustration" border="0" alt="Blue Male Student in a Graduation Cap, Reading a Book and Leaning Against a Stack of Books Clipart Illustration" align="right" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/BasicProjectManagementCalculatingValues_F94C/CLIPART_OF_10887_SM_thumb.jpg" width="312" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The following table showing cash flow projections for two 5 year projects, will serve as example data for the duration of this blog post:&lt;/p&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="400" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="97"&gt;&lt;strong&gt;Year&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="106"&gt;&lt;strong&gt;Project A&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="111"&gt;&lt;strong&gt;Project B&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="84"&gt;&lt;strong&gt;Project C&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;0&lt;/td&gt;          &lt;td valign="top" width="106"&gt;-100,000&lt;/td&gt;          &lt;td valign="top" width="111"&gt;-2,000,000&lt;/td&gt;          &lt;td valign="top" width="84"&gt;-1,000,000&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;1&lt;/td&gt;          &lt;td valign="top" width="106"&gt;20,000&lt;/td&gt;          &lt;td valign="top" width="111"&gt;400,000&lt;/td&gt;          &lt;td valign="top" width="84"&gt;400,000&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;2&lt;/td&gt;          &lt;td valign="top" width="106"&gt;20,000&lt;/td&gt;          &lt;td valign="top" width="111"&gt;400,000&lt;/td&gt;          &lt;td valign="top" width="84"&gt;400,000&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;3&lt;/td&gt;          &lt;td valign="top" width="106"&gt;20,000&lt;/td&gt;          &lt;td valign="top" width="111"&gt;400,000&lt;/td&gt;          &lt;td valign="top" width="84"&gt;100,000&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;4&lt;/td&gt;          &lt;td valign="top" width="106"&gt;10,000&lt;/td&gt;          &lt;td valign="top" width="111"&gt;400,000&lt;/td&gt;          &lt;td valign="top" width="84"&gt;100,000&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="97"&gt;5&lt;/td&gt;          &lt;td valign="top" width="111"&gt;70,000&lt;/td&gt;          &lt;td valign="top" width="118"&gt;100,000&lt;/td&gt;          &lt;td valign="top" width="104"&gt;10,000&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;h2&gt;Net Profit&lt;/h2&gt;  &lt;p&gt;&lt;em&gt;Is the difference between the total cost and the total income of the project&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Looking at Project A, B and C we get:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project A: 20,000 + 20,000 + 20,000 + 10,000 + 70,000 – 100,000 = 40,000 &lt;/li&gt;    &lt;li&gt;Project B: 400,000 + 400,000 + 400,000 + 400,000 + 100,000 – 2,000,000 = –300,000 &lt;/li&gt;    &lt;li&gt;Project C: 400,000 + 400,000 + 100,000 + 100,000 + 10,000 – 1,000,000 = 10,000 &lt;/li&gt;    &lt;li&gt;Therefore Project A and C are making a profit :) and Project B a loss :( &lt;/li&gt;    &lt;li&gt;Based on Net Profit, I would personally pick project A, because there is more money left over. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Payback Period&lt;/h2&gt;  &lt;p&gt;&lt;em&gt;Defines the time it takes to break even and be able to payback the initial investment.&lt;/em&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project B is looking grim as we have not broken even after 5 years.&amp;#160; &lt;/li&gt;    &lt;li&gt;Project A looks a bit better, because after 4 years we have a cash flow of –30,000. With us making 70,000 in year 5, we will have broken even after 4.43 years. &lt;/li&gt;    &lt;li&gt;Project C looks slightly better, because after 4 years we have a zero balance … which is what all of us would love to see after a one million loan. &lt;/li&gt;    &lt;li&gt;Based on the payback period, I would personally pick project C as the payback period is the shortest. I would literally sleep better sooner … &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Return of Investment (ROI)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Is also known as the accounting rate of return (APR) and in principal provides a way of comparing the net profitability to the investment required.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The calculation for ROI is the (average annual profit / investment) * 100. Hence …&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project A = ((40,000/5)/100,000)*100 = 8% &lt;/li&gt;    &lt;li&gt;Project B = ((-300,000/5)/-2,000,000)*100 = –3% &lt;/li&gt;    &lt;li&gt;Project C = ((10,000/5)/1,000,000)*100= 0.2% &lt;/li&gt;    &lt;li&gt;Based on ROI, I would personally pick project A again as it has the highest ROI percentage. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Net Present Value&lt;/h2&gt;  &lt;p&gt;&lt;em&gt;Is a project evaluation technique, that takes into account the profitability of a project and the timing of the cash flows produced.&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The present value is defined as = ( value in year X ) / ( 1 + discount rate ) to the power of the number of years into the future that the cash flow occurs. &lt;/li&gt;    &lt;li&gt;To calculate the discount factor (DF in table below) we calculate as 1 / ( ( 1 + discount rate ) to the power of the number of years, whereby we are borrowing the investment at an interest of 5%, or a discount rate of 0.05. &lt;/li&gt;    &lt;li&gt;This one had me going for some time and we will select project A and call Excel for assistance:      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/BasicProjectManagementCalculatingValues_F94C/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/BasicProjectManagementCalculatingValues_F94C/image_thumb.png" width="443" height="176" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;The Project A discounted cash flow looks worse than the net profit, but the good news (in my simple understanding of project management) is that we are still making a profit. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Hopefully when the project managers are chatting amongst each other, you will be able to catch and understand a few more fragments of their lingo and acronyms :) Next time we will chat about PERT techniques.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9922357" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Chatter/default.aspx">Chatter</category></item><item><title>TFS Integration Platform – ALPHA Release is available on Codeplex!</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/12/tfs-integration-platform-alpha-release-is-available-on-codeplex.aspx</link><pubDate>Thu, 12 Nov 2009 02:55:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921136</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9921136.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9921136</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformALPHAislive_184D/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformALPHAislive_184D/image_thumb.png" width="670" height="360" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformALPHAislive_184D/CLIPART_OF_31627_SMJPG_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Clipart Illustration of a Blue AO-Maru Robot Distorted With Pixels, Leaning Back And Looking Upwards With Strands Of Binary Coding" border="0" alt="Clipart Illustration of a Blue AO-Maru Robot Distorted With Pixels, Leaning Back And Looking Upwards With Strands Of Binary Coding" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformALPHAislive_184D/CLIPART_OF_31627_SMJPG_thumb.jpg" width="150" height="293" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The TFS Integration Platform has a new home on Codeplex, where the product group and the VSTS Rangers have posted the ALPHA release of the platform.&amp;#160; The intention of the Alpha release is to improve the transparency of the project, for the community to be able to give feedback to be considered for the next release and especially to give custom adapter and tooling developers an opportunity to experiment with the new software development toolkit (SDK).&lt;/p&gt;  &lt;p&gt;See Matt’s post &lt;a href="http://blogs.msdn.com/mitrik/archive/2009/11/11/tfs-integration-platform-alpha-released-on-codeplex.aspx"&gt;TFS Integration Platform Alpha Released on CodePlex&lt;/a&gt; for more details.&lt;/p&gt;  &lt;p&gt;Visit us at &lt;a title="http://www.codeplex.com/TFSIntegration" href="http://www.codeplex.com/TFSIntegration"&gt;http://www.codeplex.com/TFSIntegration&lt;/a&gt; and give us feedback on the TFS Migration and Integration Forum &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsintegration/threads"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;From a VSTS Rangers perspective we are working on additional adapter samples and refining the migration planning poster. More about these exciting value-adds in due course.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921136" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/SAArchitect/default.aspx">SAArchitect</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/TFSMIS/default.aspx">TFSMIS</category></item><item><title>TFS Integration Platform – What is the EnableBypassRuleDataSubmission in the Configuration File? Question &amp; Answer 7</title><link>http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/10/tfs-integration-platform-what-is-the-enablebypassruledatasubmission-in-the-configuration-file-question-answer-7.aspx</link><pubDate>Tue, 10 Nov 2009 15:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920193</guid><dc:creator>willys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/willy-peter_schaub/comments/9920193.aspx</comments><wfw:commentRss>http://blogs.msdn.com/willy-peter_schaub/commentrss.aspx?PostID=9920193</wfw:commentRss><description>&lt;P&gt;When you have a look at most of the TFS Integration Platform configuration files, you will notice the &lt;STRONG&gt;EnableBypassRuleDataSubmission&lt;/STRONG&gt;, as shown in line 23 and 37 in the following Sample Configuration file:&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;xml&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;version&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="1.0"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;encoding&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="utf-16"&lt;/SPAN&gt;?&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Configuration&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;UniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="{7439CF38-BBF4-4B16-A8C9-B5CB3B5A82E5}"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TR9 HOL AS"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum4&gt;   4:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Providers&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum5&gt;   5:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Provider&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="CR TFS 2010 Migration WIT Provider"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum6&gt;   6:&lt;/SPAN&gt;                 &lt;SPAN style="COLOR: #ff0000"&gt;ReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="04201D39-6E47-416f-98B2-07F0013F8455"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum7&gt;   7:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Provider&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="CR TFS 2010 VC Migration Provider"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum8&gt;   8:&lt;/SPAN&gt;                 &lt;SPAN style="COLOR: #ff0000"&gt;ReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="FEBC091F-82A2-449e-AED8-133E5896C47A"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum9&gt;   9:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Providers&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum10&gt;  10:&lt;/SPAN&gt;                   &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum11&gt;  11:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SessionGroup&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Session Group Friendly Name AS"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum12&gt;  12:&lt;/SPAN&gt;                           &lt;SPAN style="COLOR: #ff0000"&gt;SessionGroupGUID&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="{06D11897-EF77-4326-888F-96E4F856A2E3}"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum13&gt;  13:&lt;/SPAN&gt;                           &lt;SPAN style="COLOR: #ff0000"&gt;WorkFlowType&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="OneDirectionalSynchronizationWithoutContextSync"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum14&gt;  14:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum15&gt;  15:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!-- WIT Migration Sources --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum16&gt;  16:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;InternalUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="A0E4FBE9-5E44-4D12-A274-958F259A9B6D"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum17&gt;  17:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T Source AS"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum18&gt;  18:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ServerIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T Source AS"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum19&gt;  19:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ServerUrl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://TFS2010B1X32T:8080/tfs/defaultcollection"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum20&gt;  20:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;SourceIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TP-A"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum21&gt;  21:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ProviderReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="04201D39-6E47-416f-98B2-07F0013F8455"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum22&gt;  22:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum23&gt;  23:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!--&amp;lt;CustomSetting SettingKey="EnableBypassRuleDataSubmission" SettingValue="false" /&amp;gt;--&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum24&gt;  24:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!--&amp;lt;CustomSetting SettingKey="DisableAreaPathAutoCreation" SettingValue="" /&amp;gt;--&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum25&gt;  25:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!--&amp;lt;CustomSetting SettingKey="DisableIterationPathAutoCreation" SettingValue="" /&amp;gt;--&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum26&gt;  26:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum27&gt;  27:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;StoredCredential&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum28&gt;  28:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum29&gt;  29:&lt;/SPAN&gt;         &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum30&gt;  30:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;InternalUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="EF98D1AE-2101-444F-9FAB-DC9C354E861A"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum31&gt;  31:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T Target AS"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum32&gt;  32:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ServerIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T Target AS"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum33&gt;  33:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ServerUrl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://TFS2010B1X32T:8080/tfs/defaultcollection"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum34&gt;  34:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;SourceIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TP-C"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum35&gt;  35:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;ProviderReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="04201D39-6E47-416f-98B2-07F0013F8455"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum36&gt;  36:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum37&gt;  37:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!--&amp;lt;CustomSetting SettingKey="EnableBypassRuleDataSubmission" SettingValue="false" /&amp;gt;--&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum38&gt;  38:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum39&gt;  39:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;StoredCredential&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum40&gt;  40:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum41&gt;  41:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum42&gt;  42:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!-- VC Migration Sources --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum43&gt;  43:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;InternalUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="13828D85-46F5-40A4-9A38-D95CF96B01DB"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum44&gt;  44:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T VC Source AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum45&gt;  45:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ServerIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T VC Source AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum46&gt;  46:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ServerUrl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://TFS2010B1X32T:8080/tfs/defaultcollection"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum47&gt;  47:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;SourceIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Source System"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum48&gt;  48:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ProviderReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="FEBC091F-82A2-449e-AED8-133E5896C47A"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum49&gt;  49:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum50&gt;  50:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXml&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum51&gt;  51:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXmlSchema&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum52&gt;  52:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum53&gt;  53:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum54&gt;  54:&lt;/SPAN&gt;         &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum55&gt;  55:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;InternalUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="9848394A-112D-4B8B-9866-0E309BB372CB"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum56&gt;  56:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T VC Target AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum57&gt;  57:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ServerIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="TFS2010B1X32T VC Target AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum58&gt;  58:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ServerUrl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://TFS2010B1X32T:8080/tfs/defaultcollection"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum59&gt;  59:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;SourceIdentifier&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Target System"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum60&gt;  60:&lt;/SPAN&gt;                &lt;SPAN style="COLOR: #ff0000"&gt;ProviderReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="FEBC091F-82A2-449e-AED8-133E5896C47A"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum61&gt;  61:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum62&gt;  62:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXml&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum63&gt;  63:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXmlSchema&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum64&gt;  64:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum65&gt;  65:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum66&gt;  66:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;MigrationSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum67&gt;  67:&lt;/SPAN&gt;       &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum68&gt;  68:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Sessions&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum69&gt;  69:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Session&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;SessionUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="CE189D49-EAA3-4CB9-883D-FC68F79656FF"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum70&gt;  70:&lt;/SPAN&gt;                  &lt;SPAN style="COLOR: #ff0000"&gt;FriendlyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="WIT session AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum71&gt;  71:&lt;/SPAN&gt;                  &lt;SPAN style="COLOR: #ff0000"&gt;LeftMigrationSourceUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="A0E4FBE9-5E44-4D12-A274-958F259A9B6D"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum72&gt;  72:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;RightMigrationSourceUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="EF98D1AE-2101-444F-9FAB-DC9C354E861A"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum73&gt;  73:&lt;/SPAN&gt;                          &lt;SPAN style="COLOR: #ff0000"&gt;SessionType&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="WorkItemTracking"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum74&gt;  74:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!-- LAB1 --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum75&gt;  75:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum76&gt;  76:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Filters&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum77&gt;  77:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;FilterPair&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum78&gt;  78:&lt;/SPAN&gt;               &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;FilterItem&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;MigrationSourceUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="A0E4FBE9-5E44-4D12-A274-958F259A9B6D"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;FilterString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum79&gt;  79:&lt;/SPAN&gt;               &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;FilterItem&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;MigrationSourceUniqueId&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="EF98D1AE-2101-444F-9FAB-DC9C354E861A"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;FilterString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum80&gt;  80:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;FilterPair&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum81&gt;  81:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Filters&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum82&gt;  82:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Session&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum83&gt;  83:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum84&gt;  84:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!-- LAB 3         &lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum85&gt;  85:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;        &amp;lt;Session SessionUniqueId="7092283E-8776-4458-A0BC-1A96385C635F"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum86&gt;  86:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;                       FriendlyName="Control session AS"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum87&gt;  87:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;                       LeftMigrationSourceUniqueId="13828D85-46F5-40A4-9A38-D95CF96B01DB"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum88&gt;  88:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;                       RightMigrationSourceUniqueId="9848394A-112D-4B8B-9866-0E309BB372CB"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum89&gt;  89:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;                       SessionType="VersionControl"&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum90&gt;  90:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;          &amp;lt;CustomSettings&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum91&gt;  91:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;          &amp;lt;/CustomSettings&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum92&gt;  92:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;          &lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum93&gt;  93:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;          &amp;lt;Filters&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum94&gt;  94:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;            &amp;lt;FilterPair&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum95&gt;  95:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;              &amp;lt;FilterItem MigrationSourceUniqueId="13828D85-46F5-40A4-9A38-D95CF96B01DB" FilterString="$/TP-A" /&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum96&gt;  96:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;              &amp;lt;FilterItem MigrationSourceUniqueId="9848394A-112D-4B8B-9866-0E309BB372CB" FilterString="$/TP-C" /&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum97&gt;  97:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;            &amp;lt;/FilterPair&amp;gt;  &lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum98&gt;  98:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;          &amp;lt;/Filters&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum99&gt;  99:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;        &amp;lt;/Session&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum100&gt; 100:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;LAB 3 --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum101&gt; 101:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Sessions&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum102&gt; 102:&lt;/SPAN&gt;       &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum103&gt; 103:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Linking&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;EngineProviderReferenceName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="04201D39-6E47-416f-98B2-07F0013F8455"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum104&gt; 104:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;&amp;lt;!--&amp;lt;CreationTime&amp;gt;0001-01-01T00:00:00&amp;lt;/CreationTime&amp;gt;--&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum105&gt; 105:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum106&gt; 106:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXml&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum107&gt; 107:&lt;/SPAN&gt;           &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SettingXmlSchema&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum108&gt; 108:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CustomSettings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum109&gt; 109:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;LinkTypeMappings&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum110&gt; 110:&lt;/SPAN&gt;       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Linking&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum111&gt; 111:&lt;/SPAN&gt;       &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum112&gt; 112:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SessionGroup&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum113&gt; 113:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;Configuration&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;“&lt;EM&gt;So what is this feature all about&lt;/EM&gt;”, some of you are asking? &lt;/P&gt;
&lt;H2&gt;What does it do? &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10926_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10926_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title="Smart Blue Man Seated With His Legs Crossed, Brainstorming and Writing Ideas Down in a Notebook, Lightbulb Over His Head Clipart Illustration" border=0 alt="Smart Blue Man Seated With His Legs Crossed, Brainstorming and Writing Ideas Down in a Notebook, Lightbulb Over His Head Clipart Illustration" align=right src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10926_SM_thumb.jpg" width=219 height=219 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10926_SM_thumb.jpg"&gt;&lt;/A&gt; &lt;/H2&gt;
&lt;P&gt;The best&amp;nbsp; is to work through the TFS Integration Platform – Getting Started Basic Scenario, which performs a bi-direction synchronization with the EnableBypassRuleDataSubmission enabled and then the TFS Integration Platform – Getting Started Advanced Scenario which repeats the walkthrough, but with the feature disabled. Seeing is believing and working through the walkthrough, or watching the forthcoming video recordings of the two scenarios, will explain the feature better than a blog consisting of a large amount of descriptive text.&lt;/P&gt;
&lt;P&gt;When this feature is enabled the WIT Adapter will, in particular the TfsMigrationWorkItemStore class, will react accordingly and submit WIT changes using a XmlDocument&amp;nbsp; with the BypassRule enabled.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; if (ByPassrules) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SubmitChangesWithUpdateDoc(changeGroup, changeResult, sourceSideSourceId); &lt;BR&gt;&amp;nbsp;&amp;nbsp; else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SubmitChangesWithWitOM(changeGroup, changeResult, sourceSideSourceId);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This enforces, that all WITD rule evaluations, such as valid value list and state transitions, are disabled for submitted WIT data and that changes are applied as instructed ... no questions asked. Additionally, turning on bypass-rule for WIT changes submission is requisite for higher migration content fidelity. In particular, the author of the source WIT change, regardless being a valid user or not on the target TFS server, is preserved. If bypass-rule is disabled, the migration service account will be the author of *&lt;B&gt;all&lt;/B&gt;* the migrated WIT changes on the target TFS server.&lt;/P&gt;
&lt;H2&gt;What are the ranges of SettingValue? &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10893_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10893_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="a Blue Man on Another Man's Shoulders, Holding up a Bar in a Graph Clipart Illustration" border=0 alt="a Blue Man on Another Man's Shoulders, Holding up a Bar in a Graph Clipart Illustration" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10893_SM_thumb.jpg" width=134 height=134 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10893_SM_thumb.jpg"&gt;&lt;/A&gt; &lt;/H2&gt;
&lt;P&gt;The SettingValue is ignored at this stage. To &lt;B&gt;&lt;FONT color=#008000&gt;enable&lt;/FONT&gt;&lt;/B&gt; the EnableBypassRuleDataSubmission, add the following line to the WIT session configuration: &lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;MigrationSource InternalUniqueId="EF98D1AE-2101-444F-9FAB-DC9C354E861A" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FriendlyName="TFS2010B1X32T Target AS"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerIdentifier="TFS2010B1X32T Target AS"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerUrl="&lt;/FONT&gt;&lt;A href="http://tfs2010b1x32t:8080/tfs/defaultcollection" mce_href="http://TFS2010B1X32T:8080/tfs/defaultcollection"&gt;&lt;FONT face="Courier New"&gt;http://TFS2010B1X32T:8080/tfs/defaultcollection&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New"&gt;"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SourceIdentifier="TP-C"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProviderReferenceName="04201D39-6E47-416f-98B2-07F0013F8455"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CustomSettings&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;&amp;lt;CustomSetting SettingKey="EnableBypassRuleDataSubmission" SettingValue="false" /&amp;gt; &lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/CustomSettings&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StoredCredential /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/MigrationSource&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;In addition to enabling the rule, you must also ensure that the user account that will be performing the synchronization and submitting the WIT changes, is a member of the Team Foundation Service Group and thus authorised to bypass the rule evaluations.&lt;/P&gt;
&lt;P&gt;The following is a sample script file used as part of the TFS Integration Platform – Getting Started Basic Scenario:&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; cd &lt;SPAN style="COLOR: #006080"&gt;"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE&amp;gt;"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt; tfssecurity /g+ srv: tfs2010b1x32t\Administrator /server:tfs2010b1x32t\defaultcollection&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt; pause&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;To &lt;B&gt;&lt;FONT color=#800000&gt;disable&lt;/FONT&gt;&lt;/B&gt;, either remove it or comment it out as shown:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;CustomSettings&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;&amp;lt;!--&amp;lt;CustomSetting SettingKey="EnableBypassRuleDataSubmission" SettingValue="false" /&amp;gt;—&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/CustomSettings&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H2&gt;When should you use this rule?&lt;/H2&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10912_SM_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10912_SM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Blue Businessman Seated at a Desk, Instructing Employees Clipart Illustration" border=0 alt="Blue Businessman Seated at a Desk, Instructing Employees Clipart Illustration" src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10912_SM_thumb.jpg" width=82 height=82 mce_src="http://blogs.msdn.com/blogfiles/willy-peter_schaub/WindowsLiveWriter/TFSIntegrationPlatformWhatistheEnableByp_D979/CLIPART_OF_10912_SM_thumb.jpg"&gt;&lt;/A&gt; Bypassing any rule is extending a huge trust to the user submitting the WIT changes and as possible state and data corruption is possible, the recommendation is not to use this feature. Instead use the new conflict resolution tool to create appropriate rules. That said, we recommend to enable (use) the BypassRule, if the preservation of the “original author” in the migrated work items is important, and avoid it in all other cases.&lt;/P&gt;
&lt;P align=right&gt;&lt;B&gt;&lt;EM&gt;Acronyms Used&lt;/EM&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P align=right&gt;&lt;EM&gt;| TFS – Team Foundation Server | WIT – Work Item Tracking | WITD – WIT Definition |&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920193" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/Rangers/default.aspx">Rangers</category><category domain="http://blogs.msdn.com/willy-peter_schaub/archive/tags/TFSMIS/default.aspx">TFSMIS</category></item></channel></rss>