<?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>Brad Rutkowski's Blog : Windows Server 2008</title><link>http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx</link><description>Tags: Windows Server 2008</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>win32_processor and cim_processor CurrentClockSpeed shows lower value than actual processor speed</title><link>http://blogs.technet.com/brad_rutkowski/archive/2009/04/16/win32-processor-and-cim-processor-currentclockspeed-shows-lower-value-than-actual-processor-speed.aspx</link><pubDate>Thu, 16 Apr 2009 22:50:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3227328</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3227328.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3227328</wfw:commentRss><description>&lt;p&gt;Was looking at an issue today where a whole bunch of our servers were showing clock speeds that didn’t match the max clock speed.&amp;#160; These servers were showing up on our &lt;a href="http://technet.microsoft.com/en-us/exchange/bb288481.aspx" target="_blank"&gt;exBPA&lt;/a&gt; reports and thus landed in my lap to investigate.&amp;#160; At first I assumed that something most be wrong with the report and so I logged onto a couple and sure enough they didn’t match the max speed:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;PS C:\&amp;gt; get-wmiobject win32_processor | select=object currentclock*,max* | format-table -automatic&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;CurrentClockSpeed MaxClockSpeed     &lt;br /&gt;----------------- -------------      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1999&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1999&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;So with a bit of digging on the internet I found a page referencing the Enhanced Intel SpeedStep Technology:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;SpeedStep is a trademark for a series of dynamic frequency scaling technologies (including SpeedStep, SpeedStep II, and SpeedStep III) built into some Intel microprocessors that allow the clock speed of the processor to be dynamically changed by software. This allows the processor to meet the instantaneous performance needs of the operation being performed, while minimizing power draw and heat dissipation.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Well that seemed promising, so I found out that you can turn this off in power options in the control panel, setting the minimum processor state to 100%:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Capture-5.jpg" width="307" height="287" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;PS C:\&amp;gt; gwmi win32_processor | select-object currentclock*,max* | ft -au &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;CurrentClockSpeed MaxClockSpeed     &lt;br /&gt;----------------- -------------      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2332&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In the end I just turned it back on as this does save power and will dynamically increase to full usage when needed.&amp;#160; Another mystery solved…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b0b5cef-b58f-421e-a9f0-c8fd3730729f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+2008" rel="tag"&gt;Windows 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3227328" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/CPU/default.aspx">CPU</category></item><item><title>Interacting with Data Collector Sets via Powershell</title><link>http://blogs.technet.com/brad_rutkowski/archive/2009/02/18/interacting-with-data-collector-sets-via-powershell.aspx</link><pubDate>Thu, 19 Feb 2009 00:30:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3204255</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3204255.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3204255</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Background:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In an &lt;a href="http://blogs.technet.com/brad_rutkowski/archive/2007/04/14/hey-admins-let-s-explore-vista-together-part-1.aspx" target="_blank"&gt;earlier post&lt;/a&gt; I talked about some new features for Windows 2008 and Vista.&amp;#160; One of those new features that is often overlooked are the data collector sets (DCS).&amp;#160; One particular role that leverages data collector sets is active directory.&amp;#160; Active directory has put “hooks” into tracing that can really take a lot of the thinking out of the question “why is my domain controller sluggish”.&amp;#160; For those of you still running Windows 2003 I go over a similar concept called &lt;a href="http://blogs.technet.com/brad_rutkowski/archive/2007/06/26/great-tool-for-windows-2003-server-performance-advisor-spa.aspx" target="_blank"&gt;Server Performance Advisor&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;Anyways, you can play around with DCS by typing perfmon and then traversing to the section called Data Collector Sets (shocking).&amp;#160; If you have performance issues, go here first as it’s like combining a netmon capture with a kernel trace and then handing you the smoking gun.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Capture-3.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Challenge:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In my current role, we have a need to automate things quite a bit and so one of the actions I was looking at solving was collecting diagnostic information when a server is performing poorly.&amp;#160; Usually when a high CPU alert comes in, someone would need to logon to the server and go to perfmon and start at DCS collection.&amp;#160; More often is the case that by the time someone had been alerted and went to the server the sluggish behavior had subsided (the dreaded “close ticket, no problem found”).&lt;/p&gt;  &lt;p&gt;My solution was to try and figure out a way to start a DCS collection remotely at the time of event so that the data was present when an actual human became engaged.&lt;/p&gt;  &lt;p&gt;After some hard work, here is the code to do so!&amp;#160; You can create your own XML file (your own DCS template) and pass it in, but more than likely you’ll be happy at just kicking off one of the built-in templates (AD/System Perf/System Diags).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Running it via powershell:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First, how to do it on the fly:&lt;/p&gt;  &lt;div&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;## PLA.dll lives under system32 on Vista and 2k8.  This will create a powershell com object.&lt;/span&gt;
$datacollectorset = new-object -COM Pla.DataCollectorSet
&lt;span style="color: #008000"&gt;##This is the name of the predefined DCS collector.  It's read-only and will always be System\&amp;lt;something&amp;gt;&lt;/span&gt;
$name = &lt;span style="color: #006080"&gt;&amp;quot;System\Active Directory Diagnostics&amp;quot;&lt;/span&gt;
&lt;span style="color: #008000"&gt;##If you make the second param $null it will be the local machine.&lt;/span&gt;
$datacollectorset.Query($name,&lt;span style="color: #006080"&gt;&amp;quot;serverA&amp;quot;&lt;/span&gt;) 
$datacollectorset.start($false)
&lt;span style="color: #008000"&gt;## Status ReturnCodes: 0=stopped 1=running 2=compiling 3=queued (legacy OS) 4=unknown (usually autologger)&lt;/span&gt;
$datacollectorset.status
&lt;span style="color: #008000"&gt;##When you're ready to stop it call stop.&lt;/span&gt;
$datacollectorset.stop($false)
&lt;span style="color: #008000"&gt;##If you call status here, it will probably be '2' for a while as the server compiles the report.&lt;/span&gt;
$datacollectorset.status&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;And like so, you started and stopped a collection for Active Directory on you’re local computer or a remote server!&amp;#160; Like I said though, you can create you’re own templates too.&amp;#160; You might want to do this if you want to setup a built-in template to be scheduled to run daily, or perhaps you want to send the data to a network location, run more tasks at completion, etc.&amp;#160; If you do want to create a custom template then the code changes a bit:&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;$datacollectorset = new-object -COM Pla.DataCollectorSet
&lt;span style="color: #008000"&gt;## If you're making you're own (shows up under user defined).  &lt;/span&gt;
$xml = get-content C:\custom.xml &lt;span style="color: #008000"&gt;#You're custom exported XML file.&lt;/span&gt;
$datacollectorset.SetXml($xml)
&lt;span style="color: #008000"&gt;##Commit codes: http://msdn.microsoft.com/en-us/library/aa371873(VS.85).aspx this is add or modify.  Can't do this on a system created PLA instances (read only).&lt;/span&gt;
$datacollectorset.Commit($DCSPath , $null , 0x0003)     
$datacollectorset.Query($DCSPath,$null)
$datacollectorset.start($false)
&lt;span style="color: #008000"&gt;#Runs...&lt;/span&gt;
$datacollectorset.stop($false)&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Scripting a solution:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally if you wanted to script this you could do something like what I’ve done below.&amp;#160; This would collect for a desired interval (in seconds) and then when compilation completed display the path to the report.&amp;#160; I wrote this in CTP3, but you can easily take the concepts and backport them.&amp;#160; If the destination server is inaccessible, or you don't have permissions, then the script will blow up…&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&amp;lt;&lt;span style="color: #008000"&gt;#&lt;/span&gt;
    .SYNOPSIS
    This will fire up a PLA (Data Collector Set collection on a server and then copy it to the proper debug server
 
    .DESCRIPTION
    This is a proof of concept and only acceppts System defined collections.  No error handling so I hope you type well.

&lt;span style="color: #008000"&gt;#&amp;gt;&lt;/span&gt;

&lt;span style="color: #008000"&gt;##Inputs&lt;/span&gt;
[CmdletBinding()]
&lt;span style="color: #0000ff"&gt;param&lt;/span&gt;(
   [Parameter(Mandatory = $true)]
   &amp;lt;&lt;span style="color: #008000"&gt;#A system provided report to run like &amp;quot;System\System Performance&amp;quot;, System\System Diagnostics, etc. #&amp;gt;&lt;/span&gt;
   [string]$DCSPath,
   [Parameter(Mandatory = $true)]
   &amp;lt;&lt;span style="color: #008000"&gt;# This is how long you want the DCS collection to run in seconds#&amp;gt;&lt;/span&gt;
   [int32]$time,
   [Parameter(Mandatory = $false)]
   &amp;lt;&lt;span style="color: #008000"&gt;#If you don't pass in a server name it will be $null and run on the local system#&amp;gt;&lt;/span&gt;
   [string]$serverName
    )

    $datacollectorset = new-object -COM Pla.DataCollectorSet  
    $datacollectorset.Query($DCSPath,$serverName)
    $datacollectorset.start($false)
    Start-Sleep $time
    $datacollectorset.stop($false)
    
    &lt;span style="color: #008000"&gt;##Now we'll loop while the report compiles.&lt;/span&gt;
    $retries = 0
    do 
        {sleep 30; $returnCode = $datacollectorset.Status ; $retries++} 
    &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; ($returnCode &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; 2 -and $retries &lt;span style="color: #cc6633"&gt;-lt&lt;/span&gt; 60)
    
    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($retries &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; 60)
    {
        Write-Warning &lt;span style="color: #006080"&gt;&amp;quot;Compiling has been running on the server for 30 minutes!  You'll need to check the following location on the server later for the report:&amp;quot;&lt;/span&gt;
        Write-Warning $datacollectorset.OutputLocation
        &lt;span style="color: #0000ff"&gt;break&lt;/span&gt;
    }
    
    &lt;span style="color: #008000"&gt;##Compiling has finished, now we can copy the folder to some location&lt;/span&gt;
    $path = $datacollectorset.OutputLocation
    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($serverName)
    {
    $path = $path.Replace(&lt;span style="color: #006080"&gt;&amp;quot;:&amp;quot;&lt;/span&gt;,&lt;span style="color: #006080"&gt;&amp;quot;$&amp;quot;&lt;/span&gt;)
    Write-Host &lt;span style="color: #006080"&gt;&amp;quot;`nReport complete and can be viewed at \\$serverName\$path\report.html on the server.`n&amp;quot;&lt;/span&gt; 
    }
    &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;
    {
    Write-Host &lt;span style="color: #006080"&gt;&amp;quot;`nReport complete and can be viewed at $path\report.html`n&amp;quot;&lt;/span&gt;
    }
    
   &lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;The result:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Capture-4.jpg" /&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;More info:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PLA reference: &lt;a title="http://msdn.microsoft.com/en-us/library/aa372634(VS.85).aspx" href="http://msdn.microsoft.com/en-us/library/aa372634(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa372634(VS.85).aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:13243a34-9c35-4042-b4eb-9f0961bae121" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Powershell" rel="tag"&gt;Powershell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+2008" rel="tag"&gt;Windows 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Active+Directory" rel="tag"&gt;Active Directory&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3204255" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/DS/default.aspx">DS</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Metrics/default.aspx">Metrics</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Cool+Tools/default.aspx">Cool Tools</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Display warning text when someone logs onto your servers</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/09/25/display-warning-text-when-someone-logs-onto-your-servers.aspx</link><pubDate>Thu, 25 Sep 2008 03:25:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3128027</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3128027.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3128027</wfw:commentRss><description>&lt;P&gt;This works for Windows 2003 and Windows 2008.&amp;nbsp; We use it during our reliability study to let the server owners know that they shouldn't reboot their boxes without a good reason.&amp;nbsp; You can use it for whatever you’d like. :)&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The two keys to set:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;reg add "&lt;A href="file://brad-dc-01/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon"&gt;\\brad-dc-01\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeCaption /t REG_SZ /d "MSIT Reliability Study" /f&lt;/P&gt;
&lt;P&gt;reg add "&lt;A href="file://brad-dc-01/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon"&gt;\\brad-dc-01\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeText /t REG_SZ /d "This server is part of the MSIT Windows 7 Reliability Study.&amp;nbsp;&amp;nbsp; The server should not be rebooted.&amp;nbsp; If the server is experiencing a bug, please contact DCOPERATE to triage and they will escalate as needed.&amp;nbsp; If you are rebooting the server for a hotfix, private fix, or other legitimate reason, please document it properly in the shutdown tracker so that the statistics are accurate." /f&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Hop to loop it and apply it en masse:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Open CMD with your alt creds and do the following:&lt;/P&gt;
&lt;P&gt;C:\Windows\system32&amp;gt;for /f %a in (machines.txt) do (&lt;/P&gt;
&lt;P&gt;More? reg add "&lt;A href="file://%25a/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon" mce_href="file:///\\%25a\HKLM\SOFTWARE\Microsoft\Windows%20NT\CurrentVersion\Winlogon"&gt;\\%a\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeCaption /t REG_SZ /d "MSIT Reliability Study" /f&lt;/P&gt;
&lt;P&gt;More? reg add "&lt;A href="file://%25a/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon"&gt;\\%a\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeText /t REG_SZ /d "This server is part of the... (HUGE LONG STRING) ... " /f&lt;/P&gt;
&lt;P&gt;More? )&lt;/P&gt;
&lt;P&gt;&lt;B&gt;How to turn it off:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;C:\Windows\system32&amp;gt;for /f %a in (machines.txt) do (&lt;/P&gt;
&lt;P&gt;More? reg add "&lt;A href="file://%25a/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon" mce_href="file:///\\%25a\HKLM\SOFTWARE\Microsoft\Windows%20NT\CurrentVersion\Winlogon"&gt;\\%a\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeCaption /t REG_SZ /d "" /f&lt;/P&gt;
&lt;P&gt;More? reg add "&lt;A href="file://%25a/HKLM/SOFTWARE/Microsoft/Windows%20NT/CurrentVersion/Winlogon"&gt;\\%a\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/A&gt;" /v LegalNoticeText /t REG_SZ /d "" /f&lt;/P&gt;
&lt;P&gt;More? )&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The result:&lt;/B&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://i149.photobucket.com/albums/s62/brad9987/Untitled.jpg" mce_src="http://i149.photobucket.com/albums/s62/brad9987/Untitled.jpg"&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another way of doing this is to set "Interactive logon: Message text for users attempting to logon" in secpol.msc...&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5a496348-a141-46cf-8179-43ec5f3faeb6 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Windows+2003" rel=tag mce_href="http://technorati.com/tags/Windows+2003"&gt;Windows 2003&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Windows+2008" rel=tag mce_href="http://technorati.com/tags/Windows+2008"&gt;Windows 2008&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3128027" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Ghetto+scripting/default.aspx">Ghetto scripting</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Getting Access Denied when trying to query root\MSCluster namespace remotely against Windows 2008.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/09/08/getting-access-denied-when-trying-to-query-root-mscluster-namespace-remotely-against-windows-2008.aspx</link><pubDate>Mon, 08 Sep 2008 21:00:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3121082</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3121082.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3121082</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ran into a weird issue where I was getting access denied when trying to query nodes remotely in powershell.&amp;#160; The query was working fine against Windows 2003 cluster names and worked locally when ran on a Windows 2008 cluster node, it just didn’t work remotely.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Against 2k3:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;PS C:\Debuggers&amp;gt; gwmi -q &amp;quot;Select name from MSCluster_Node&amp;quot; -namespace root\mscluster -computername Server-2k3-01 | Select-Object Name &lt;/p&gt;  &lt;p&gt;Name   &lt;br /&gt;----    &lt;br /&gt;Server-2k3-01    &lt;br /&gt;Server-2k3-02&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Against 2k8:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000"&gt;PS C:\Debuggers&amp;gt; gwmi -q &amp;quot;Select name from MSCluster_Node&amp;quot; -namespace root\mscluster -computername Server-2k8-01     &lt;br /&gt;Get-WmiObject : Access denied      &lt;br /&gt;At line:1 char:5      &lt;br /&gt;+ gwmi &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;#160; -q &amp;quot;Select name from MSCluster_Node&amp;quot; -namespace root\mscluster -computername Server-2k8-01&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I also tried the query outside of powershell to eliminate that form the equation with the same results and it still failed.&amp;#160; So why the difference?&amp;#160; Well looking around on the target, I noticed this event in the event log:&lt;/p&gt;  &lt;p&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application   &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-WMI    &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/5/2008 10:17:52 AM    &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5605    &lt;br /&gt;Task Category: None    &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error    &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic    &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A    &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Server-2k8-01    &lt;br /&gt;Description:    &lt;br /&gt;Access to the root\mscluster namespace was denied because the namespace is marked with RequiresEncryption but the script or application attempted to connect to this namespace with an authentication level below Pkt_Privacy. Change the authentication level to Pkt_Privacy and run the script or application again.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Doing a little research I ran across this article explaining the event and what needs to happen to run the query properly:&lt;/p&gt; &lt;a title="http://technet.microsoft.com/en-us/library/cc727103.aspx" href="http://technet.microsoft.com/en-us/library/cc727103.aspx"&gt;http://technet.microsoft.com/en-us/library/cc727103.aspx&lt;/a&gt;  &lt;p&gt;In VBScript that means adding: &lt;strong&gt;authenticationLevel=pktPrivacy&lt;/strong&gt; to your query.&amp;#160; In Powershell (I’m using 2.0) you just add the authentication switch to get it to work.&amp;#160; Now the query works on downlevel as well as 2k8:&lt;/p&gt;  &lt;p&gt;PS C:\Debuggers&amp;gt; gwmi -q &amp;quot;Select name from MSCluster_Node&amp;quot; -namespace root\mscluster -computername Server-2k8-01 &lt;strong&gt;-Authentication PacketPrivacy&lt;/strong&gt; | Select-Object Name &lt;/p&gt;  &lt;p&gt;Name   &lt;br /&gt;----&lt;/p&gt;  &lt;p&gt;Server-2k8-01   &lt;br /&gt;Server-2k8-02    &lt;br /&gt;Server-2k8-03    &lt;br /&gt;Server-2k8-04    &lt;br /&gt;Server-2k8-05&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;PostScript:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can do a whole bunch of cool stuff with powershell check it out!&amp;#160; Here’s just a little query to tell me each node and ‘t state:&lt;/p&gt;  &lt;p&gt;PS C:\Debuggers&amp;gt; gwmi -q &amp;quot;Select * from MSCluster_Node&amp;quot; -namespace root\mscluster -computername TK5-CLUS-01 -Authentication PacketPrivacy | Select-Object Name,State | Format-Table -au &lt;/p&gt;  &lt;p&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State   &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----    &lt;br /&gt;tk5-clus-01&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0    &lt;br /&gt;tk5-clus-02&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0    &lt;br /&gt;tk5-clus-03&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0    &lt;br /&gt;tk5-clus-04&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1    &lt;br /&gt;tk5-clus-05&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0    &lt;br /&gt;tk5-clus-06&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3121082" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Ghetto+scripting/default.aspx">Ghetto scripting</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Domain doesn't know about my computer account?  I vouch for my computer, you can trust me...</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/08/01/domain-doesn-t-know-about-my-computer-account-i-vouch-for-my-computer-you-can-trust-me.aspx</link><pubDate>Fri, 01 Aug 2008 22:31:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3096891</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3096891.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3096891</wfw:commentRss><description>&lt;p&gt;Had an issue where a server would not allow logon via termian services each time you attempted to logon it would return this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img height="240" src="http://i149.photobucket.com/albums/s62/brad9987/spalsh-1.jpg" width="713" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Soooooooooo, what to do here?&amp;#160; &lt;/p&gt;  &lt;p&gt;First, we made sure the account existed in the directory since that's why it appeared to be complaining.&amp;#160; So I opened LDP and verified it existed, and that all &amp;quot;checked out&amp;quot; with being healthy (stare and compare against a good object).&lt;/p&gt;  &lt;p&gt;Second thing we did was crank up netlogon debug logging (nltest dbflag) and see what it showed.&amp;#160; It was complaining of a lot of stuff but nothing conclusive unfortunately.&amp;#160; So at that point it was time to move to event viewer.&amp;#160; The &amp;quot;nice&amp;quot; thing about this issue was that the server was accessible via the network with the same account that was failing to TS so I could do some of the investigation remotely.&lt;/p&gt;  &lt;p&gt;One event in particular struck me:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="1"&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System     &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Security-Kerberos      &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7/31/2008 4:11:24 PM      &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3      &lt;br /&gt;Task Category: None      &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error      &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic      &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A      &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BRAD-SRV-01.braddom.bradforest.com      &lt;br /&gt;Description:      &lt;br /&gt;A Kerberos Error Message was received:      &lt;br /&gt; on logon session       &lt;br /&gt; Client Time:       &lt;br /&gt; Server Time: 23:11:24.0000 7/31/2008 Z      &lt;br /&gt; Error Code: 0x7&amp;#160; KDC_ERR_S_PRINCIPAL_UNKNOWN      &lt;br /&gt; Extended Error: 0xc0000035 KLIN(0)      &lt;br /&gt; Client Realm:       &lt;br /&gt; Client Name:       &lt;br /&gt; Server Realm: braddom.bradforest.COM      &lt;br /&gt; Server Name: host/BRAD-SRV-01.braddom.bradforest.com      &lt;br /&gt; Target Name: host/BRAD-SRV-01.braddom.bradforest.com@braddom.bradforest.COM      &lt;br /&gt; Error Text:       &lt;br /&gt; File: 9      &lt;br /&gt; Line: d86      &lt;br /&gt; Error Data is in record data.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;Using err.exe I resolved the error code and found there was a collision:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="1"&gt;C:\localbin&amp;gt;err 0xc0000035     &lt;br /&gt;# for hex 0xc0000035 / decimal -1073741771 :      &lt;br /&gt;&amp;#160; STATUS_OBJECT_NAME_COLLISION&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ntstatus.h      &lt;br /&gt;# Object Name already exists.      &lt;br /&gt;# 1 matches found for &amp;quot;0xc0000035&amp;quot;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At this point it's time to look for a collision of &amp;quot;host/BRAD-SRV-01.braddom.bradforest.com&amp;quot; in the forest.&amp;#160; The easiest way to do it is use a nice script called &lt;a title="Link to querySPN.vbs on technet." href="http://www.microsoft.com/technet/scriptcenter/solutions/spnquery.mspx" target="_blank"&gt;querySPN.vbs&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="1"&gt;C:\localbin&amp;gt;querySPN.vbs HOST/BRAD-SRV-01.braddom.bradforest.com braddom.bradforest.com     &lt;br /&gt;Microsoft (R) Windows Script Host Version 5.7      &lt;br /&gt;Copyright (C) Microsoft Corporation. All rights reserved. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="1"&gt;CN=VL Account,CN=Users,DC=braddom,DC=bradforest,DC=com     &lt;br /&gt;Class: user      &lt;br /&gt;User Logon:&amp;#160; VLSBST      &lt;br /&gt;-- host/BRAD-SRV-01.braddom.bradforest.com &amp;lt;-----------------------------------------------------------------&amp;#160; Bingo the SPN is registered for two objects!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="1"&gt;CN=BRAD-SRV-01,CN=Computers,DC=braddom,DC=bradforest,DC=com     &lt;br /&gt;Class: computer      &lt;br /&gt;Computer DNS: BRAD-SRV-01.braddom.bradforest.com      &lt;br /&gt;-- TERMSRV/BRAD-SRV-01.braddom.bradforest.com      &lt;br /&gt;-- TERMSRV/BRAD-SRV-01      &lt;br /&gt;-- HOST/BRAD-SRV-01      &lt;br /&gt;-- HOST/BRAD-SRV-01.braddom.bradforest.com &amp;lt;----------------------------------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once we removed the SPN from the user account, logons began to immediately work. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-B&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3096891" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/DS/default.aspx">DS</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Windows Update fails with 8000FFFF (E_UNEXPECTED)</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/07/03/windows-update-fails-with-8000ffff-e-unexpected.aspx</link><pubDate>Thu, 03 Jul 2008 22:07:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3083136</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3083136.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3083136</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;Quick Solution:&lt;/strong&gt;&amp;#160; Check the permissions on&amp;#160; the root of C: and ensure that BUILTIN\Users have Read access.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Long Story:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;8000FFFF == E_UNEXPECTED, not very helpful…&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Had a client where windows update was continually failing with the error code 8000FFFF.&amp;#160; When looking in the Windows Update log we’d see errors like this:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;WARNING: PTError: 0x80248014      &lt;br /&gt;Handler FATAL: CBS called Error with 0x8000ffff, &lt;font color="#ff0000"&gt;&amp;lt;— Checked the CBS.log file but that didn’t give any clues. &lt;/font&gt;      &lt;br /&gt;Handler FATAL: Error source is 106.       &lt;br /&gt;DnldMgr Error 0x8000ffff occurred while downloading update; notifying dependent calls.       &lt;br /&gt;AU&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; # WARNING: Download failed, error = 0x8000FFFF       &lt;br /&gt;AU&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; # WARNING: Download failed, error = 0x8000FFFF       &lt;br /&gt;AU&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WARNING: BeginInteractiveInstall failed, error = 0x8024000C       &lt;br /&gt;CltUI&amp;#160;&amp;#160; WARNING: AU directive Interactive Progress is exiting due to error 8024000C&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;And in the event viewer upon each run we’d see these events:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ESENT       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7/2/2008 3:05:16 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 491       &lt;br /&gt;Task Category: General       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; XXXX       &lt;br /&gt;Description:       &lt;br /&gt;Catalog Database (1560) Catalog Database: An attempt to determine the minimum I/O block size for the volume &amp;quot;C:\&amp;quot; containing &amp;quot;C:\Windows\system32\CatRoot2\&amp;quot; failed with system error 5 (0x00000005): &amp;quot;&lt;font color="#ff0000"&gt;Access is denied.&lt;/font&gt; &amp;quot;.&amp;#160; The operation will fail with error -1032 (0xfffffbf8). &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-CAPI2       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7/2/2008 3:05:16 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 257       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; XXXX       &lt;br /&gt;Description:       &lt;br /&gt;The Cryptographic Services service failed to initialize the Catalog Database. The ESENT error was: -1032.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;After seeing this data I did a stare and compare between my root permissions and his and found that he’d modified the c:\ permissions on his system:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;His machine:&lt;/em&gt;     &lt;br /&gt;&lt;font face="Courier New"&gt;c:\temp\xcacls c:      &lt;br /&gt;C:\ NT AUTHORITY\SYSTEM:(OI)(CI)F       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BUILTIN\Administrators:(OI)(CI)F&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Mine:      &lt;br /&gt;&lt;/em&gt;&lt;font face="Courier New"&gt;C:\&amp;gt;xcacls c:\      &lt;br /&gt;c:\ BUILTIN\Administrators:F       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BUILTIN\Administrators:(OI)(CI)(IO)F       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NT AUTHORITY\SYSTEM:F       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BUILTIN\Users:(OI)(CI)R &lt;font color="#ff0000"&gt;&amp;lt;— This is the key one missing that was causing the headache.&lt;/font&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)C       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NT AUTHORITY\Authenticated Users:(special access:)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FILE_APPEND_DATA&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The Cryptographic Services runs under “Network Service” which would require Users to have read access.&amp;#160; I added BUILTIN\Users with read access to C and all worked again.&lt;/p&gt;  &lt;p&gt;Hopefully this post will guide others with similar issues to the solution quickly.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b07002f4-ca3a-4b00-aecb-e65086a5dd02" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Update" rel="tag"&gt;Windows Update&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WSUS" rel="tag"&gt;WSUS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+2008" rel="tag"&gt;Windows 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3083136" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Staring at a blank desktop, due to Interactive missing from Users group</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/05/29/staring-at-a-blank-desktop-due-to-interactive-missing-from-users-group.aspx</link><pubDate>Fri, 30 May 2008 01:51:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3063031</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3063031.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3063031</wfw:commentRss><description>&lt;p&gt;Ran into an issue this week that was strange.&amp;#160; When you TS’d to the box it would just show a blank background and nothing else.&amp;#160; If you tried to launch task manager it would just fail silently to the user (actually access denied in the debugger).&amp;#160; My user account was in the admin group and the server was completely accessible remotely with administrative perms.&amp;#160; It was just when I (or anyone) tried to logon to the server locally or through TS that it was messed up.&amp;#160; Another piece of the puzzle was that if you disabled UAC and rebooted the server the issue no longer repro’d.&amp;#160; &lt;/p&gt;  &lt;p&gt;So what was there with UAC and logging onto this server?&lt;/p&gt;  &lt;p&gt;When logging on this event was triggered:&lt;/p&gt;  &lt;p&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application   &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Winlogon    &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5/27/2008 5:13:28 PM    &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4006    &lt;br /&gt;Task Category: None    &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning    &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic    &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A    &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; XXXX    &lt;br /&gt;Description:    &lt;br /&gt;The Windows logon process has failed to spawn a user application. Application name: . Command line parameters: C:\Windows\system32\userinit.exe.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Turns out that they removed the Account &amp;quot;NT AUTHORITY\INTERACTIVE&amp;quot; from the Users group on the machine.&lt;/strong&gt;&amp;#160; We added that account back into the users group and like magic it worked again.&amp;#160; I'm working on getting a KB filed and written for this issue, but until then at least people can find it if they notice this event in the event log.&lt;/p&gt;  &lt;p&gt;Reference:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true"&gt;http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;UAC Architecture&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;While the Windows Vista logon process externally appears to be the same as the logon process in Windows XP, the internal mechanics have greatly changed. The following illustration details how the logon process for an administrator differs from the logon process for a standard user.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Windows Vista logon process&lt;/p&gt;  &lt;p&gt;When an administrator logs on, the user is granted two access tokens: a full administrator access token and a &amp;quot;filtered&amp;quot; standard user access token. By default, when a member of the local Administrators group logs on, the administrative Windows privileges are disabled and elevated user rights are removed, resulting in the standard user access token. The standard user access token is then used to launch the desktop (Explorer.exe). &lt;/p&gt;  &lt;p&gt;&lt;em&gt;HatTip to Ben on my Team who actually figured this out after I tried to debug it for 3 days...&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8c69cb5-333c-446b-ba6c-d399a88d773e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+2008" rel="tag"&gt;Windows 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UAC" rel="tag"&gt;UAC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Winlogon" rel="tag"&gt;Winlogon&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3063031" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Stuff to check out for Windows 2008</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/03/26/stuff-to-check-out-for-windows-2008.aspx</link><pubDate>Wed, 26 Mar 2008 19:41:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3021551</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3021551.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3021551</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Just got released yesterday:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;X86: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9ff6e897-23ce-4a36-b7fc-d52065de9960&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9ff6e897-23ce-4a36-b7fc-d52065de9960&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;X64: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d647a60b-63fd-4ac5-9243-bd3c497d2bc5&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=d647a60b-63fd-4ac5-9243-bd3c497d2bc5&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Overview&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="Description"&gt;&lt;/a&gt;Microsoft Remote Server Administration Tools (RSAT) enables IT administrators to remotely manage roles and features in Windows Server 2008 from a computer running Windows Vista with SP1. It includes support for remote management of computers running either a Server Core installation or the full installation option of Windows Server 2008. It provides similar functionality to Windows Server 2003 Administration Tools Pack.     &lt;br /&gt;After you install this item, you may have to restart your computer. This update is provided to you and licensed under the Windows Vista License Terms.&lt;/p&gt;  &lt;p&gt;Once you install the KB, you need to enable the RSAT tools by doing the following:&lt;/p&gt;  &lt;p&gt;1. Click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Control Panel&lt;/b&gt;, and then click &lt;b&gt;Programs&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;2. In the &lt;b&gt;Programs and Features&lt;/b&gt; area, click &lt;b&gt;Turn Windows features on or off&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;3. If you are prompted by User Account Control to allow the Windows Features dialog box to open, click &lt;b&gt;Continue&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;4. In the Windows Features dialog box, expand &lt;b&gt;Remote Server Administration Tools&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;5. Select the remote management tools that you want to install.&lt;/p&gt;  &lt;p&gt;6. Click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Other notables:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1) &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f41878de-2ee7-4718-8499-2ef336db3df5&amp;amp;DisplayLang=en" target="_blank"&gt;Windows Server&amp;#174; 2008 Network Shell (Netsh) Technical Reference&lt;/a&gt;&amp;#160; What can you do in Netsh in Win2k8?&amp;#160; How do I add IP info?&amp;#160; How do I adjust the firewall?&amp;#160; How do I connect to a remote server via netsh?&amp;#160; You get the point.&lt;/p&gt;  &lt;p&gt;2) &lt;a href="http://edge.technet.com/Media/645/" target="_blank"&gt;Active Directory Database Mounting Tool Screencast&lt;/a&gt; Great screen cast on how to take a snapshot of your DIT, mount it, and view an offline copy via dsa.msc&lt;/p&gt;  &lt;p&gt;3) &lt;a href="http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx" target="_blank"&gt;IIS7 Media Pack Bit Rate Throttling Module&lt;/a&gt; For media files, Bit Rate Throttling implements a dynamic per-file throttling capability to provide intelligent progressive downloading. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:11adcc5f-45cb-49c9-acbe-3b3786e72fa4" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/RSAT" rel="tag"&gt;RSAT&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows%202008" rel="tag"&gt;Windows 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3021551" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>2 things: Tell if a server is server core remotely. Tell if a server is a VM remotely. (C#)</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/03/07/2-things-tell-if-a-server-is-server-core-remotely-tell-if-a-server-is-a-vm-remotely.aspx</link><pubDate>Fri, 07 Mar 2008 23:54:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2975077</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2975077.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2975077</wfw:commentRss><description>&lt;p&gt;I've been messing around over the last week making a tool that will frisk a remote machine.&amp;#160; It's been a fun project, a couple of items I got hung up on were if the machine was server core and if it was a VM. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I mean who would knowingly TS to a server if they knew it was server core?&amp;#160; As for the VM, it's nice to know before-hand so you dont request a debugger to be attached to a virtual server ;).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well here are some snippets for those two things, hope it helps those trying to do similar queries...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Server Core:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Basically you just need to look at the OperatingSystemSKU value and if it E (hex) or 14 (decimal) then its server core.&amp;#160; This and all the other SKU numbers are listed here: &lt;a title="http://msdn2.microsoft.com/en-us/library/ms724358.aspx" href="http://msdn2.microsoft.com/en-us/library/ms724358.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms724358.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;System.Management.ConnectionOptions objconn = new System.Management.ConnectionOptions();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; objconn.Impersonation = System.Management.ImpersonationLevel.Impersonate;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; objconn.EnablePrivileges = true;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementScope exmangescope = new System.Management.ManagementScope(@&amp;quot;\\&amp;quot; + srvName + @&amp;quot;\root\cimv2&amp;quot;, objconn);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Management.ObjectQuery objquery = new System.Management.ObjectQuery(&amp;quot;SELECT * FROM Win32_OperatingSystem&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementObjectSearcher objsearch = new System.Management.ManagementObjectSearcher(exmangescope, objquery);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementObjectCollection queryCollection = objsearch.Get();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (System.Management.ManagementObject stringer in queryCollection)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; serverCoreval = stringer[&amp;quot;OperatingSystemSKU&amp;quot;].ToString();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Console.WriteLine(serverCoreval);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Virtual Machine:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;If the VM is either Vista/Windows 2008 it's a simple reg query:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;if (buildInt &amp;gt;= 6000)    &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; sysInfo = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, srvName).OpenSubKey(@&amp;quot;SYSTEM\CurrentControlSet\Control\SystemInformation&amp;quot;).GetValue(&amp;quot;SystemProductName&amp;quot;).ToString(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; if (sysInfo.Contains(&amp;quot;Virtual&amp;quot;))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vmCheck = 1;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;If the VM is downlevel then it's a WMI query&lt;/strong&gt;&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;else if (buildInt == 3790)    &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.Management.ConnectionOptions objconn = new System.Management.ConnectionOptions();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; objconn.Impersonation = System.Management.ImpersonationLevel.Impersonate;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; objconn.EnablePrivileges = true;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementScope exmangescope = new System.Management.ManagementScope(@&amp;quot;\\&amp;quot; + srvName + @&amp;quot;\root\cimv2&amp;quot;, objconn);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.Management.ObjectQuery objquery = new System.Management.ObjectQuery(&amp;quot;SELECT * FROM Win32_ComputerSystem&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementObjectSearcher objsearch = new System.Management.ManagementObjectSearcher(exmangescope, objquery);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.Management.ManagementObjectCollection queryCollection1 = objsearch.Get();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; foreach (System.Management.ManagementObject stringer in queryCollection1)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sysInfo = stringer[&amp;quot;Model&amp;quot;].ToString();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //System.Console.WriteLine(sysinfo);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (sysInfo.Contains(&amp;quot;Virtual&amp;quot;))     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vmCheck = 1;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c9e9fd5b-c54b-42e8-96c3-da7c3a9bfd14" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/windows%202008" rel="tag"&gt;windows 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Server%20Core" rel="tag"&gt;Server Core&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Virtualization" rel="tag"&gt;Virtualization&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2975077" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Tidbits for admins for the 2k8 release...</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/26/tidbits-for-admins-for-the-2k8-release.aspx</link><pubDate>Tue, 26 Feb 2008 19:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2934029</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2934029.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2934029</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;IMG src="http://www.microsoft.com/canada/heroeshappenhere/images/tabs_ws_on.jpg" mce_src="http://www.microsoft.com/canada/heroeshappenhere/images/tabs_ws_on.jpg"&gt; &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;Just some random stuff as you get ready for 2k8...&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Getting the Classic cluster logs:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Clustering in Win2k8 has undergone some major changes (for the better).&amp;nbsp; One of those changes is that the cluster events are now part of the event stream so sifting through the cluster logs is a thing of the past.&amp;nbsp; You might find it easier sometimes though to have the cluster logs in which case you can generate them:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\&amp;gt;cluster log /G /Copy:"c:\debuggers" &lt;BR&gt;Generating the cluster log(s) ... &lt;BR&gt;The cluster log has been successfully generated on node 'server-10'... &lt;BR&gt;The cluster log has been successfully generated on node 'server-11'... &lt;BR&gt;The cluster log has been successfully copied from node 'server-11'... &lt;BR&gt;The cluster log has been successfully copied from node 'server-10'... &lt;BR&gt;The cluster log has been successfully generated on node 'server-15'... &lt;BR&gt;The cluster log has been successfully copied from node 'server-15'... &lt;BR&gt;The cluster log has been successfully generated on node 'server-16'... &lt;BR&gt;The cluster log has been successfully copied from node 'server-16'... &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;The cluster log(s) have been copied to 'c:\debuggers'...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Multiple TS connections to the same server with the same account:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;You may notice that in Win2k8 that if you are already logged on via TS to a server and use the same account from a different machine to connect to the server it will take over the session you already have connected instead of creating a new one.&amp;nbsp; This is by default in 2k8.&amp;nbsp; If you/your team use a test account to logon to your servers this could be quite annoying and you might want to set it back to what it was like in 2k3.&amp;nbsp; You can do this by unchecking "Restrict each user to a single session" in tsconfg.msc, which just toggles the fSingleSessionPerUser value to zero under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" if you want to do it remotely.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Also, I &lt;FONT size=2&gt;&lt;A href="http://blogs.technet.com/brad_rutkowski/archive/2008/01/14/vista-sp1-and-windows-2008-no-console-switch-with-mstsc.aspx" target=_blank mce_href="http://blogs.technet.com/brad_rutkowski/archive/2008/01/14/vista-sp1-and-windows-2008-no-console-switch-with-mstsc.aspx"&gt;already mentioned it&lt;/A&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; but you need to use the /admin switch to connect to the console session with 2k8 and Vista SP1.&amp;nbsp; More info from &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/ts/archive/2007/12/17/changes-to-remote-administration-in-windows-server-2008.aspx" target=_blank mce_href="http://blogs.msdn.com/ts/archive/2007/12/17/changes-to-remote-administration-in-windows-server-2008.aspx"&gt;&lt;FONT size=2&gt;Terminal Services Team Blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Getting the system info for investigations:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Have a customer who is having issues?&amp;nbsp; Stop asking questions and have them run msinfo32.exe /nfo c:\test.nfo and send you the test.nfo file.&amp;nbsp; What's in there?&amp;nbsp;&amp;nbsp; Everything of your dreams.&amp;nbsp; No really, it has a plethora of information on the system where its taken, and is quite helpful.&amp;nbsp; If you just want to grab the basics from a server locally/remotely use systeminfo.exe which is under system32.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Setup failed and I do not know why:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For general troubleshooting, check the Setupact.log and Setuperr.log files. Depending on when the installation failed, these files will be located in the $WINDOWS.~BT\Sources\Panther folder or the Windows\Panther folder. In most cases, these folders are located on the partition that Windows Server 2008 is being installed on or the partition that contains the old operating system. However, if Setup failed on an Itanium-based computer, this folder might be located on another drive that has available hard disk space.&amp;nbsp; &lt;/FONT&gt;&lt;A href="http://download.microsoft.com/download/e/6/3/e63cf2f6-7f71-450b-8e4a-dace88e99456/readme.htm" target=_blank mce_href="http://download.microsoft.com/download/e/6/3/e63cf2f6-7f71-450b-8e4a-dace88e99456/readme.htm"&gt;&lt;FONT size=2&gt;From here.&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;I'd also add if you dont find any info in the panther log locations check the cbs.log file under %windir%\Logs\CBS.&amp;nbsp; This has good information for any setup/install failures.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Installing Win2k8 and using it as your desktop:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For the uber-nerds cough *not me* cough: &lt;/FONT&gt;&lt;A title=http://blogs.msdn.com/vijaysk/archive/2008/02/11/using-windows-server-2008-as-a-super-desktop-os.aspx href="http://blogs.msdn.com/vijaysk/archive/2008/02/11/using-windows-server-2008-as-a-super-desktop-os.aspx" mce_href="http://blogs.msdn.com/vijaysk/archive/2008/02/11/using-windows-server-2008-as-a-super-desktop-os.aspx"&gt;&lt;FONT size=2&gt;http://blogs.msdn.com/vijaysk/archive/2008/02/11/using-windows-server-2008-as-a-super-desktop-os.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Windows 2008 is fast as hell, and if you got the horses you might think this is a good idea. IF you can live without sidebar!&amp;nbsp; Oh wait, does anyone use that?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Microsoft Assessment and Planning (MAP) released yesterday:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Finally for those of you who want to scan your hardware inventory with zero-touch, the Solution Accelerator for 2k8 went out the door yesterday.&amp;nbsp; If anything you should take the link and check it out.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/MAP" mce_href="http://www.microsoft.com/MAP"&gt;&lt;FONT size=2&gt;Microsoft Assessment and Planning Solution Accelerator&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; performs three key functions - including hardware and device inventory, compatibility analysis, and readiness reporting.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2de6ffd6-0ce6-4fee-b193-632ee6a3c8d9 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Windows%202008" rel=tag mce_href="http://technorati.com/tags/Windows%202008"&gt;Windows 2008&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2934029" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Cool+Tools/default.aspx">Cool Tools</category></item><item><title>Taking a circular netmon capture from the command prompt</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/22/taking-a-circular-netmon-capture-from-the-command-prompt.aspx</link><pubDate>Fri, 22 Feb 2008 22:23:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2922353</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2922353.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2922353</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You've probably heard that &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&amp;amp;DisplayLang=en" target="_blank"&gt;netmon3.1 is out&lt;/a&gt;, but you might not know that you can easily launch a capture at the command prompt.&amp;#160; I find this useful when we're waiting on a repro, we want a capture, but we don&amp;#8217;t know when that's going to happen.&amp;#160; Sure you could set this up in the GUI too, but who wants to do that when it's as easy as this?&lt;/p&gt;  &lt;p&gt;The below will setup a capture on all networks that the system is attached to and wait until I hit ctrl+c (you can see its been a while with no repro).&amp;#160; The CHN extension used tells netmon to take multiple captures in a chain (see file syntax).&amp;#160; I also put some examples at the bottom so you can see what else you can do.&amp;#160; Have fun!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\Windows\system32&amp;gt;nmcap /capture /network *&amp;#160; /File netmoncap.chn:100M      &lt;br /&gt;Netmon Command Line Capture (nmcap) 03.01.0512.0000 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Saving info to:     &lt;br /&gt;C:\Windows\system32\netmoncap.cap - using chain captures of size 100.00 MB. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ATTENTION: Conversations Enabled: consumes more memory (see Help for details) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Exit by Ctrl+C &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Saved Frames: 9232127 Capture Frames: 9438779 (44181 seconds)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Hit Ctrl+C&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Cancelled by user &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Final Results : Saved Frames: 722 Capture Frames: 722 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\Program Files\Microsoft Network Monitor 3&amp;gt;dir netmoncap.cap     &lt;br /&gt; Volume in drive C has no label.      &lt;br /&gt; Volume Serial Number is FCC3-5AF7 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt; Directory of C:\Program Files\Microsoft Network Monitor 3 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;02/22/2008&amp;#160; 09:06 AM&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 384,748 netmoncap.cap     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1 File(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 384,748 bytes      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 Dir(s)&amp;#160; 16,699,654,144 bytes free&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Here's the breakdown fo the /File syntax:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;/File &amp;lt;Capture File&amp;gt;[:&amp;lt;File Size Limit&amp;gt;]     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Name of capture file to save frames to. Extensions are used to determine      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; the behavior of nmcap.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .cap -- Netmon 2 capture file      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .chn -- Series of Netmon 2 capture files: t.cap, t(1).cap, t(2).cap...      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;File Size Limit&amp;gt; are optional. It limits the file size of each capture      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; file generated. Default single capture file size limit is 20M. The      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; upper bound of the file size limit is 500M. The lower bound of the file      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; size limit depends on the frame size captured. (Note that the maximal size      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; of ethernet frames is 1500 Bytes)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; The files are circular, so once the size limit is reached, new data will      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; overwrite older data.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Example Usage: /File t.cap:50M&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Some other examples from the NMCAP help:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This example starts capturing network frames that DO NOT contain ARPs, ICMP,   &lt;br /&gt;NBtNs and BROWSER frames.&amp;#160; If you want to stop capturing, Press Control+C. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture&amp;#160; (!ARP AND !ICMP AND !NBTNS AND !BROWSER) /File NoNoise.cap&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Starts capturing network frames immediately. All TCP frames that have a source   &lt;br /&gt;port or destination port of 80 are saved to the chained capture files named    &lt;br /&gt;test.cap, test(1).cap, test(2).cap, ... When the user presses the 'x' key the    &lt;br /&gt;program stops. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture tcp.port == 80 /file c:\temp\test.chn:6M /stopwhen /keypress x&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This example starts capturing network frames that are TCP Continuations. The   &lt;br /&gt;capture filter is searching for String &amp;quot;Continuation in TCP Frame Summary    &lt;br /&gt;Description. In order to see the complete list of Netmon Properties that are    &lt;br /&gt;filterable,type &amp;quot;.Property&amp;quot; in the Netmon Filter UI. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture contains(.Property.Description, \&amp;quot;Continuation\&amp;quot;) /File TCPContinuations.cap&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8478ddb-a4e4-4431-aa0c-caf6df2165d9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Netmon" rel="tag"&gt;Netmon&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Network%20Monitor" rel="tag"&gt;Network Monitor&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2922353" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+2003/default.aspx">Windows 2003</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Cool+Tools/default.aspx">Cool Tools</category></item><item><title>I PTE the fool: !SYSPTES 4 works in Vista SP1/WS08</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/21/i-pte-the-fool-sysptes-4-works-in-vista-sp1-ws08.aspx</link><pubDate>Thu, 21 Feb 2008 03:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2917032</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2917032.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2917032</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;System Page Table Entry (PTE) issues are some of the top support issues for servers that run large server applications and have a relatively large amount of Random Access Memory (RAM). PTEs are structures used to track pages of RAM, similar to the way a telephone number is used to track a telephone to a specific location.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+0&gt;You can now track down those &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms793941.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/ms793941.aspx"&gt;&lt;FONT size=2&gt;3f bugchecks&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; using !sysptes using the public symbols.&amp;nbsp; Usually when we hit a server running out of system PTEs, it will just tip over and we don't see an actual bugcheck.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Prior to Vista SP1/Windows 2008 if you tried to run SYSPTES 4 on a server with public symbols you'd get this error message: "Unable to get System PTE individual lock consumer information".&amp;nbsp; Well Windows Dev has fixed the bug.&amp;nbsp; Below is an example of what we would typically see, and then how we'd use !sysptes to narrow down who is consuming the space.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+0&gt;&lt;STRONG&gt;&lt;EM&gt;You find this sort of output in !VM:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+0&gt;&lt;FONT face=cour size=2&gt;0: kd&amp;gt; !vm 1 &lt;BR&gt;*** Virtual Memory Usage *** &lt;BR&gt;Physical Memory: 999242 ( 3996968 Kb) &lt;BR&gt;Page File: \??\C:\pagefile.sys &lt;BR&gt;Current: 927744 Kb Free Space: 884312 Kb &lt;BR&gt;Minimum: 927744 Kb Maximum: 927744 Kb &lt;BR&gt;Page File: \??\E:\pagefile.sys &lt;BR&gt;Current: 3072000 Kb Free Space: 3024624 Kb &lt;BR&gt;Minimum: 3072000 Kb Maximum: 3072000 Kb &lt;BR&gt;Available Pages: 265887 ( 1063548 Kb) &lt;BR&gt;ResAvail Pages: 933615 ( 3734460 Kb) &lt;BR&gt;Locked IO Pages: 1679 ( 6716 Kb) &lt;BR&gt;Free System PTEs: 500 ( 2000 Kb)&lt;/FONT&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face="Courier New" size=2&gt;********** Running out of system PTEs **************&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face="Courier New" size=2&gt;******* 416179544 system PTE allocations have failed ******&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face="Courier New" size=2&gt;Free NP PTEs: 1630 ( 6520 Kb) &lt;BR&gt;Free Special NP: 0 ( 0 Kb) &lt;BR&gt;Modified Pages: 478 ( 1912 Kb) &lt;BR&gt;Modified PF Pages: 477 ( 1908 Kb) &lt;BR&gt;NonPagedPool Usage: 8814 ( 35256 Kb) &lt;BR&gt;NonPagedPool Max: 32351 ( 129404 Kb) &lt;BR&gt;PagedPool 0 Usage: 10590 ( 42360 Kb) &lt;BR&gt;PagedPool 1 Usage: 994 ( 3976 Kb) &lt;BR&gt;PagedPool 2 Usage: 958 ( 3832 Kb) &lt;BR&gt;PagedPool 3 Usage: 972 ( 3888 Kb) &lt;BR&gt;PagedPool 4 Usage: 931 ( 3724 Kb) &lt;BR&gt;PagedPool Usage: 14445 ( 57780 Kb) &lt;BR&gt;PagedPool Maximum: 54784 ( 219136 Kb) &lt;BR&gt;Shared Commit: 4163 ( 16652 Kb) &lt;BR&gt;Special Pool: 0 ( 0 Kb) &lt;BR&gt;Shared Process: 10930 ( 43720 Kb) &lt;BR&gt;PagedPool Commit: 14485 ( 57940 Kb) &lt;BR&gt;Driver Commit: 1963 ( 7852 Kb) &lt;BR&gt;Committed pages: 747541 ( 2990164 Kb) &lt;BR&gt;Commit limit: 1952440 ( 7809760 Kb)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;So what now?&amp;nbsp; If you don't have the registry value set below, well for all intents and purposes you SOL.&amp;nbsp; So reboot, set the value, and then wait for repro.&amp;nbsp; Usually when we see the issue it comes back pretty quickly as some driver is eating up the space.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackptes&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Once the waiting is over and the system tips over, run !sysptes 4 and it will tell you what is allocating the PTEs and how many per call.&amp;nbsp; The “!SYSPTES 4” command only lists driver PTE allocations. This is because, historically, drivers have made the most use and misuse of system PTEs.&amp;nbsp; Sometimes you'll find one heavy hitter with a huge count (like in the article linked below), or in other instances you might find a certain sequence allocating many times, in either case you now have a clue as to who is using the PTEs and can either investigate that driver via break points, or contact the vendor who is eating up all the PTEs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;EM&gt;Cleaned up a bit for sanity's sake:&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;2: kd&amp;gt;!sysptes 4&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;VA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PageCount Caller/CallersCaller&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;f0769080 fce7fb18 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;efbbb8b8 fce0f658 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;f1c17080 fd0eb7a8 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;eff41820 fd41bc70 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;f1d10080 fcd91950 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;f027f108 fd051f88 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;efbf7080 fd7f3e80 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;f1cede10 fce71460 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;ef8a8080 fcedde80 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;ef963730 fc9c2868 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;f0281080 fccc52c0 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;f1dfaff8 fd156650 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;f0141080 fc6e82c0 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;ef8f3508 fd003a30 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b &lt;BR&gt;ef637080 fee1dde0 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrxsmb+0x2bed2/mrxsmb+0x2da71 &lt;BR&gt;eff3fa18 fd304050 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdbss!RUserBuffer+0x2f/rdbss!UserBufferForLowIo+0x2b&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The actual process of tracking down the PTEs is thoroughly explained here: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=ed0e8084-abf7-4c00-ba6a-7d658cdb052a&amp;amp;displayLang=en" target=_blank mce_href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=ed0e8084-abf7-4c00-ba6a-7d658cdb052a&amp;amp;displayLang=en"&gt;&lt;FONT size=2&gt;Detection, Analysis, and Corrective Actions for Low Page Table Entry Issues&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;So next time your system is acting up, get in there with &lt;A href="http://blogs.technet.com/brad_rutkowski/archive/2007/04/13/did-you-know-there-is-live-noninvasive-debugging.aspx" target=_blank mce_href="http://blogs.technet.com/brad_rutkowski/archive/2007/04/13/did-you-know-there-is-live-noninvasive-debugging.aspx"&gt;Live KD&lt;/A&gt; and see what's going on!&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2917032" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Memory/default.aspx">Memory</category></item><item><title>Hey Admins!  Taking some of the pain out of analyzing perfmon captures.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/13/hey-admins-taking-some-of-the-pain-out-of-analyzing-perfmon-captures.aspx</link><pubDate>Thu, 14 Feb 2008 02:03:20 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2887011</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2887011.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2887011</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.codeplex.com/PAL" target="_blank"&gt;Performance Analysis of Logs (PAL) tool&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;  &lt;p&gt;&lt;b&gt;Project Description:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Ever have a performance problem, but don't know what performance counters to collect or how to analyze them? The PAL (Performance Analysis of Logs) tool is a new and powerful tool that reads in a performance monitor counter log (any known format) and analyzes it using complex, but known thresholds (provided). The tool generates an HTML based report which graphically charts important performance counters and throws alerts when thresholds are exceeded. The thresholds are originally based on thresholds defined by the Microsoft product teams and members of Microsoft support, but continue to be expanded by this ongoing project. This tool is not a replacement of traditional performance analysis, but it automates the analysis of performance counter logs enough to save you time. This is a VBScript and requires Microsoft LogParser (free download).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My take on the tool:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For those of us out there that don't have to deal with performance data on a daily basis I see a few options to help troubleshoot performance issues on your servers.&amp;#160; 1) If your using 2k3 use &lt;a href="http://blogs.technet.com/brad_rutkowski/archive/2007/06/26/great-tool-for-windows-2003-server-performance-advisor-spa.aspx" target="_blank"&gt;SPA&lt;/a&gt;.&amp;#160; 2) If you're running 2k8/Vista use &lt;a href="http://blogs.technet.com/brad_rutkowski/archive/2007/04/14/hey-admins-let-s-explore-vista-together-part-1.aspx" target="_blank"&gt;data collection sets&lt;/a&gt;. 3) Collect analyze your own perfmon captures.&lt;/p&gt;  &lt;p&gt;Now you might want to look into this tool.&amp;#160; I found the tool simple to use and it's really a four step process.&amp;#160; The web page created for the analysis has a plethora of info and links to the codeplex site for more info. Sweet.&lt;/p&gt;  &lt;p&gt;Really in the end it's just a time saver.&amp;#160; After collecting performance data on a server you need to analyze that data.&amp;#160; This entails opening the log file, adding the counters that you've collected and finding out if any of the counters are above any thresholds (deemed by you).&amp;#160; This tool does that analysis for you.&amp;#160; It comes out-of-the-box with some predefined thresholds defined as high according to the MSFT consulting/development but those can be adjusted to whatever suits your fancy.&lt;/p&gt;  &lt;p&gt;Once you get everything installed its time to do some analysis.&amp;#160; It comes with some threshold templates for AD, System Overview, IIS, SQL, Exchange, etc (see pic)&amp;#160; You point the app at the performance log you've captured during your perf issue, choose a threshold template to your liking, answer some basic questions, add the form and execute:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/PALtoolscreenshot.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once it completes it generates a webpage with the analysis information you desire.&amp;#160; The webpage shows you alerts for activity that it finds suspect and graphs for the different areas of interest.&amp;#160; I can't paste all the pics/info in here as it is quite lengthy depending on the interval you provide.&amp;#160; But this definitely seems like a tool that could be handy down the road.&amp;#160; Looking at the web page it looks really similar to SPA, but with graphs provided via the Office Web Components add-in.&amp;#160; For example here is how I could find out LDP was using too much CPU:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;First I found the alert which said that something was being excessive and I clicked on the link (sorry for the blurriness):&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Alert.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;Then I found LDP consuming the CPU:&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Procc.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Add it to your bag of tricks, hope it helps.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4de9e92d-c4d0-4662-94c8-7dc197675fae" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows%202003" rel="tag"&gt;Windows 2003&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows%202008" rel="tag"&gt;Windows 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Perfmon" rel="tag"&gt;Perfmon&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Performance" rel="tag"&gt;Performance&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2887011" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+2003/default.aspx">Windows 2003</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Metrics/default.aspx">Metrics</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Cool+Tools/default.aspx">Cool Tools</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/CPU/default.aspx">CPU</category></item><item><title>Some docs to help get you ready for Windows 2008.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/11/some-docs-to-help-get-you-ready-for-windows-2008.aspx</link><pubDate>Tue, 12 Feb 2008 01:23:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2871967</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2871967.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2871967</wfw:commentRss><description>&lt;p&gt;Yes you are going to want Windows 2008 in your shop.&amp;#160; We've been running 2k8 for over two year sin production and I'm very proud of the product we're shipping shortly.&amp;#160; Some of you will want to start thinking about what's new in the OS, what has changed, performance, and deployment.&amp;#160; Here are some docs/links that will help get you started.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=173E6E9B-4D3E-4FD4-A2CF-73684FA46B60&amp;amp;displaylang=en" target="_blank"&gt;Changes in Functionality from Windows Server 2003 with SP1 to Windows Server 2008&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This document describes new features and technologies, which were not available in Windows Server 2003 with Service Pack 1 (SP1), that will help to&amp;#160;&amp;#160;&amp;#160;&amp;#160; increase the security of computers running Windows Server 2008, increase productivity, and reduce administrative overhead.      &lt;br /&gt;These topics apply to the next release of Windows Server 2008, based on the functionality expected to be included in the Beta releases in 2007. They do not describe all of the changes that are included in Windows Server 2008. Instead, they highlight changes that will potentially have the greatest impact on your use of Windows Server 2008 and provide references to additional information.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx" target="_blank"&gt;Performance Tuning Guidelines for Windows Server 2008&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#8226;Performance Tuning for Server Hardware&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Networking Subsystem&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Storage Subsystem&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Web Servers&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for File Servers&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Active Directory Servers&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Terminal Server&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Terminal Server Gateway&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for File Server Workload (NetBench)&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Network Workload (NTttcp)&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for Terminal Server Knowledge Worker Workload&lt;/p&gt;    &lt;p&gt;&amp;#8226;Performance Tuning for SAP Sales and Distribution Two-Tier Workload&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=518d870c-fa3e-4f6a-97f5-acaf31de6dce&amp;amp;DisplayLang=en" target="_blank"&gt;Windows Server 2008 Step-by-Step Guides (updated 02/08/2008)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;All other inquiries head to the T&lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/bab0f1a1-54aa-4cef-9164-139e8bcc44751033.mspx?mfr=true" target="_blank"&gt;echnical Library for 2k8&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;BTW when you install 2k8 and notice that in WinVER or System Properties it shows SP1, don't be alarmed this is by design.&amp;#160; Vista SP1 and Win2k8 were developed in parallel, so fixes in the code were included in both versions.&amp;#160; This isn't the first time, when we rolled Windows 2003 x64 edition out the door it went as SP1 too...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/Capturez.jpg" /&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fa140bce-bd9a-4b4d-889f-9b6ec90ffe7e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/windows%202008" rel="tag"&gt;windows 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2871967" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Metrics/default.aspx">Metrics</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/CPU/default.aspx">CPU</category></item><item><title>Does my CPU support hardware virtualization (Hyper-V)</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/01/26/does-my-cpu-support-hardware-virtualization-hyper-v.aspx</link><pubDate>Sat, 26 Jan 2008 08:37:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2782749</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2782749.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2782749</wfw:commentRss><description>&lt;P&gt;As the &lt;A href="http://www.microsoft.com/mscorp/execmail/2008/01-21virtualization.mspx" target=_blank mce_href="http://www.microsoft.com/mscorp/execmail/2008/01-21virtualization.mspx"&gt;talk about hardware virtualization heats up&lt;/A&gt; from Microsoft and others you might find yourself wondering if the current hardware you're running supports it.&amp;nbsp; My HP xw9300 workstation doesn't (older AMD Opterons), but it looks like my xw8400 does (Intel Xeon 5150s).&lt;/P&gt;
&lt;P&gt;&lt;IMG height=301 src="http://i149.photobucket.com/albums/s62/brad9987/VIRT.jpg" width=394 mce_src="http://i149.photobucket.com/albums/s62/brad9987/VIRT.jpg"&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;More info on programs you can use (including the one above) found here: &lt;A title=http://blogs.msdn.com/volkerw/archive/2007/05/21/hardware-virtualization-check-utility.aspx href="http://blogs.msdn.com/volkerw/archive/2007/05/21/hardware-virtualization-check-utility.aspx" mce_href="http://blogs.msdn.com/volkerw/archive/2007/05/21/hardware-virtualization-check-utility.aspx"&gt;http://blogs.msdn.com/volkerw/archive/2007/05/21/hardware-virtualization-check-utility.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblog.infoworld.com/virtualization/archives/2008/01/determine_virtu.html" target=_blank mce_href="http://weblog.infoworld.com/virtualization/archives/2008/01/determine_virtu.html"&gt;Determine Virtualization Readiness in 3 Seconds&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Some other tidbits of info:&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hyper-V requires to be running on a 64bit OS, so do'nt install the x86 version of Wink28 if you want to use it.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Hyper-V (Virtual Server) is a server role in Win2k8, you just add it in server manager&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Buy the addition with Hyper-V if you want to use it&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;You can have 64bit VMs, I threw on Win2k3 x64 and Win2k8 x64 on my box.&lt;/LI&gt;
&lt;LI&gt;Your VMs can see more than one logical proc.&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;At the time of this post the VM had to be Win2k8 as well, downlevel can only see one proc.&amp;nbsp; My x64 Win2k8 VM can see four procs now!&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Have to enable Hardware virtualization in the BIOS as well as DEP, the role will still install but when you try to start the VM you'll hit a problem.&lt;/LI&gt;
&lt;LI&gt;To install the additions the VM has to be running WIn2k3 SP2, if not you might find yourself without a NIC until you get the additions installed.&amp;nbsp; You can add a legacy NIC if you find yourself in this situation.&lt;/LI&gt;
&lt;LI&gt;If you just import an old VM VHD from one of your other servers, make sure its an ACPI-compatible one.&lt;/LI&gt;
&lt;LI&gt;If you are looking to install hyper-v on a server running active directory, stop.&amp;nbsp; You won't be able to boot your DC anymore (see below)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;If you install the Active Directory Domain Services role and use the Active Directory Domain Services Installation Wizard (dcpromo.exe) to configure that role on the same physical computer on which the Hyper-V role is installed, you will receive a STOP error message 7B on the physical computer when you try to start a virtual machine. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;To avoid this issue, do not install Active Directory Domain Services and Hyper-V on the same physical computer.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/windowsserver2008/virtualization/default.mspx" target=_blank mce_href="http://www.microsoft.com/windowsserver2008/virtualization/default.mspx"&gt;Microsoft Hyper-V site&lt;/A&gt; to find out more info if you like.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Update:&lt;/STRONG&gt;&amp;nbsp; Looks like AMD has released a tool help out here: &lt;A href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/31/amd-releases-hyper-v-check-tool.aspx"&gt;http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/31/amd-releases-hyper-v-check-tool.aspx&lt;/A&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a0394130-7e60-487a-95b2-6d3802fabb57 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Hyper-V" rel=tag mce_href="http://technorati.com/tags/Hyper-V"&gt;Hyper-V&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Windows%202008" rel=tag mce_href="http://technorati.com/tags/Windows%202008"&gt;Windows 2008&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Virtualization" rel=tag mce_href="http://technorati.com/tags/Virtualization"&gt;Virtualization&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2782749" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/CPU/default.aspx">CPU</category></item></channel></rss>