<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.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>Ask  Premier Field Engineering (PFE)  Platforms</title><link>http://blogs.technet.com/b/askpfeplat/</link><description>Solutions, Tips, and Tricks From The Field For Platforms Related Problems</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Fire &amp; Forget – How to Stop a Network Trace Programmatically using Network Monitor</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/05/20/fire-amp-forget-how-to-stop-a-network-trace-programmatically-using-network-monitor.aspx</link><pubDate>Mon, 20 May 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3573585</guid><dc:creator>Doug Symalla</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3573585</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/05/20/fire-amp-forget-how-to-stop-a-network-trace-programmatically-using-network-monitor.aspx#comments</comments><description>&lt;p&gt;From time to time, we come across issues where capturing a network trace is critical to determining root cause for a problem and even more important… a solution.&amp;#160; Simple right?&amp;#160; Just start Network Monitor or WireShark and reproduce the problem.&amp;#160; Things can’t get much easier than that!&lt;/p&gt;  &lt;p&gt;The reality is that sometimes it’s just not that simple.&amp;#160; It’s not uncommon to hit an issue where unexpected failures occur at random, unpredictable times. This poses a real challenge when it comes to collecting the right data at the right time.&lt;/p&gt;  &lt;p&gt;There’s good news!&amp;#160; If the problem happens to log something to the Event Log, things just got a whole lot easier for us.&amp;#160; Beginning in Windows Vista/Server 2008, the Event Viewer now includes functionality that allows us to “attach a task” to any event.&amp;#160; This comes in super-handy when capturing an open-ended network trace because we can now programmatically stop the network trace when a specific Event is logged in any of the Event Logs.&lt;/p&gt;  &lt;p&gt;The setup to programmatically stop a network trace consists of a two-part process that utilizes the following components:&lt;/p&gt;  &lt;p&gt;- Network Monitor&lt;/p&gt;  &lt;p&gt;- Event Viewer&lt;/p&gt;  &lt;p&gt;- Task Scheduler&lt;/p&gt;  &lt;p&gt;The two-part process looks like this:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Part A:&amp;#160;&amp;#160; Performed by Network Monitor&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;- Capture network data and watch for a specific “pattern” on the network&lt;/p&gt;  &lt;p&gt;- Stop the network trace when the “pattern” is detected&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Part B:&amp;#160;&amp;#160; Performed by Event Viewer &amp;amp; Task Scheduler&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;- Watch the Event Logs for a specific Event ID&lt;/p&gt;  &lt;p&gt;- When the Event ID is logged, “&lt;i&gt;do something&lt;/i&gt;” that will generate the “pattern” that Network Monitor is waiting for to stop tracing.&lt;/p&gt;  &lt;p&gt;In this example, the “&lt;i&gt;do something&lt;/i&gt;” will be to query for non-existent host name “stopthetrace”.&lt;/p&gt;  &lt;p&gt;Now that we have an idea of what we need to do… let’s get started. &lt;/p&gt;  &lt;p&gt;We’ll need to setup the following 3 items in order to get this going:&lt;/p&gt;  &lt;p&gt;1. Start the network capture with appropriate triggers to stop the trace automatically&lt;/p&gt;  &lt;p&gt;2. Create a batch file that will query DNS for “stopthetrace”&lt;/p&gt;  &lt;p&gt;3. Configure a “task” in Event Viewer that will execute the batch file when a specific Event ID is logged.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;STEP 1:&amp;#160;&amp;#160; DOWNLOAD &amp;amp; INSTALL NETWORK MONITOR&lt;/h4&gt;  &lt;p&gt;This is simple.&amp;#160; Just make sure to right-click the installer and “run as administrator”&lt;/p&gt;  &lt;p&gt;This ensures that the Network Monitor driver successfully binds to all network interfaces.&lt;/p&gt;  &lt;p&gt;Network Monitor 3.4&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=4865"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=4865&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;STEP 2:&amp;#160; CREATE A BATCH FILE THAT WILL GENERATE A DNS QUERY FOR “STOPTHETRACE”&lt;/h4&gt;  &lt;p&gt;In order to verify that we configured the appropriate filter in the NMCAP command (we’ll do this in step 4, below), we can simply run &lt;b&gt;“Nslookup StopTheTrace”&lt;/b&gt; from a command prompt while running a network trace.&amp;#160; Once we’ve captured the DNS name resolution for “stopthetrace”, we can simply expand all of the DNS header in the Frame Details and right-click on the “QuestionName” field and select “Add Selected Value to Display Filter”.&amp;#160; This results in the following filter:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;DNS.QRecord.QuestionName == “stopthetrace.CORP.CONTOSO.MSFT”&lt;/b&gt;&lt;b&gt;&amp;#160;&amp;#160; (&lt;/b&gt;&lt;i&gt;Note that the primary DNS suffix is automatically appended to the name)&lt;/i&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8863.clip_5F00_image001_5F00_383DF916.jpg"&gt;&lt;img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3010.clip_5F00_image001_5F00_thumb_5F00_174A866F.jpg" width="699" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Now that we have the filter syntax, we have 2 options here:&lt;/p&gt;  &lt;p&gt;A. We can use the filter “as is” if we specify the Fully Qualified Domain Name (FQDN) in the DNS query&lt;/p&gt;  &lt;p&gt;&lt;b&gt;DNS.QRecord.QuestionName == “stopthetrace.CORP.CONTOSO.MSFT”&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;B. We can use the Contains() function built in to Network Monitor to look for &lt;b&gt;&lt;i&gt;any&lt;/i&gt;&lt;/b&gt; DNS query “&lt;b&gt;containing&lt;/b&gt;” string matching “StopTheTrace”&lt;/p&gt;  &lt;p&gt;&lt;b&gt;DNS.QRecord.QuestionName.Contains(‘stopthetrace’)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;For the purposes of this example, we’ll create a batch file in C:\Scripts and name it STOPTHETRACE.BAT&lt;/p&gt;  &lt;p&gt;The batch file will simply contain the following command:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;NSLookup stopthetrace&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;STEP 3:&amp;#160; ATTACH A TASK TO A SPECIFIC EVENT ID&lt;/h4&gt;  &lt;p&gt;Next, we’ll attach a task to a specific event that can be logged in any one of the Event Logs (e.g. System, Application, Security, etc.)&lt;/p&gt;  &lt;p&gt;In this example, we want to capture network data until Event ID 5719 is logged in the System Event log.&lt;/p&gt;  &lt;p&gt;With Event ID 5719 highlighted, select “Attach a Task to this Log”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2451.clip_5F00_image002_5F00_089FDA8A.jpg"&gt;&lt;img title="clip_image002" style="display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8156.clip_5F00_image002_5F00_thumb_5F00_0EE6B118.jpg" width="705" height="299" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the task wizard, we’ll specify a name and description for the task that we’re creating… click “Next”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2308.clip_5F00_image004_5F00_152D87A6.jpg"&gt;&lt;img title="clip_image004" style="display: inline; background-image: none;" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4466.clip_5F00_image004_5F00_thumb_5F00_78B095C5.jpg" width="674" height="462" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The next dialog will default to the appropriate required settings.&amp;#160; We’ll keep the defaults here… click “Next”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8105.clip_5F00_image006_5F00_58295613.jpg"&gt;&lt;img title="clip_image006" style="display: inline; background-image: none;" border="0" alt="clip_image006" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7115.clip_5F00_image006_5F00_thumb_5F00_4C9398D4.jpg" width="623" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the Action dialog, we’ll select “Start a program”… click “Next”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7450.clip_5F00_image008_5F00_7E1F0669.jpg"&gt;&lt;img title="clip_image008" style="display: inline; background-image: none;" border="0" alt="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6560.clip_5F00_image008_5F00_thumb_5F00_5D97C6B7.jpg" width="666" height="460" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’ll specify the location of the batch file that we created on the “Start a Program” window… click “Next”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0537.clip_5F00_image010_5F00_52020978.jpg"&gt;&lt;img title="clip_image010" style="display: inline; background-image: none;" border="0" alt="clip_image010" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7080.clip_5F00_image010_5F00_thumb_5F00_038D770E.jpg" width="678" height="467" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the Summary window, select the option “Open the Properties dialog for this task when I click Finish”… click “Finish”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2318.clip_5F00_image012_5F00_10F38A14.jpg"&gt;&lt;img title="clip_image012" style="display: inline; background-image: none;" border="0" alt="clip_image012" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5775.clip_5F00_image012_5F00_thumb_5F00_50513DA4.jpg" width="687" height="471" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notice that the wizard simply creates a Scheduled Task.&lt;/p&gt;  &lt;p&gt;The properties dialog for the task looks just like any other Scheduled Task property window.&lt;/p&gt;  &lt;p&gt;In this example, we’ve specified that the batch file should run as SYSTEM… click “OK” to close.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8037.clip_5F00_image014_5F00_48C5CE37.jpg"&gt;&lt;img title="clip_image014" style="display: inline; background-image: none;" border="0" alt="clip_image014" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1581.clip_5F00_image014_5F00_thumb_5F00_6F27B182.jpg" width="703" height="522" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;By default, the Event Viewer task will automatically stop after 3 days and will not execute additional instances.&lt;/p&gt;  &lt;p&gt;These options are configurable. We can simply uncheck the “auto stop” option to run the task indefinitely if needed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7875.clip_5F00_image016_5F00_0098125B.jpg"&gt;&lt;img title="clip_image016" style="display: inline; background-image: none;" border="0" alt="clip_image016" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6724.clip_5F00_image016_5F00_thumb_5F00_58F19630.jpg" width="672" height="499" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Note:&amp;#160; We should now see a new task under “Event Viewer Tasks” within Task Scheduler&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1462.clip_5F00_image018_5F00_7F53797B.jpg"&gt;&lt;img title="clip_image018" style="display: inline; background-image: none;" border="0" alt="clip_image018" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7824.clip_5F00_image018_5F00_thumb_5F00_73BDBC3C.jpg" width="684" height="129" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Check out Michael Hildebrand’s “&lt;i&gt;PFE Troubleshooting Series&lt;/i&gt;” blog which outlines more Event Log goodies.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;PFE Troubleshooting Series&lt;b&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/01/02/pfe-troubleshooting-series-second-post-and-happy-new-year.aspx"&gt;http://blogs.technet.com/b/askpfeplat/archive/2012/01/02/pfe-troubleshooting-series-second-post-and-happy-new-year.aspx&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;STEP 4:&amp;#160; START THE NETWORK CAPTURE USING NMCAP.EXE&lt;/h4&gt;  &lt;p&gt;NMCAP.exe is simply the command-line version of NetMon. In this example, we’re going to start a network trace using a circular buffer of 50 Mb. The data collected will be saved to a file named NetworkCapture1.cap on the root of the C:\ drive. The capture will continue to run until the specified pattern match is detected.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;nmcap /Network * /Capture /File c:\NetworkCapture1.cap:50M /StopWhen /Frame dns.qrecord.questionname.Contains(‘stopthetrace’)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Note: Make sure to use single quotes when specifying a string in the Contains() function.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Run “nmcap /?” to get more detail related to each switch used here.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;In order to be able to configure NMCAP.EXE to continue running after we log off, we’ll need to run it as a Scheduled Task.&lt;/p&gt;  &lt;p&gt;We’ll create a batch file named NETTRACE.BAT that contains the NMCAP syntax that we’ve come up with.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Note:&amp;#160; Unless we create the batch file in the same location as NMCAP.EXE, we’ll need to specify the full path to NMCAP.EXE.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1882.clip_5F00_image020_5F00_53367C8A.jpg"&gt;&lt;img title="clip_image020" style="display: inline; background-image: none;" border="0" alt="clip_image020" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5621.clip_5F00_image020_5F00_thumb_5F00_32AF3CD8.jpg" width="724" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, create a basic Scheduled Task that runs NETTRACE.BAT&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7183.clip_5F00_image022_5F00_643AAA6D.jpg"&gt;&lt;img title="clip_image022" style="display: inline; background-image: none;" border="0" alt="clip_image022" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2402.clip_5F00_image022_5F00_thumb_5F00_23985DFE.jpg" width="661" height="491" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Configure the task to run as SYSTEM&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1351.clip_5F00_image024_5F00_3508BED6.jpg"&gt;&lt;img title="clip_image024" style="display: inline; background-image: none;" border="0" alt="clip_image024" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2845.clip_5F00_image024_5F00_thumb_5F00_0957F4DA.jpg" width="645" height="479" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Right-click the task and select “Run”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6683.clip_5F00_image026_5F00_2FB9D825.jpg"&gt;&lt;img title="clip_image026" style="display: inline; background-image: none;" border="0" alt="clip_image026" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0652.clip_5F00_image026_5F00_thumb_5F00_614545BA.jpg" width="682" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Since the trace is running under the SYSTEM context, we won’t see it interactively on our desktop.&lt;/p&gt;  &lt;p&gt;We can use Task Manager to verify that NMCAP.EXE is running.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4061.clip_5F00_image028_5F00_40BE0608.jpg"&gt;&lt;img title="clip_image028" style="display: inline; background-image: none;" border="0" alt="clip_image028" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8508.clip_5F00_image028_5F00_thumb_5F00_001BB999.jpg" width="446" height="492" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To verify that the trace will actually stop when the batch file is executed, we can manually run the batch file named STOPTHETRACE.BAT.&lt;/p&gt;  &lt;p&gt;We’ll need to confirm that we no longer see NMCAP.EXE running in Task Manager and that a network trace file was successfully created.&lt;/p&gt;  &lt;p&gt;At this point, simply start NMCAP.EXE again using the Task Scheduler, log off… and go have dinner!&lt;/p&gt;  &lt;p&gt;Victor Zapata&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3573585" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/scheduled+task/">scheduled task</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/event/">event</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Victor+Zapata/">Victor Zapata</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Netmon/">Netmon</category></item><item><title>Update Rollups For Windows Server 2012 and Windows 8 Explained</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/05/13/update-rollups-for-windows-server-2012-and-windows-8-explained.aspx</link><pubDate>Mon, 13 May 2013 09:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3572189</guid><dc:creator>Mark Morowczynski [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3572189</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/05/13/update-rollups-for-windows-server-2012-and-windows-8-explained.aspx#comments</comments><description>&lt;p&gt;Hello all,&lt;/p&gt;  &lt;p&gt;If you pay attention to the updates we rollout each month or take note of what Windows Updates are on your Windows 8 PC or Windows Server 2012 Server, you may have seen some monthly rollup updates. Below are the rollups from the first one when we released Windows 8 up to April 2013:&lt;/p&gt;  &lt;p&gt;(Note that we recently renamed the updates from Cumulative Update to Update Rollup which we feel better describes them).&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: April 2013 – &lt;a href="http://support.microsoft.com/kb/2822241/EN-US"&gt;KB2822241&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: March 2013 – &lt;a href="http://support.microsoft.com/kb/2811660"&gt;KB2811660&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: February 2013 – &lt;a href="http://support.microsoft.com/kb/2795944"&gt;KB2795944&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: January 2013 – &lt;a href="http://support.microsoft.com/kb/2785094"&gt;KB2785094&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: December 2012 – &lt;a href="http://support.microsoft.com/kb/2779768"&gt;KB2779768&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 and Windows Server 2012 Update Rollup: November 2012 – &lt;a href="http://support.microsoft.com/kb/2770917"&gt;KB2770917&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· Windows 8 Client and Windows Server 2012 General Availability Update Rollup – &lt;a href="http://support.microsoft.com/kb/2756872"&gt;KB2756872&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This post will discuss the intended purpose of these rollups, where they come from, and the intended audience. Note that the way we package updates may change as our products evolve so this information is relevant only to Windows 8 and Windows Server 2012.&lt;/p&gt;  &lt;p&gt;So to start, these update rollups are &lt;strong&gt;not&lt;/strong&gt; cumulative updates. You&lt;strong&gt; &lt;u&gt;do&lt;/u&gt;&lt;/strong&gt; need to apply each of the monthly update rollups to get the fixes and enhancements from each month. Installing the February 2013 Update Rollup does not get you the January 2013 to October 2012 rollup updates. This is to say, these rollups are independent of each other. Searching on the KB number (or just use the above links for existing updates) will discuss what each rollup is addressing that month. Note that these updates do &lt;u&gt;&lt;strong&gt;not&lt;/strong&gt;&lt;/u&gt; focus on a particular component as we have seen with previous cumulative or rollup type updates but are broader to Windows.&lt;/p&gt;  &lt;p&gt;There are several mechanisms used to decide which fixes are put into these updates including feedback from Premier Customers, Original Equipment Manufacturers (OEM), Independent Hardware Vendors (IHV), Independent Software Vendors (ISV), telemetry from Windows Error Reporting (&lt;a href="http://msdn.microsoft.com/en-us/library/windows/hardware/gg487440.aspx"&gt;WER&lt;/a&gt;), forums, blogs and internal Microsoft organizations. Based on this data, we then make the decision on whether to include these fixes in the upcoming update on some of the below criteria:&lt;/p&gt;  &lt;p&gt;· Impact to the end user. The impact needs to be rather significant. For example, does the problem being fixed result in a BugCheck, data loss, or other significant event.&lt;/p&gt;  &lt;p&gt;· Applicability or number of systems impacted. This is where the telemetry data is important (turn on WER to make the products better). We also rely on estimate volumes from our OEMs, ISVs and IHVs.&lt;/p&gt;  &lt;p&gt;· Confidence that the fix will not cause regressions. This confidence is based on our code analysis and extensive testing.&lt;/p&gt;  &lt;p&gt;Note that the update rollups are not security-related and are intended to improve the overall performance and reliability of Windows. Security issues are still evaluated and deployed as discussed on the &lt;a href="http://www.microsoft.com/security/msrc/default.aspx"&gt;Microsoft Security Response Center&lt;/a&gt; site.&lt;/p&gt;  &lt;p&gt;Most consumers will take these updates on a monthly basis without even realizing it and improve their overall experience. It is recommended that enterprises follow this same path and distribute these update rollups monthly, just as they do the Security updates from the second Tuesday of the month. It is expected that these updates can be distributed and tested using the same procedures that are used for the monthly Security updates so as to not significantly increase the burden on IT staff.&lt;/p&gt;  &lt;p&gt;If you install updates by manually downloading updates from the Windows Update catalog or links from the related KB article, you also need to be aware that there may be prerequisite fixes that need to be installed first. This is handled automatically when using &lt;b&gt;Windows Update&lt;/b&gt;, &lt;b&gt;WSUS&lt;/b&gt;, &lt;b&gt;Configuration Manager&lt;/b&gt;, etc. For example, if you go to the &lt;a href="http://www.microsoft.com/en-us/download/default.aspx"&gt;Microsoft Download Center&lt;/a&gt; and search on the March update rollup (paste in KB2811660 in the search field), you will see a several typical links for the different architecture types. Selecting any of these (note that Windows 8 x64 and Windows Server 2012 are the same) will display the &lt;i&gt;chained&lt;/i&gt; updates. We use the word chained here because if were to install parent KB2811660 from Windows Update, it will install all of the other child updates automatically. So again, the typical home user will not only get KB2811660 installed but also KB2800088, KB2812829, KB2815769, and KB2823233 automatically. Users who do not use Windows Update will need to manually install all of the updates from the download center when searching on the parent update rollup– so for the March update, a total of five updates. Home users who use Microsoft Update and As mentioned, customers who utilize WSUS and System Center Configuration Manager with its approval process do not need worry about the parent / child relationships as they take care of that for you.&lt;/p&gt;  &lt;p&gt;Here is an example of the March update rollup and how it appears on the Microsoft Download Center:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1667.image_5F00_21CED3B6.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6712.image_5F00_thumb_5F00_0C0A0CBB.png" width="713" height="612" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The end goal of these update rollups is for home and enterprise users to maintain a solid and well tested baseline of the overall Operating System (OS). Update Rollups are a way for us to accommodate the way our customers are using the product today. These update rollups allow customers to maintain an up-to-date system simpler and in a more speedy fashion than ever before.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Steve “SteveMat” Mathias&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3572189" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Windows+Server+2012/">Windows Server 2012</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Server+2012/">Server 2012</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Hotfix/">Hotfix</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Windows+Update/">Windows Update</category></item><item><title>Premier Technology Day Hosted by AskPFEPlat- Live Events in St. Louis and Minneapolis on June 21, 2013</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/05/10/premier-technology-day-hosted-by-askpfeplat-live-events-in-st-louis-and-minneapolis-on-june-21-2013.aspx</link><pubDate>Fri, 10 May 2013 13:00:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571913</guid><dc:creator>Doug Symalla</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3571913</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/05/10/premier-technology-day-hosted-by-askpfeplat-live-events-in-st-louis-and-minneapolis-on-june-21-2013.aspx#comments</comments><description>&lt;p&gt;Hey everyone, I’d like to make you aware of an opportunity to connect with some AskPFEPlat celebrities (relatively speaking, of course). We’re hosting two, one-day workshops, live and in-person. This is a unique opportunity for you to participate in detailed, interactive discussions around some very specific Windows Server 2012 topics. These topics include some of our most popular from AskPFEPlat including domain controller cloning, storage and file services, PowerShell and Performance.&lt;/p&gt;  &lt;p&gt;You can expect a full day of technical sessions with presentations, demonstrations and most importantly - questions and answers. Each event will be hosted by 3 Premier Field Engineers from AskPFEPlat, so you will get a broad variety of perspectives, backed by real-world experiences.&lt;/p&gt;  &lt;p&gt;Both sessions will take place on Friday June 21, 2013. One of the events will be in Minneapolis and the other in St. Louis. The events will be hosted at the local Microsoft office.&lt;/p&gt;  &lt;p&gt;This opportunity is only available to Microsoft Premier Support customers. If you’re in the area, and you are a Premier Support customer, be sure to contact your Technical Account Manager (TAM) who can give you more details, including pricing, and register you for the event. We expect to fill all the seats, well in advance, so don’t delay. If you have questions about Premier Support, and you don’t know where to turn, feel free to ask us. We’ll be happy to put you into contact with the right people. &lt;/p&gt;  &lt;p&gt;We are excited about this opportunity to connect with you in person and talk shop. We hope to host similar events in other cities in the near future, so stay tuned. If you think we ought to visit your city, let us know and we’ll definitely consider it – especially if you’ve got a nice climate.&amp;#160; &lt;img class="wlEmoticon wlEmoticon-smile" style="style" alt="Smile" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6761.wlEmoticon_2D00_smile_5F00_2A44D298.png" /&gt;&lt;/p&gt;  &lt;p&gt;Doug Symalla&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571913" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Server+2012/">Server 2012</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/AskPFEPlat/">AskPFEPlat</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Premier+Technology+Day/">Premier Technology Day</category></item><item><title>How Domain Controllers are Located Across Trusts</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/05/06/how-domain-controllers-are-located-across-trusts.aspx</link><pubDate>Mon, 06 May 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3562215</guid><dc:creator>Tom Moser [MSFT]</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3562215</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/05/06/how-domain-controllers-are-located-across-trusts.aspx#comments</comments><description>&lt;p&gt;Hi AskPFEPlat readers. Tom Moser here. A question I get on a pretty frequent basis from my larger, multi-forest enterprise customers is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;Do I need to add subnets from Forest A to Forest B so that clients find the correct DC across the trust?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And here&amp;rsquo;s how I try to answer that question, usually with a lot of words, a little white boarding, and a lot of pointing. I thought, &amp;ldquo;this needs pictures&amp;hellip;&amp;rdquo; so here you go.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re in a hurry to get back to /r/sysadmin, the short answer is no. If you want to know why, keep reading. Then maybe cross post this for me there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;*** Point of Clarification ***&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This post is about the a scenario where the subnets in the two forests &lt;strong&gt;do not&lt;/strong&gt; overlap (i.e., client&amp;rsquo;s IP address from forest A is not covered by any subnet in forest B). This would typically occur in resource forest scenarios with separate networks. For example: federating via trust with Microsoft online services or a trust between a corporate forest and a perimeter forest. Everything you&amp;rsquo;re about to read below assumes that the client IP from Forest A is not covered by any subnet in Forest B.&lt;/p&gt;
&lt;p&gt;In cases where the two forests have conflicting subnets (for example, 10.1.1.0/24 means site &amp;ldquo;Detroit&amp;rdquo; in Forest A, but means site &amp;ldquo;Siberia&amp;rdquo; in Forest B), there are additional considerations. We will cover these in a later post.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #4bacc6;"&gt;Where&amp;rsquo;s my DC?&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;First, let&amp;rsquo;s talk about how your workstation, or any domain member, finds a domain controller at startup. To demo this, I configured port mirroring on my VMs in Hyper-V and intercepted the entire network conversation on another VM. For the purposes of demonstration, I&amp;rsquo;ve filtered the traffic to just DNS, LDAP, and Netlogon responses.&lt;/p&gt;
&lt;p&gt;At startup, the first thing a domain member needs to do is authenticate. Almost. Before that, it needs to find a (hopefully local) domain controller. It does this by sending a DNS query to its primary DNS server. The query is simply looking for an LDAP server in the DNS domain of the workstation. My client queried DC01 (primary DNS) for &lt;strong&gt;_ldap._tcp.dc._msdcs.corp.milt0r.com&lt;/strong&gt; (&lt;strong&gt;Figure 1&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7573.Figure1_5F00_7284F28C.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure1" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7411.Figure1_5F00_thumb_5F00_7FEB0592.png" alt="Figure1" width="816" height="58" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 1 - First DNS queries at start&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first frame shows the DNS query, and the second shows the response. In the response data, we get a list of all of the SRV records (&lt;strong&gt;Figure 2&lt;/strong&gt;). Examining the frame details for the response, we can see all of the DCs with an LDAP SRV record registered in the global SRV list. This is the list of all DCs in my forest that are &lt;a href="http://support.microsoft.com/kb/306602"&gt;configured to globally register SRV records&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1832.Figure2_5F00_20C76AC8.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0285.Figure2_5F00_thumb_5F00_3237CBA0.png" alt="Figure2" width="551" height="223" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 2 - DNS Response Frame Details&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Next, the client picks one of those &amp;ldquo;ARecord&amp;rdquo; entries and queries the hostname. Here (&lt;strong&gt;Figure 3&lt;/strong&gt;) it queries its DNS server for the IP address of &lt;strong&gt;dc04.corp.milt0r.com &lt;/strong&gt;and receives a response of &lt;strong&gt;10.2.1.11&lt;/strong&gt;.&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7026.Figure3_5F00_38297CAB.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0820.Figure3_5F00_thumb_5F00_09CFF6FE.png" alt="Figure3" width="821" height="65" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 3 - DNS Query: Round 2&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can see that based only on that initial query for &lt;strong&gt;_ldap._tcp.dc._msdcs.corp.milt0r.com&lt;/strong&gt; we&amp;rsquo;ve resolved an IP address for a DC that is (well, should be) hosting the LDAP service.&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #4bacc6; font-size: medium;"&gt;Anybody home?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Netlogon now has what it needs to contact the DC. Using the IP address it resolved, the&amp;nbsp;client sends a UDP ping in the form of a UDP LDAP query to the DC (&lt;strong&gt;Figure 4&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0435.Figure4_5F00_08F79114.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure4" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0844.Figure4_5F00_thumb_5F00_1D7CE092.png" alt="Figure4" width="813" height="69" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: xx-small;"&gt;&lt;strong&gt;Figure 4 - UDP LDAP &amp;ldquo;Ping&amp;rdquo; Conversation&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;DC04 responds to the LDAP &amp;ldquo;ping&amp;rdquo; in the form of a Netlogon SAM Response. If no response is received, it tries another DC. The payload contains (&lt;strong&gt;Figure 5&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6557.Figure5_5F00_3CA879F3.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure5" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0143.Figure5_5F00_thumb_5F00_351D0A86.png" alt="Figure5" width="477" height="343" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 5 - More Frame Details&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Check that out. &lt;strong&gt;&lt;em&gt;ClientSiteName&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;.&lt;/em&gt; The response from the UDP LDAP query tells my client which site it (the client) belongs to. &lt;a href="http://www.youtube.com/watch?v=pele5vptVgc"&gt;Now you know&lt;/a&gt;. That value ends up getting written under Netlogon&amp;rsquo;s parameters key in the registry on the client machine(HKLM\System\CurrentControlSet\Services\Netlogon\Parameters\DynamicSiteName).&lt;/p&gt;
&lt;p&gt;But, we still aren&amp;rsquo;t connected to a &lt;strong&gt;local&lt;/strong&gt; DC. That &lt;strong&gt;&lt;em&gt;DcSiteName&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; &lt;/em&gt;property indicates that DC04 is in CORPDR. We want a local DC. If you wanted to go way off in to the weeds here, you could &lt;a href="http://support.microsoft.com/kb/109626"&gt;enable Netlogon debug logging&lt;/a&gt; and look for MAILSLOT entries in the log. There you&amp;rsquo;d see (&lt;strong&gt;Figure 6&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7245.Figure6_5F00_353417F8.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure6" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6114.Figure6_5F00_thumb_5F00_2212EB4C.png" alt="Figure6" width="896" height="134" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 6 - Netlogon.log with debug level logging&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It shows us right in the logs that DC04 isn&amp;rsquo;t a local DC and that it&amp;rsquo;s going to try to find a DC in a closer site. Immediately after that, we see another DNS query (&lt;strong&gt;Figure 7&lt;/strong&gt;). This query is for another LDAP SRV record, but this time it looks a little different:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5241.Figure7_5F00_3EB552EF.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure7" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7343.Figure7_5F00_thumb_5F00_62024794.png" alt="Figure7" width="827" height="59" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 7 - Site specific DNS query&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instead of querying for &lt;em&gt;any&lt;/em&gt; DC as the service did at start, the service now performs a &lt;em&gt;site specific&lt;/em&gt; query using _ldap._tcp.&lt;span style="background-color: #ffff00;"&gt;CORPHQ&lt;/span&gt;._sites.dc._msdcs.corp.milt0r.com. DNS returns a response that contains the SRV records for all of the domain controllers in the CORPHQ site. The frame details for the DNS reply contains (&lt;strong&gt;Figure 8&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1586.Figure8_5F00_4E74E7F3.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure8" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5621.Figure8_5F00_thumb_5F00_74D6CB3E.png" alt="Figure8" width="571" height="292" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 8 - Site specific DNS reply - Frame Details&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Each ARecord entry contains info about an SRV record. Now we know that DC02 is hosting LDAP on 389. Next we would expect a DNS query for DC02 (&lt;strong&gt;Figure 9&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4064.Figure9_5F00_4CC41C1F.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure9" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8306.Figure9_5F00_thumb_5F00_13410C28.png" alt="Figure9" width="714" height="54" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 9 - DNS Query for DC A Record&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Based on the response, Netlogon tries the UDP LDAP query again, this time to 10.1.1.11 (in the log above). And there you have it. From this point on, any process using DCLocator or &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms675983(v=vs.85).aspx"&gt;DsGetDcName&lt;/a&gt; should use the site specific queries.&lt;/p&gt;
&lt;p&gt;But &amp;ldquo;how does that help you cross-forest&amp;rdquo; you ask? Great question.&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #4bacc6; font-size: medium;"&gt;Finding DCs Cross-Forest&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;I have a forest trust configured between &lt;strong&gt;corp.milt0r.com&lt;/strong&gt; and &lt;strong&gt;dmz.milt0r.com&lt;/strong&gt;. I&amp;rsquo;ve also got a stub zone configured on my primary DNS server pointing to dmz.milt0r.com. From my client, Win8, I&amp;rsquo;ll open cmd.exe and run &lt;strong&gt;nltest&lt;/strong&gt; to find a DC in the other forest (&lt;strong&gt;Figure 10&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0743.image_5F00_12FC0C72.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0842.image_5F00_thumb_5F00_407D2C35.png" alt="image" width="637" height="162" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 10 &amp;ndash; nltesting&amp;hellip;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Examining the network trace shows some interesting information. When my machine started, it performed that generic query to the global SRV list. When I crossed my forest trust and needed to find a DC, it did this (&lt;strong&gt;Figure 11&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8713.image_5F00_31D28050.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1616.image_5F00_thumb_5F00_51152723.png" alt="image" width="721" height="73" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 11 - Cross-trust DNS Query &amp;ndash; Site specific&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first query to the trusting forest performed a DNS query looking for _ldap._tcp.&lt;span style="background-color: #ffff00;"&gt;CORPHQ&lt;/span&gt;._sites.dc._msdcs.dmz.milt0r.com. Weird. We don&amp;rsquo;t even know if that&amp;rsquo;s a valid site in dmz.milt0r.com&amp;hellip; and according to that &amp;ldquo;Name Error&amp;rdquo; message in the response, it isn&amp;rsquo;t! Based on the information provided in the capture, we now know that &lt;strong&gt;the first DNS query for a DC in another forest will look for a DC in a site that matches the client&amp;rsquo;s site in its own forest.&lt;/strong&gt; Since it didn&amp;rsquo;t find one, it falls back to the global list (&lt;strong&gt;Figure 12&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0601.Figure12_5F00_1A3098E0.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure12" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1108.Figure12_5F00_thumb_5F00_759F0B5B.png" alt="Figure12" width="732" height="56" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 12 - Cross-trust DNS Query &amp;ndash; Non-site specific&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This one returns a response. From there, we witness a similar behavior to what we saw in the local forest. A DNS query to the hostname we want to use, then one of the UDP LDAP &amp;ldquo;pings&amp;rdquo; (&lt;strong&gt;Figure 13&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6013.Figure13_5F00_78D0F343.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure13" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2630.Figure13_5F00_thumb_5F00_5849B391.png" alt="Figure13" width="741" height="78" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 13 - A Record Query and LDAP Ping&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And then the corresponding MAILSLOT entry in the Netlogon debug log (&lt;strong&gt;Figure 14&lt;/strong&gt;).&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3730.Figure14_5F00_57714DA7.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure14" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7357.Figure14_5F00_thumb_5F00_5DB82435.png" alt="Figure14" width="733" height="43" border="0" /&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 14 - More netlogon logs.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #4bacc6; font-size: medium;"&gt;So how do I ensure that I find a DC across the trust in a &amp;ldquo;local&amp;rdquo; site or desired site?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;By now, you&amp;rsquo;ve probably guessed it. You simply need to create a site in the trusting forest that has the same name as the site in the trusted forest. If I jump on to OLDDC01 in the DMZ forest and fire up Sites and Services, I can add a new site (&lt;strong&gt;Figure 15&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4721.Figure15_5F00_3611A80B.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure15" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8880.Figure15_5F00_thumb_5F00_158A6859.png" alt="Figure15" width="231" height="199" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 15 - It's a 2003 DC, hence OLDDC01.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The site doesn&amp;rsquo;t need to actually contain any domain controllers. You&amp;rsquo;ll just want to ensure that it&amp;rsquo;s connected to a site that you want to service the authentications and LDAP queries. The rest will happen via automatic site coverage. DCs linked to empty sites recognize that the other site has no DCs and register SRV records there to ensure that clients find a &amp;ldquo;close enough&amp;rdquo; domain controller. When that happens, you&amp;rsquo;ll see a message from Netlogon like the one below (&lt;strong&gt;Figure 16&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7318.Figure16_5F00_14B2026F.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure16" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8738.Figure16_5F00_thumb_5F00_3B13E5BA.png" alt="Figure16" width="389" height="430" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 16 - Automatic Site Coverage event log message&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And now when running that &lt;strong&gt;nltest&lt;/strong&gt; command again, we observe:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2072.Figure17_5F00_7A056655.png"&gt;&lt;img style="display: inline; background-image: none;" title="Figure17" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8765.Figure17_5F00_thumb_5F00_206749A1.png" alt="Figure17" width="727" height="94" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: xx-small;"&gt;Figure 17 - Cross-trust DNS Query - Site Specific and successful!&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first query we see (&lt;strong&gt;Figure 17&lt;/strong&gt;) is, once again, site specific&amp;hellip;except this time it returns a successful response. Next, it queries the A record and finally performs the LDAP ping. From there authentication occurs against the site-specific foreign DC. By matching the site name, we&amp;rsquo;re able to help predict and control which DCs I will go to across the forest trust.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;span style="color: #4bacc6; font-size: medium;"&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;My hope is that by this point you have an understanding of how DCLocator works for finding DCs in the domain of the workstation &lt;strong&gt;and&lt;/strong&gt; that you understand how to get it to find specific DCs across a forest trust. Long story short, you &lt;strong&gt;don&amp;rsquo;t&lt;/strong&gt; need to go out and register all of your subnets in the trusting forest, but you &lt;strong&gt;do &lt;/strong&gt;need to have site names that match, as well as a topology that matches how you&amp;rsquo;d like the traffic to flow between the two forests. You won&amp;rsquo;t want to place a matching site name off of some site that contains DCs but is poorly connected and unreliable.&lt;/p&gt;
&lt;p&gt;Please keep in mind that caveat I mentioned at the beginning. This methodology works great when the subnet in Forest A doesn&amp;rsquo;t exist in Forest B. There could, however, be some unintended results and issues if conflicting subnet definitions exist. Watch for another post on that very soon.&lt;/p&gt;
&lt;p&gt;Big thanks to fellow PFE Matt Reynolds for his assistance with this post and doing some labbing and confirmation around these topics. His contribution provided the info for the follow up post. Look for that in the next few weeks.&lt;/p&gt;
&lt;p&gt;Thanks for reading and post any questions in the comments below!&lt;/p&gt;
&lt;p&gt;- Tom "I'm gonna need a 10-20 on that DC"&amp;nbsp;Moser&lt;/p&gt;
&lt;p&gt;@Milt0r&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3562215" width="1" height="1"&gt;</description></item><item><title>Upgrading or Migrating Active Directory to Windows Server 2012 – Build Your Roadmap Now</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/29/upgrading-or-migrating-active-directory-to-windows-server-2012-build-your-roadmap-now.aspx</link><pubDate>Mon, 29 Apr 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3569569</guid><dc:creator>Doug Symalla</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3569569</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/29/upgrading-or-migrating-active-directory-to-windows-server-2012-build-your-roadmap-now.aspx#comments</comments><description>&lt;p&gt;If you&amp;rsquo;ve been managing an Active Directory infrastructure for the last 5-10 years, you might have noticed that the pace of change has rapidly increased. After surviving the migrations from Windows NT to Windows 2000 and then Windows 2003, we settled into a nice lull for about 5 years. Suddenly Windows Server 2008, Windows Server 2008 R2 and Windows Server 2012 released in about a four year time frame. Now the rumors around the web are hinting at another new version of Windows.&lt;/p&gt;
&lt;p&gt;As a lover of technology, all this new stuff is exciting. As a support professional who has to help customers implement all this change, I can understand that you may feel overwhelmed. Can you imagine trying to manage and upgrade an AD infrastructure that has domain controllers running a mix of one/more/all of the following: Server 2003, Server 2008, Server 2008 R2 and Server 2012?&lt;/p&gt;
&lt;p&gt;Now is the time to start planning and build your roadmap for moving forward. Don&amp;rsquo;t worry, because we&amp;rsquo;re here to help. AskPFEPlat has already given you a great look at &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/tags/windows+server+2012/"&gt;Windows Server 2012&lt;/a&gt;. Greg&amp;rsquo;s even given you some practical information on &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/09/03/introducing-the-first-windows-server-2012-domain-controller.aspx"&gt;deploying the first Windows Server 2012 Domain Controller&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What we&amp;rsquo;re going to deliver to you now (and in some soon-to-follow blogs), is everything you need to know about the upgrade process in general as well as some great specifics. I know that there is already &lt;a href="http://technet.microsoft.com/en-us/library/hh994618.aspx"&gt;good information on TechNet&lt;/a&gt; and elsewhere on the internet. What we have to offer is comprehensive and practical information based on our experiences helping hundreds of customers through this process.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start by talking about a framework to manage the process. At the end of the day, it is simple:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3286.clip_5F00_image002_5F00_67FE0AFB.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0486.clip_5F00_image002_5F00_thumb_5F00_470A9854.jpg" alt="clip_image002" width="648" height="267" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Assess Your Environment&lt;/h4&gt;
&lt;p&gt;Start by assessing where you are today with your Active Directory infrastructure. Specifically:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Document your current Architecture, Design and Sizing. Where, how many and how big are your current domain controllers?&lt;/li&gt;
&lt;li&gt;Research and document your dependents. Which applications in your environment depend on AD? What applications run the business, and what dependency, if any, do they have on Active Directory?&lt;/li&gt;
&lt;li&gt;Discover and document your current Domain Controllers configuration. Any non-default configurations that you need to carry forward?&lt;/li&gt;
&lt;li&gt;Research the changes to the default OS behavior in the &amp;ldquo;new&amp;rdquo; versions of Windows. Do you know what these are, and how they might affect you?&lt;/li&gt;
&lt;li&gt;Inventory other applications/services that are running on your DCs. Don&amp;rsquo;t forget that these might need to be migrated as your old DCs disappear.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Plan Your Upgrade&lt;/h4&gt;
&lt;p&gt;Now think about where you&amp;rsquo;re going, and what you have to do to get there.&amp;nbsp; Use your assessment data to drive the plans. Specifically:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Decide which version of Windows Server you are heading for &amp;ndash; Windows Server 2012?&lt;/li&gt;
&lt;li&gt;Determine whether you are ready for this new version of Windows. Do you have a tried and tested build?&lt;/li&gt;
&lt;li&gt;Document your desired architecture. Are you going to carry your current architecture forward? Do you have the right number of DCs in the right place of the right capacity?&lt;/li&gt;
&lt;li&gt;Decide if the&amp;nbsp;type of DC you deploy will change. What about Read-Only DCs, or Virtual DCs? Should they play a role in your new infrastructure?&lt;/li&gt;
&lt;li&gt;Research which of your dependents are compatible with these new types of Domain Controllers.&lt;/li&gt;
&lt;li&gt;Determine which application/client dependents need to be tested against new DCs.&lt;/li&gt;
&lt;li&gt;Plan to manage the behavior changes in the default&amp;nbsp;configuration of the new&amp;nbsp;the OS. Will you roll these changes back (can you roll them back?), roll these changes forward before you deploy new DCs, or let them trickle in as new DCs are deployed?&lt;/li&gt;
&lt;li&gt;Sequence the introduction of new DCs. Where will you start, and how quickly will you introduce them?&lt;/li&gt;
&lt;li&gt;Sequence the retirement of old DCs. How will you migrate &amp;ldquo;other&amp;rdquo; services off of these DCs? Do you need to move IP addresses (or hostnames) from old DCs to new DCs?&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Test&lt;/h4&gt;
&lt;p&gt;Ideally, you test every proposed change. Practically, you need to determine what you must test and what you can test, and how you will test. In some cases you will test in a lab, in other cases you may test in production (with a pilot or limited deployment, for example).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you haven&amp;rsquo;t already introduced the new OS into production elsewhere, test your server build for the new OS.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/05/28/best-practices-for-implementing-schema-updates-or-how-i-learned-to-stop-worrying-and-love-the-forest-recovery.aspx"&gt;You really should test Schema extensions&lt;/a&gt; and other changes made to the Active Directory database (aka ADPREP), especially since these are irreversible.&lt;/li&gt;
&lt;li&gt;Decide which applications or clients that depend on Active Directory need to be tested.&lt;/li&gt;
&lt;li&gt;Test your migration plan for other services like DHCP, WINS, or IAS that may be running on your current DCs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Deploy&lt;/h4&gt;
&lt;p&gt;Now that you&amp;rsquo;ve done your homework, phase your deployment into stages. Some of the milestones you will set, include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preparing the Active Directory database for the new DCs (aka ADPREP).&lt;/li&gt;
&lt;li&gt;Deploying the first Domain Controller running the new OS.&lt;/li&gt;
&lt;li&gt;Deploying additional Domain Controllers and retiring old DCs.&lt;/li&gt;
&lt;li&gt;Deploying the final new DC, and retiring the last old DC.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/04/09/a-few-things-you-should-know-about-raising-the-dfl-and-or-ffl-to-windows-server-2008-r2.aspx"&gt;Upgrading Domain Functional Levels, Forest Functional Levels&lt;/a&gt; and implementing new features.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I know this is a lot to take in, and we&amp;rsquo;re not sharing technical details here. However, once you have the framework for the upgrade process, you just have to fill in the blanks. Stay tuned for future blogs that will cover these phases in much more detail.&lt;/p&gt;
&lt;p&gt;Doug &amp;ldquo;I&amp;rsquo;ll drag you along the AD upgrade, Kicking and Screaming&amp;rdquo; Symalla&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3569569" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Active+Directory/">Active Directory</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Windows+Server+2012/">Windows Server 2012</category></item><item><title>Choosing a Hash and Encryption Algorithm for a new PKI?</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/22/choosing-a-hash-and-encryption-algorithm-for-a-new-pki.aspx</link><pubDate>Mon, 22 Apr 2013 11:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3568127</guid><dc:creator>Mark Morowczynski [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3568127</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/22/choosing-a-hash-and-encryption-algorithm-for-a-new-pki.aspx#comments</comments><description>&lt;p&gt;I frequently get asked to consult on building out new Public Key Infrastructures here in Premier Field Engineering. One of the things that I get asked commonly is “How do I choose a key length and Hash Algorithm?”. That’s a complex question, that generally is difficult to answer, but I thought I might collect “Some Thoughts” on that and put them in a single place.&lt;/p&gt;  &lt;h4&gt;First, some current background&lt;/h4&gt;  &lt;p&gt;There is a subtle kind of arms race going on – encryption and hash algorithms are always going to be subject to increasingly sophisticated attacks. CPU’s get faster and faster, making brute force attacks against encryption easier and easier, requiring longer keys. We recently released a security update that by default disallows RSA keys of less than 1024 bits in length. Kurt Hudson documented that here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/pki/archive/2012/06/12/rsa-keys-under-1024-bits-are-blocked.aspx"&gt;http://blogs.technet.com/b/pki/archive/2012/06/12/rsa-keys-under-1024-bits-are-blocked.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mathematicians and hackers work to manipulate hash algorithms in order to create collision attacks, like the one used by the Flame Malware:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/srd/archive/2012/06/06/more-information-about-the-digital-certificates-used-to-sign-the-flame-malware.aspx"&gt;http://blogs.technet.com/b/srd/archive/2012/06/06/more-information-about-the-digital-certificates-used-to-sign-the-flame-malware.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So when choosing hash algorithms and key lengths, one needs to take into account the current landscape. You need to do a little bit of research on how hash algorithms are currently standing up to collision attacks and what key lengths are acceptable.&lt;/p&gt;  &lt;p&gt;One of the key indicators here that I frequently refer to is the Certificate Policy for the &lt;a href="http://www.idmanagement.gov/fpkipa/documents/CommonPolicy.pdf"&gt;U.S. Federal PKI&lt;/a&gt;:&lt;/p&gt;  &lt;h5&gt;Section 1.4.1 states that&lt;/h5&gt;  &lt;p&gt;The use of SHA-1 to create digital signatures is deprecated beginning January 1, 2011. As such, use of SHA-1 certificates issued under this policy should be limited to applications for which the risks associated with the use of a deprecated cryptographic algorithm have been deemed acceptable.&lt;/p&gt;  &lt;h5&gt;And section 6.1.5 states&lt;/h5&gt;  &lt;p&gt;Trusted Certificates that expire before January 1, 2031 shall contain subject public keys of 2048 or 3072 bits for RSA or 256 or 384 bits for elliptic curve, and be signed with the corresponding private key. Trusted Certificates that expire on or after January 1, 2031 shall contain subject public keys of 3072 bits for RSA or 256 or 384 bits for elliptic curve, and be signed with the corresponding private key.&lt;/p&gt;  &lt;p&gt;This provides an excellent starting point for choosing a hash algorithm, and key lengths for RSA or ECC algorithms for public/private key pairs. Additionally, the Microsoft Root Certificate Update Program contains some excellent verbiage that closely corresponds:&lt;/p&gt;  &lt;p&gt;“we require a minimum crypto key size of RSA 2048-bit modulus for any root and all issuing CAs. Microsoft will no longer accept root certificates with RSA 1024-bit modulus of any expiration. We prefer that new roots are valid for at least 8 years from date of submission but expire before the year 2030, especially if they have a 2048-bit RSA modulus.”&lt;/p&gt;  &lt;h4&gt;Now, some history&lt;/h4&gt;  &lt;p&gt;There are a large number of clients that cannot understand anything greater than a 2048 bit key length, or hash algorithms more current than SHA-1. For example, Windows Server 2003 offers limited support for the SHA2 hash algorithms:&lt;/p&gt;  &lt;pre&gt;948963 An update is available to adds support for the TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA and the TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA AES cipher suites in Windows Server 2003&lt;/pre&gt;

&lt;pre&gt;&lt;a href="http://support.microsoft.com/kb/948963/EN-US"&gt;http://support.microsoft.com/kb/948963/EN-US&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;pre&gt;968730 Windows Server 2003 and Windows XP clients cannot obtain certificates from a Windows Server 2008-based certification authority (CA) if the CA is configured to use SHA2 256 or higher encryption&lt;/pre&gt;

&lt;pre&gt;&lt;a href="http://support.microsoft.com/kb/968730/EN-US"&gt;http://support.microsoft.com/kb/968730/EN-US&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;document that level of support. So in addition to thinking about the future, you’ve got to consider the past when building out a hierarchy. One of the hierarchies I helped build had a 2048 bit key for a Root Certificate primarily because of the requirement to support legacy operating systems and devices.&lt;/p&gt;

&lt;h4&gt;And finally a Recommendation&lt;/h4&gt;

&lt;p&gt;If you absolutely must support legacy applications that don’t understand CNG algorithms, and are building out a new public key infrastructure, my advice today is to build two hierarchies. The first hierarchy – a legacy hierarchy if you will – would have a lower key lifetime aimed at a documented point at which legacy applications and devices MUST support CNG algorithms. You could issue certificates based on this “lower assurance” hierarchy for a limited time only to legacy clients, perhaps with limited EKUs and a specific Certificate Policy attached to it. The second PKI would be erected with more current algorithms and key lengths to support more current clients and with much longer expiry periods. When building that PKI, you could follow the stronger guidance put forth in the Federal CP and choose SHA-256, or SHA-384 along with RSA Keys of 4096 bits or ECC keys of 256 or 384 bits. I agree that this adds complexity, but I find in the IT industry that we’re constantly dragging older applications and devices into a new security world – often, kicking and screaming the entire way.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;-Rick Sasser&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;p&gt;A.Sotirov, M.Stevens, J.Applebaum, A.Lenstra, D.Molnar, D.A. Osvik, B. de Weger, “MD5 considered harmful today”, &lt;a href="http://www.win.tue.nl/hashclash/rogue-ca/"&gt;http://www.win.tue.nl/hashclash/rogue-ca/&lt;/a&gt;, Dec.30, 2008.&lt;/p&gt;

&lt;p&gt;Microsoft Root Certificate Update Program, &lt;a href="http://technet.microsoft.com/en-us/library/cc751157.aspx"&gt;http://technet.microsoft.com/en-us/library/cc751157.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3568127" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/PKI/">PKI</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Rick+Sasser/">Rick Sasser</category></item><item><title>Some Other PFE Blogs You’ll Want To Be Reading</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/19/some-other-pfe-blogs-you-ll-want-to-be-reading.aspx</link><pubDate>Fri, 19 Apr 2013 09:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3567794</guid><dc:creator>Mark Morowczynski [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3567794</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/19/some-other-pfe-blogs-you-ll-want-to-be-reading.aspx#comments</comments><description>&lt;p&gt;Hey y&amp;rsquo;all, Mark here with some quick links for you. We have two other PFE team blogs that have been getting some steam as of late we thought we&amp;rsquo;d pass along so our fine readership can check them out and spread the word.&lt;/p&gt;
&lt;p&gt;A bunch of SQL folks have started to bring an old blog back from the dead. You can find their blog &lt;a href="http://blogs.msdn.com/b/sql_pfe_blog/"&gt;here&lt;/a&gt;. Their latest post, &lt;a href="http://blogs.msdn.com/b/sql_pfe_blog/archive/2013/04/15/sql-2012-system-health-reporting-dashboard-visualizing-sp-server-diagnostics-results.aspx"&gt;SQL 2012 System Health Reporting Dashboard&lt;/a&gt; is the type of great content they are putting out. They are always looking for community feedback so send in your questions or if SQL is not your thing, don&amp;rsquo;t worry its not mine either, pass it on to your favorite DBA. They can owe you one.&lt;/p&gt;
&lt;p&gt;Also if you are running Dynamics CRM you should be reading our PFE &lt;a href="http://blogs.msdn.com/b/crminthefield/"&gt;CRM in the Field&lt;/a&gt; blog. If you weren&amp;rsquo;t before&amp;hellip;you&amp;rsquo;re welcome. Several of them just got back from the &lt;a href="http://blogs.msdn.com/b/crminthefield/archive/2013/03/28/dynamics-convergence-2013-wrap-up-amp-the-crm-community.aspx"&gt;Dynamics Convergence&lt;/a&gt; conference where they get to mingle with their community which they are highly active in. Reach out to them and tell them we sent you.&lt;/p&gt;
&lt;p&gt;As always send us in your questions via email or if you dare to Doug &amp;lsquo;Grandpa Simpson&amp;rsquo; Symalla has just discovered in his own words &amp;ldquo;this new thing called twitter&amp;rdquo; and is manning our &lt;a title="@PFEPlatforms" href="https://twitter.com/pfeplatforms" target="_blank"&gt;@PFEPlatforms&lt;/a&gt;&amp;nbsp;account. He&amp;rsquo;s in the process of changing the profile picture. You&amp;rsquo;ve been warned. I too can also be found on twitter &lt;a href="https://twitter.com/markmorow"&gt;@markmorow&lt;/a&gt; don't be shy. Have a good weekend and as always we&amp;rsquo;ll have a new post up for Monday. It&amp;rsquo;s a good one.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Mark &amp;ldquo;SQL DROP TABLE Joke Here&amp;rdquo; Morowczynski&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3567794" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/PFE/">PFE</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Premier+Support/">Premier Support</category></item><item><title>Building a VM in Windows Azure using PowerShell in a few quick steps</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/14/building-a-vm-in-windows-azure-using-powershell-in-a-few-quick-steps.aspx</link><pubDate>Mon, 15 Apr 2013 04:57:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3566754</guid><dc:creator>Rick Sheikh [MSFT]</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3566754</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/14/building-a-vm-in-windows-azure-using-powershell-in-a-few-quick-steps.aspx#comments</comments><description>&lt;p&gt;Hello folks, its Rick here. In a &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2013/01/07/windows-azure-virtualization-a-lab-in-the-clouds-for-every-it-pro.aspx"&gt;previous post&lt;/a&gt; Michael gave you nice overview of Windows Azure Services and helped you setup your own VMs in cloud using the free trial thru the Azure portal. Today I would like to walk you through building a VM in Windows Azure using your favorite management tool ‘PowerShell’, and in doing so you will also unlock 133 cmdlets that will help you manage other services you may have running in Windows Azure. If you have not signed up for a 90 day trial yet, I suggest you &lt;a href="https://www.windowsazure.com/en-us/pricing/free-trial/"&gt;give it a try&lt;/a&gt;. Also did you know if you have an existing MSDN subscription, you may be entitled to up to &lt;a href="http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits/"&gt;1500 compute hours&lt;/a&gt; that’s $6500 in annual Windows Azure benefits at no charge.&lt;/p&gt;  &lt;p&gt;Let’s get started;&lt;/p&gt;  &lt;p&gt;1. Download the &lt;a href="http://www.windowsazure.com/en-us/downloads/?fb=en-us"&gt;Windows Azure PowerShell&lt;/a&gt; and install it on a Windows 8, Windows 7, Windows Server 2012, or Windows Server 2008 R2 machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5822.image_5F00_34AD3CBD.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/5758.image_5F00_thumb_5F00_33D4D6D3.png" width="644" height="253" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2. If you would like to use Windows Azure PowerShell snap-in you can directly launch it from your Start Menu/Screen, but if you are like me and rather import the module into your existing Windows PowerShell, you know the drill.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#0000a0"&gt;Set-ExecutionPolicy RemoteSigned&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; &lt;font color="#0000a0"&gt;&lt;/font&gt;  &lt;pre&gt;&lt;font color="#0000a0"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;font color="#0000a0"&gt;&lt;/font&gt;

&lt;p&gt;&lt;strong&gt;&lt;font color="#0000a0"&gt; Import-Module &amp;quot;C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1&amp;quot;&lt;/font&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;

&lt;p&gt;3. Configuring connectivity between your workstation and Windows Azure; before a connection can be made from your Windows Azure Powershell module you first need to download your &lt;i&gt;&lt;u&gt;publish&lt;/u&gt;&lt;/i&gt; settings from Azure portal using the cmdlet below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font color="#0000a0"&gt;Get-AzurePublishSettingsFile&lt;/font&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;

&lt;p&gt;4. Your browser will take you to &lt;a href="https://windows.azure.com/download/publishprofile.aspx"&gt;https://windows.azure.com/download/publishprofile.aspx&lt;/a&gt;, where you can sign in to Windows Azure account download the publish settings file. Note the location where you save this file. This file has Azure API information, your subscription ID and more importantly the management certificate that needs to be imported locally on your machine using another cmdlet.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2677.image_5F00_0104D05F.png"&gt;&lt;img width="644" height="427" title="image" style="display: inline;" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0363.image_5F00_thumb_5F00_3F1DEB10.png" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/pre&gt;

&lt;pre&gt;&amp;#160;&lt;/pre&gt;

&lt;pre&gt; &lt;/pre&gt;

&lt;p&gt;5. Now we will go ahead the import the publish settings file we have just downloaded using the command below. Where &amp;lt;mysettings&amp;gt;.publishsettings is the file that you downloaded in the previous step. You should delete the publishing profile that you downloaded after you import those settings. The downloaded profile contains a management certificate that should not be accessed by unauthorized users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font color="#0000a0"&gt;Import-AzurePublishSettingsFile &amp;lt;mysettings&amp;gt;.publishsettings&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2538.image_5F00_643B357C.png"&gt;&lt;img width="644" height="53" title="image" style="display: inline;" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6675.image_5F00_thumb_5F00_037DDC50.png" border="0" /&gt;&lt;/a&gt;
&lt;/pre&gt;

&lt;pre&gt;&lt;b&gt;&amp;#160;&amp;#160; &lt;/b&gt;&lt;/pre&gt;

&lt;p&gt;You can optionally view the publish settings file you downloaded in Step 4, in Notepad.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1348.image_5F00_22C08323.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1307.image_5F00_thumb_5F00_5A269451.png" width="644" height="149" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;6. Let’s take a look at our current subscription, notice the certificate being good for one year since the time you set this up. &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7115.image_5F00_118CA580.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3264.image_5F00_thumb_5F00_4FA5C031.png" width="644" height="276" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;7. Now let’s take a look what are some of the cmdlets that Azure PowerShell module unlocks for us, focusing on VM management. You can see the &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj152841.aspx"&gt;rest here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6837.image_5F00_4DF4F45D.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0028.image_5F00_thumb_5F00_33485844.png" width="644" height="302" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;8. Let’s see what I already have running out there..&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3582.image_5F00_1CA609FD.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7801.image_5F00_thumb_5F00_4307ED48.png" width="644" height="86" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;9. We are almost ready to build the VM, but before we do that we have to use &lt;b&gt;Set-AzureSubcription&lt;/b&gt; cmdlet to save our subscription information and set the storage account that was previously setup using the Azure portal. You can use the &lt;b&gt;Get-AzureStorageAccount&lt;/b&gt; cmdlet to retrieve the StorageAccountName property.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/7282.image_5F00_0265A0D9.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2308.image_5F00_thumb_5F00_1F8B48E3.png" width="644" height="367" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font color="#0000a0"&gt;Set-AzureSubscription -SubscriptionName &amp;quot;Windows Azure MSDN - Visual Studio Ultimate&amp;quot; –CurrentStorageAccount portalvhdshmdl42f1wmfd7&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt; You can verify the above command using the Get-AzureSubscription cmdlet again.&lt;/p&gt;

&lt;p&gt;Above “portalvhds*” being the name of my storage.&lt;/p&gt;

&lt;p&gt;10. Let’s build a new VM using the New-AzureQuickVM cmdlet, (note that as mentioned in the previous post, Azure provides pre built images in VHD, in following example we have run the &lt;b&gt;Get-AzureVMImage&lt;/b&gt; and passing the name of a 2012 image. You can also use &lt;b&gt;Test-AzureName&lt;/b&gt; cmdlet to verify if the VM or service name you are wanting to acquire is available.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font color="#0000a0"&gt;New-AzureQuickVM -Windows -ServiceName TESTADDC03 -Name TESTADDC03 -ImageName MSFT__Windows-Server-2012-Datacenter-201210.01-en.us-30GB.vhd -InstanceSize 'Small' -Password Password!@# -AffinityGroup Chicago&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6521.image_5F00_3CB0F0ED.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4314.image_5F00_thumb_5F00_30AF00B9.png" width="644" height="69" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;You will see everytime you deploy a VM, it first gets created as a Cloud Service and then the VM itself gets deployed, you will see the progress bar for the VM creation as well. &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4426.image_5F00_76BFBDCC.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/6320.image_5F00_thumb_5F00_47FA052A.png" width="644" height="98" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;It took less than a minute to spin up this test VM for this demo, your time may vary.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8407.image_5F00_2E25CEFB.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3323.image_5F00_thumb_5F00_6D174F96.png" width="644" height="71" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;11. Let’s verify that our VM is up and running.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/4645.image_5F00_2C08D032.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/8468.image_5F00_thumb_5F00_324FA6C0.png" width="644" height="99" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/3443.image_5F00_0389EE1E.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/0246.image_5F00_thumb_5F00_622A4881.png" width="644" height="476" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;This wraps up this quick tutorial, hopefully you can see that after you have your initial subscription ready and registered and at least one storage account setup, you can provision VMs using PowerShell in a matter of minutes. I invite you try this out yourself and see what other useful cmdlets you find in the Azure PowerShell module.&lt;/p&gt;

&lt;p&gt;Until next time, Rick “is there a cmdlet for that” Sheikh ! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3566754" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Active+Directory/">Active Directory</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Windows+Server+2012/">Windows Server 2012</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Azure/">Azure</category></item><item><title>RaaS-Active Directory The Engineers Point Of View</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/10/raas-active-directory-the-engineers-point-of-view.aspx</link><pubDate>Wed, 10 Apr 2013 12:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3564489</guid><dc:creator>Mark Morowczynski [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3564489</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/10/raas-active-directory-the-engineers-point-of-view.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;My name is Bryan Zink and I am a Microsoft Premier Field Engineer focused on supporting Windows Server and Active Directory. You’ve probably read the fantastic post by Yong Rhee introducing &lt;a href="http://blogs.technet.com/b/mspfe/archive/2013/01/07/introducing-rap-as-a-service-raas-from-premier-services.aspx"&gt;RAP as a Service&lt;/a&gt;. Maybe you even read &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2013/01/07/what-is-raas-is-that-a-real-acronym.aspx"&gt;What is RaaS? Is That a Real Acronym?&lt;/a&gt; posted by Doug Symalla. Today I wanted to assure you that yes, it is a real acronym and one you’ll want to fully understand. In this post, we’ll dig into HOW it works and WHY you should jump in.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;First a brief history&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;A long time ago in a galaxy far far away (actually, it was Dallas, TX), a team of 15 PFEs pulled together some tools, wrapped them in a process and called it the Active Directory Health Check (ADHC for short). The intention was to partner with a customers’ IT team to help spot the issues we knew caused pain to avoid lost productivity and outages.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2502.image_5F00_5A51DB89.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/1376.image_5F00_thumb_5F00_34E7E81B.png" width="658" height="391" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As the process matured, we found there were two huge benefits. First, outages were dropping as customers better understood how to operate their AD environments. Second, we drove some great changes through the Windows product team resulting in improvements to diagnostic tools and prescriptive guidance.&lt;/p&gt;  &lt;p&gt;When we transitioned from the ADHC to the era of the Active Directory Risk and Health Assessment Program (ADRAP for short) we formalized the tools and services development process in many ways. While our goals around assessing the issues and providing remediation guidance were still the same, we wanted to bring a more exciting experience to the customer and leave behind a much nicer toolset.&lt;/p&gt;  &lt;p&gt;Now we’re bringing you the next big thing in Active Directory assessments, RAP as a Service for Active Directory (RaaS-AD for short). Essentially we’re combining the best of the best in tools and processes, moving it to the Azure Cloud platform and giving customers a persistent on-demand assessment experience.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;HOW RaaS-AD works&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;First and foremost, RaaS is a service with a few basic components. These components are made up of the following:&lt;/p&gt;  &lt;p&gt;· RaaS Client&lt;/p&gt;  &lt;p&gt;· Windows Azure Cloud service&lt;/p&gt;  &lt;p&gt;· Online Services portal&lt;/p&gt;  &lt;p&gt;The front-end (RaaS Client) is downloaded and installed onto a machine in your AD Forest. This tool essentially discovers the Active Directory components in your environment and facilitates the data collection process. Once data collection is completed, the RaaS Client allows you to securely submit an encrypted blob into the Azure Cloud service.&lt;/p&gt;  &lt;p&gt;Once you complete data collection and submission, you will fill out an Operational Survey. This survey covers topics we can’t answer with diagnostic tests. Backup and Disaster Recovery, operational processes etc are examples of topics covered in the Survey.&lt;/p&gt;  &lt;p&gt;The Azure Cloud service is where the heavy lifting happens. The collected data along with the Survey results are analyzed for the good, the bad and the ugly against our collection of rules.&lt;/p&gt;  &lt;p&gt;The Online Services portal is your view of not only the collected data but also the issues that were identified through the analysis process. This portal is your customized and secured dashboard view. You have the ability to control who from within your organization has access to view this information.&lt;/p&gt;  &lt;p&gt;In addition to the components described above, you will receive not only a detailed report of the findings and recommendations but also deep-dive knowledge transfer on the top issues in the environment. You also have a couple of options for how this all comes together. We offer a remote delivery option as well as something that includes on-site time. Specifics can be explained in more detail with your Microsoft Technical Account Manager (TAM).&lt;/p&gt;  &lt;p&gt;RaaS does have a re-use license whereby you’re able to leverage the persistent on-demand assessment experience. This enables you to track progress against recommended remediation tasks and generally, check-up on your AD environment at whatever frequency makes sense. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;WHY RaaS-AD matters&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;There are numerous benefits for you to leverage with the RaaS platform. Instead of listing the bullet points from the marketing glossy, let’s cut right to the chase.&lt;/p&gt;  &lt;p&gt;Customers who have leveraged the power of RAPs in the past have had almost zero exposure to issues such as the time rollback problem so elegantly detailed in Mark’s post &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/11/23/fixing-when-your-domain-traveled-back-in-time-the-great-system-time-rollback-to-the-year-2000.aspx"&gt;Fixing When Your Domain Traveled Back In Time, the Great System Time Rollback to the Year 2000&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Another example of an issue that strikes many environments who have not had the pleasure of an AD assessment DFS Shares either not replicating or seemingly missing data. Here’s a post by the infamous Ned Pyle covering the &lt;a href="http://blogs.technet.com/b/askds/archive/2007/10/05/top-10-common-causes-of-slow-replication-with-dfsr.aspx"&gt;Top 10 Common Causes of Slow Replication with DFSR&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Finally, have you ever wondered about just how weird the symptoms of Lingering Objects can be? Have a look at this post from David Everett setting us straight on &lt;a href="http://blogs.technet.com/b/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx"&gt;Strict Replication Consistency - Myth versus Reality&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;At present, there are roughly 600 Health and Risk issues we specifically look for in a RaaS-AD assessment and more are being added weekly. All of this can and should be yours, operators are standing by. If you’re still reading and would you’d like a RaaS-AD, feel free to contact us at Askpfeplat and we’ll get the right people going.&lt;/p&gt;  &lt;p&gt;In the event you want to see a more formalized list of value points, keep reading.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Delivered when you’re ready&lt;/b&gt;: Faster turnaround time for generating actionable results: data is collected and submitted as soon as you are ready and reports generated by a PFE within a few days of completing the submission tasks.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;New/Updated IP always available&lt;/b&gt;: Absolute latest rules (IP) and all new IP updates available to customers during their contract without paying for an additional assessment.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Current State Assessment on-demand&lt;/b&gt;: Updated view of your environment through the Online Services portal, as often as you would like, helps tracking remediation progress.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;A PFE can still go on-site&lt;/b&gt;: If you still want on-site assistance in the form of knowledge transfer or remediation assistance, we can still absolutely provide that experience.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Support&lt;/b&gt;: ADRAP (actually all RAPs in general) had no support for either the toolset or the process other than what the PFE was able to deliver as part of the engagement. However, RaaS has full support for both the toolset and the end to end process. The only thing not supported is the actual remediation of an identified issue.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Updates to the toolset&lt;/b&gt;: Not only do we update the IP (rules and issues) much more frequently but we now also perform updates to the RaaS Client as well as the back end platform.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Reliability, Security and Privacy&lt;/b&gt;: Providing a feature rich and usable experience is only part of the solution. Reworking the backend systems that integrate to complete this experience have allowed us to provide a more reliable, stable and secure experience for everyone.&lt;/p&gt;  &lt;p&gt;-Bryan &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3564489" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Active+Directory/">Active Directory</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Premier+Support/">Premier Support</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/AD/">AD</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/RaaS/">RaaS</category></item><item><title>Audit Membership in Privileged Active Directory Groups. A Second Look.</title><link>http://blogs.technet.com/b/askpfeplat/archive/2013/04/08/audit-membership-in-privileged-active-directory-groups-a-second-look.aspx</link><pubDate>Mon, 08 Apr 2013 07:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3564000</guid><dc:creator>Doug Symalla</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/askpfeplat/rsscomments.aspx?WeblogPostID=3564000</wfw:commentRss><comments>http://blogs.technet.com/b/askpfeplat/archive/2013/04/08/audit-membership-in-privileged-active-directory-groups-a-second-look.aspx#comments</comments><description>&lt;p&gt;Some months ago, I shared a PowerShell script to &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/07/16/too-many-admins-in-your-domain-expose-the-problem-s-and-find-a-solution-don-t-forget-powershell.aspx"&gt;enumerate the membership of privileged groups&lt;/a&gt; (including membership in nested groups) and report membership as well as password ages. Like most scripts, it works well in most environments, but has some limitations. One glaring limitation that I’ve found, for example, is that it searches for privileged groups by name. However, in some environments the groups may have been renamed. Or even more problematic are instances where built-in group names are different in non-English versions of the OS.&lt;/p&gt;  &lt;p&gt;Since the built-in privileged groups all have well known SIDs, the logical solution was to re-write the script to search for groups based-on SIDs rather than names. So I started by identifying the well-known SIDs for the built-in privileged groups. &lt;a href="http://support.microsoft.com/kb/243330"&gt;There’s a KB for that&lt;/a&gt;. As it turns out, some of the well-known SIDs are constructed from the domain SID or the forest root domain SID. For example, the SID for Enterprise Admins is the root domain SID with “-591” appended to it.&lt;/p&gt;  &lt;p&gt;Consequently, I had to re-work my script to identify the SID for every domain in the forest. Then, I had to construct all the SIDs for the privileged groups and enumerate their memberships.&lt;/p&gt;  &lt;p&gt;To add another degree of difficulty, I wrote the entire script without using the AD PowerShell Cmdlets. As I’ve mentioned before, I still run into customers who can’t use the AD Powershell Cmdlets because they still have all 2003 domain controllers (without the AD web services installed). So instead of using one line of PowerShell to generate a list of domain SIDs:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;(Get-ADForest).domains | forEach {Get-ADDomain $_} | Select-Object Name,DomainSid&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I had to use about twenty lines of code to generate my list of SIDs. Most interesting was the use of .Net methods to convert SIDs to string values:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;$RootDomainSid = New-Object System.Security.Principal.SecurityIdentifier($AdObject.objectSid[0], 0)&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So I began talking to my peers about the beauty of the AD PowerShell Cmdlets and how they’ve saved us from writing lines and lines of code. I thought, “Let me re-write my script and show people how much more succinct the code could be.”&lt;/p&gt;  &lt;p&gt;What started out as a noble effort, has turned into my &lt;a href="http://www.urbandictionary.com/define.php?term=white%20whale"&gt;White Whale&lt;/a&gt;. While sections of my script can be obliterated with single line Cmdlets, there are holes in the AD PowerShell Cmdlets that are frustratingly difficult to address. So here’s a challenge for you PowerShell junkies out there (and who have environments where the Cmdlets work), tear down my script and replace sections with AD Cmdlets.&lt;/p&gt;  &lt;p&gt;I’m already working on my next blog, tentatively titled “Who’s the tool – PowerShell or Me?” where I’ll detail some of the different ways of using PowerShell with AD – including the AD Cmdlets. I’ll point out the differences and some of the relative strengths and weaknesses of each way.&lt;/p&gt;  &lt;p&gt;Meanwhile, I’m counting the days until &lt;a href="http://support.microsoft.com/lifecycle/?c2=1163"&gt;July 14&lt;sup&gt;th&lt;/sup&gt; 2015 when Windows Server 2003 is no longer supported&lt;/a&gt;, so I can leverage the AD Cmdlets in every environment I visit.&lt;/p&gt;  &lt;p&gt;Since I’ve taken you off on a tangent, let’s get back to the original purpose of this post. You’ll find &lt;a href="http://gallery.technet.microsoft.com/scriptcenter/List-Membership-In-bff89703"&gt;an updated version of the script on the TechNet Script Center&lt;/a&gt;.&amp;#160; As before, it will enumerate membership in privileged groups and report password ages. While it’s not perfect, it better than the original in the following ways:&lt;/p&gt;  &lt;p&gt;1. It targets groups based on well-known SIDs, so it will work in more environments.&lt;/p&gt;  &lt;p&gt;2. It also reports on members that may not be users (computers or managed service accounts)&lt;/p&gt;  &lt;p&gt;The syntax is straight-forward. Launch PowerShell. No special privileges are necessary, but you’ll have to run as a domain account, so we can read the directory. You’ll also need connectivity to DCs in the forest so we can enumerate group memberships. Simply run the script.&lt;/p&gt;  &lt;p&gt;privilegedUsersV2.ps1&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2084.clip_5F00_image002_5F00_23995FD5.jpg"&gt;&lt;img title="clip_image002" style="display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-74-metablogapi/2376.clip_5F00_image002_5F00_thumb_5F00_08145DD2.jpg" width="612" height="402" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It’ll dump output to the screen and in a CSV file (that will dump in the same directory from which you launch the script).&lt;/p&gt;  &lt;p&gt;Don’t forget to &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2012/07/16/too-many-admins-in-your-domain-expose-the-problem-s-and-find-a-solution-don-t-forget-powershell.aspx"&gt;review the original blog&lt;/a&gt; for information on how (and why) to use the script.&lt;/p&gt;  &lt;p&gt;Doug Symalla&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;A note on all of our AskPFEPlat scripts.&amp;#160; We’ve removed all script attachments to our blogs and posted them on the &lt;a href="http://gallery.technet.microsoft.com/scriptcenter/"&gt;TechNet Script Center&lt;/a&gt;.&amp;#160; The blog will contain a hyperlink to the relevant location.&amp;#160; You can find all of our scripts on the &lt;a href="http://gallery.technet.microsoft.com/scriptcenter/site/search?query=askpfeplat&amp;amp;f%5B0%5D.Value=askpfeplat&amp;amp;f%5B0%5D.Type=SearchText&amp;amp;ac=4"&gt;Script Center by searching for the keyword AskPFEPlat.&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3564000" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Active+Directory/">Active Directory</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/askpfeplat/archive/tags/Privileged+Groups/">Privileged Groups</category></item></channel></rss>