<?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 : DS</title><link>http://blogs.technet.com/brad_rutkowski/archive/tags/DS/default.aspx</link><description>Tags: DS</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>NTDS performance counters missing</title><link>http://blogs.technet.com/brad_rutkowski/archive/2009/03/19/ntds-performance-counters-missing.aspx</link><pubDate>Fri, 20 Mar 2009 00:28:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3215419</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/3215419.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=3215419</wfw:commentRss><description>&lt;p&gt;Thought I’d doc this for any others who run into this issue.&amp;#160; I had to demote/promote a machine this morning and when it finished promoting I found it was missing all the NTDS\* counters in perfmon.&amp;#160; &lt;/p&gt;  &lt;p&gt;I ran LODCTR /Q and saw that it looked wrong:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;C:\Windows\system32&amp;gt;lodctr /q:NTDS     &lt;br /&gt;Performance Counter ID Queries [PERFLIB]:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Base Index: 0x00000737 (1847)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Counter Text ID: 0x00001792 (6034)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Help Text ID: 0x00001793 (6035)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Looking into it further I found it was missing the whole performance key:&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Performance&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once I found that, I exported the performance registry key from another domain controller and imported to the server missing the values and ran LODCTR /R and then the counters were back where they belonged…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;C:\Windows\system32&amp;gt;lodctr /q:NTDS     &lt;br /&gt;Performance Counter ID Queries [PERFLIB]:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Base Index: 0x00000737 (1847)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Counter Text ID: 0x00001794 (6036)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Help Text ID: 0x00001795 (6037) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;[NTDS] Performance Counters (Enabled)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DLL Name: %systemroot%\system32\ntdsperf.dll      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Open Procedure: OpenNtdsPerformanceData      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Collect Procedure: CollectNtdsPerformanceData      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Close Procedure: CloseNtdsPerformanceData      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; First Counter ID: 0x000009DE (2526)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Counter ID: 0x000009DE (2526)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; First Help ID: 0x000009DF (2527)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Last Help ID: 0x000009DF (2527)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3215419" 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></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>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>Supported upgrades for domain controllers to Windows 2008 (Melting Pot in CorpNet)</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/01/24/supported-upgrades-for-domain-controllers-to-windows-2008-melting-pot-in-corpnet.aspx</link><pubDate>Thu, 24 Jan 2008 07:00:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2774450</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2774450.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2774450</wfw:commentRss><description>&lt;p&gt;Currently we are running Win2k3 SP1, R2, SP2, Win2k8 Beta3, RC0, RC1, and RTM Escrow idomain controllers in production...&amp;#160; Since we're running some downlevel servers in the environment and I was interested in what is supported to be upgraded to Windows 2008 when we sign off and the the DVDs start getting pressed.&amp;#160; Luckily a mail came by on one of our discussion aliases that has the details I (we) desire.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can have DCs with down-level OS down to Windows 2000 SP4 in the same forest along with WS2008 DCs. &lt;/li&gt;    &lt;li&gt;This means you can have forests with a mix of WS2008, WS2003 SP2, WS2003 R2, WS2003 SP1 and Win2K SP4 (please have in mind that this depends on the forest and domain functional levels).&lt;/li&gt;    &lt;li&gt;If you have a down-level only forest (i.e. no WS2008) and want to introduce a new WS2008 you will need to run ADPrep (ForestPrep and DomainPrep).&lt;/li&gt;    &lt;li&gt;You can run ADPrep having down-level OS down to Win2K SP4, you don&amp;#8217;t need to have all of them with WS03 SP2. &lt;/li&gt;    &lt;li&gt;However if you are going to in-place upgrade any of the down-level DCs, these have to be at least WS2003 SP1.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Refs:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/9c91be5f-df14-40b2-b176-2b1852a51e611033.mspx"&gt;Upgrading Active Directory Domains to Windows Server 2008 AD DS Domains&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/dfc01459-dc5f-41a6-89b6-7fad6814669c1033.mspx?mfr=true"&gt;What Service Packs can be upgraded to Windows 2008&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2774450" 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>What do you say you DO here?</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/12/21/what-do-you-say-you-do-here.aspx</link><pubDate>Fri, 21 Dec 2007 22:21:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2667686</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2667686.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2667686</wfw:commentRss><description>&lt;p&gt;Just &lt;a title="Pingback" href="http://msmvps.com/blogs/ad/archive/2007/07/27/windows-server-2008-component-poster.aspx" target="_blank"&gt;noticed&lt;/a&gt; the AD jigsaw poster has been &lt;a href="http://blogs.msdn.com/joev/archive/2007/12/22/server-wall-posters-to-adorn-your-walls.aspx" target="_blank"&gt;updated&lt;/a&gt; for 2k8.&amp;nbsp; So next time your boss asks you "What do say you do here?", don't reply with I'm a people person!&amp;nbsp; Do the following:&lt;/p&gt; &lt;p&gt;1) Download one of the jigsaw posters from &lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&amp;amp;DisplayLang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt; &lt;p&gt;2) Print out on plotter&lt;/p&gt; &lt;p&gt;3) Give to boss&lt;/p&gt; &lt;p&gt;4) Ask for raise&lt;/p&gt; &lt;p&gt;We used to have one of these hanging outside &lt;a title="Puhl" href="http://imav8n.wordpress.com/" target="_blank"&gt;our&lt;/a&gt; office, and as the rotating bosses would come by to see what we did, we'd just point them to the poster.&amp;nbsp; Wonder where that thing is now...&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:950e689b-c5c4-407b-8c6d-d747f4c645a1" 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/Active%20Directory" rel="tag"&gt;Active Directory&lt;/a&gt;, &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=2667686" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Party+in+the+back/default.aspx">Party in the back</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></item><item><title>Booting into DSRM in Windows 2008</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/10/01/booting-into-dsrm-in-windows-2008.aspx</link><pubDate>Mon, 01 Oct 2007 23:40:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2086654</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2086654.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2086654</wfw:commentRss><description>&lt;p&gt;Since the boot.ini file no longer exists in Windows 2008, the way to boot into directory service repair mode has changed.&amp;nbsp; You can setup the OS to boot to DSRM a couple of ways as shown below.&amp;nbsp; I'd also mention that to due offline defrags and other NTDSUTIL commands against the database you can now just stop NTDS from the services.msc snap-in.&amp;nbsp;&amp;nbsp; So the main reason to get into DSRM now would be to do an auth-restore of an object.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;GUI:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Type MSCONFIG in the start men and go the the boot tab.&lt;/p&gt; &lt;p&gt;&lt;img src="http://i149.photobucket.com/albums/s62/brad9987/DSRM.jpg"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;CMD prompt:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;C:\Users\Administrator.BRAD-DC-04&amp;gt;bcdedit  /set safeboot dsrepair &lt;p&gt;The operation completed successfully. &lt;p&gt;&lt;em&gt;To restart the server normally, type the following command:&lt;/em&gt;  &lt;p&gt;C:\Users\Administrator.BRAD-DC-04&amp;gt;bcdedit /deletevalue safeboot&lt;/p&gt; &lt;p&gt;The operation completed successfully.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2086654" 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>Webcast coming up:  Looking cool in front of your AD peers in Win2k8</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/09/19/webcast-coming-up-looking-cool-in-front-of-your-ad-peers-in-win2k8.aspx</link><pubDate>Wed, 19 Sep 2007 21:12:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1995770</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1995770.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1995770</wfw:commentRss><description>&lt;p&gt;Just got back from vacation and will start getting the posts going again.&amp;nbsp; Just wanted to mention a webcast coming up from AD administration in Windows 2008 that is going to play next Thursday the 27th.&amp;nbsp; If you got some time to kill, I'd make this session for sure.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032347475&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target="_blank"&gt;TechNet Webcast: Extending Windows Server 2008 Active Directory Management with Windows Features (Level 300)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Event Viewer:&lt;/u&gt;&lt;/strong&gt; &lt;p&gt;Join us to learn about the capabilities in the Windows Vista and Windows Server 2008 operating systems that enable new management scenarios. We explain how system administrators of the Active Directory directory service can use these capabilities to ease their day-to-day life and ensure smoother deployments and monitoring of their infrastructures. In this session, we briefly review the Microsoft WS-Management implementation under Windows and discuss how, as an Active Directory administrator, you can use its new set of features securely. Through practical examples, we demonstrate how the new Windows Remote Management (WinRM), Windows Remote Shell, and event forwarding features can address management needs for Active Directory Server Core deployment and Active Directory monitoring. Attend this presentation to discover how you can accomplish these tasks with a set of features directly available from the operating system!  &lt;p&gt;&amp;nbsp; &lt;p&gt;-Brad&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:8df9ffa3-7143-4fd6-9746-f00ae4a14066" contenteditable="false" 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/Webcast" rel="tag"&gt;Webcast&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Technet" rel="tag"&gt;Technet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1995770" 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>Republish printers easily on a print server to Active Directory.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/06/25/republish-printers-easily-on-a-print-server-to-active-directory.aspx</link><pubDate>Mon, 25 Jun 2007 22:16:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1359205</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1359205.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1359205</wfw:commentRss><description>&lt;p&gt;&lt;img height="120" src="http://www.microsoft.com/mspress/books/sampchap/4754/0735611580-2.gif" width="186"&gt; &lt;/p&gt; &lt;p&gt;Printers can get pruned from the directory for many reasons.&amp;nbsp; The way it is supposed to work is if the printer is stale then a DC will remove the print queue object from the directory after trying to contact it 3 times at 8 hour intervals (default).&amp;nbsp; This also means that if a DC can't net view the print server for a 24 hour period it could potentially&amp;nbsp;prune the print queue objects too.&amp;nbsp; This can happen if one of your&amp;nbsp;domain controllers&amp;nbsp;are in a "bad" state where its online but not functioning as expected.&amp;nbsp;&lt;/p&gt; &lt;p&gt;So what can you do once the print queue objects have been removed?&amp;nbsp; Well to easily republish them you can create a simple script like below.&amp;nbsp;You can then save this as a vbs and then use it to republish the printers in the directory.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;If WScript.Arguments.Count &amp;lt;&amp;gt; 1 then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPC = GetPC()&lt;br&gt;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPC = wscript.arguments(0) &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Set objWMIService = GetObject("winmgmts:\\" &amp;amp; strPC &amp;amp; "\root\cimv2")&lt;br&gt;Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)&lt;br&gt;For Each objItem in colItems&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo "ShareName: " &amp;amp; objItem.ShareName&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objItem.Published = False&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objItem.Put_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo "Published: " &amp;amp; objItem.Published&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objItem.Published = True&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objItem.Put_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo "Published: " &amp;amp; objItem.Published&lt;br&gt;Next &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;function GetPC()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPC = InputBox ("What Server would you like republish the printers on?", "Servername")&lt;br&gt;End function&lt;/font&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To work around this you could do a number of things:&lt;/p&gt; &lt;p&gt;1) Fix the network connectivity issue&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;a) Find out what Dc is not working as expected and resolve.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;2) Disable the spooler service on your DCs&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;a) Could have lots of stale printers to manually clean up if you have printers in flux in your environment&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;3) Disable pruning via GPO&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;a) Set the Directory Pruning Interval value to Never via GPO&lt;/p&gt; &lt;p&gt;b) There will be stale printers in the directory and they will need to be manually cleaned up.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;4) You can allow the printers to be pruned and set the Check Published State policy for specific (or all) print servers in the domain. This policy causes the&amp;nbsp;&amp;nbsp;&amp;nbsp; spooler on a print server to periodically verify that its published printers exist in Active Directory. By default, the Spooler service verifies the state of published printers only when it is started. &lt;blockquote&gt; &lt;p&gt;a) Because the widespread use of this policy on many computers in the domain (that are constantly checking the publication status of their PrintQueue objects in Active Directory) can adversely affect network performance. Microsoft recommends that you set this policy only on the main production print servers.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;If you want to know more about how printers are published and pruned &lt;a title="Printer Publishing and Pruning" href="http://www.windowsitpro.com/Windows/Articles/ArticleID/41104/pg/1/1.html" target="_blank"&gt;this&lt;/a&gt; is a thorough article on the subject.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1359205" 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/DS/default.aspx">DS</category></item><item><title>Windows Server 2008 Beta3:  Can and RODC be a GC?</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/05/30/windows-server-2008-beta3-can-and-rodc-be-a-gc.aspx</link><pubDate>Wed, 30 May 2007 20:40:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1105343</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1105343.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1105343</wfw:commentRss><description>&lt;p&gt;Answer: Yes.&lt;/p&gt; &lt;p&gt;If you're looking to deploy some RODCs during the B3 timeframe then it would be a good idea to read through this first:&lt;/p&gt; &lt;p&gt;&lt;a title="RODCs baby!" href="http://technet2.microsoft.com/windowsserver2008/en/library/ea8d253e-0646-490c-93d3-b78c5e1d9db71033.mspx?mfr=true" target="_blank"&gt;Step-by-Step Guide for Read-Only Domain Controller in Windows Server 2008 Beta 3&lt;/a&gt;&lt;/p&gt; &lt;p&gt;One of the gotchas before an RODC will advertise as a GC in your domain is that domainprep needs to be run in each domain, regardless if there are Win2k8 DCs in the domain or not:&lt;/p&gt; &lt;p&gt;&lt;em&gt;If the RODC will be a global catalog server, you must also run &lt;b&gt;adprep /domainprep&lt;/b&gt; in all domains in the forest, regardless of whether the domain runs a Windows Server&amp;nbsp;2008 domain controller. When you run &lt;b&gt;adprep /domainprep&lt;/b&gt; in all domains, the RODC can replicate global catalog data from all domains in the forest and then advertise as a global catalog server.&lt;/em&gt; &lt;p&gt;If you haven't looked at RODCs for your branch office deployments for the future now is a good time to do so.&amp;nbsp; I think one of the best things coming for Win2k8 is the ability to run RODCs on Server Core, reducing the attack surface and patching requirements and only&amp;nbsp;caching the passwords for the users needed in the branch site instead of all passwords for the domain. &lt;p&gt;The step-by-step guide I pointed out above has a plethora of info on RODCs, what they can do, and how to set them up, and how to take advantage of their new features.&amp;nbsp; Do yourself a favor and read it/reference it, if your a DS Admin.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:cde3b4b8-e148-4979-bcc5-dfa1a2854a85" contenteditable="false" 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/DS" rel="tag"&gt;DS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Directory%20Service" rel="tag"&gt;Directory Service&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%20Server%202008" rel="tag"&gt;Windows Server 2008&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Longhorn" rel="tag"&gt;Longhorn&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1105343" 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/DS/default.aspx">DS</category></item><item><title>Sync a partition from one DC to another DC when they don't have a direct replication link.  And other Repadmin fun...</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/04/20/sync-a-partition-from-one-dc-to-another-dc-when-they-don-t-have-a-direct-replication-link-and-other-repadmin-fun.aspx</link><pubDate>Sat, 21 Apr 2007 01:43:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:798654</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/798654.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=798654</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;REPADMIN /ADD&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I've shown you the beauty of REPADMIN /REPLSUM * /BYSRC /BYDEST /SORT:ERROR to easily find out the largest replication deltas in your forest.&amp;nbsp; Lets take a look at a couple of other things you can do with repadmin, that I use quite a bit.&lt;/p&gt; &lt;p&gt;When I was running the DCs, it was not an uncommon occurrence for me to investigate and troubleshoot and issue locally here in Redmond even though the user account that was affected was located on the other side of the world.&amp;nbsp; Why?&amp;nbsp; Because time is money, and I like low latency when I'm TS'ing to a DC, or poking around in the directory over the network.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Well we could wait a couple of hours for the forest to converge, but usually that person waiting for you to fix the error is at a work stoppage until it is fixed, so what can we do?&lt;/p&gt; &lt;p&gt;We can sync two DCs that are not normally replication partners!&amp;nbsp; Disclaimer:&amp;nbsp; Even though I used this technique for over two years in production without issue, I make no guarantees.&lt;/p&gt; &lt;p&gt;First off you have to open the wonderful world of experthelp: repadmin /experthelp.&amp;nbsp; We're looking for the add switch but you can see there is other fun commands in here for removing lingering objects and rehosting partitions.&lt;/p&gt; &lt;p&gt;Here's the command:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;repadmin /add dc=dom,dc=forest,dc=test JAPAN-DC-01.dom2.forest.test REDMOND-DC-01.dom.forest.test /readonly&lt;/font&gt;&lt;/p&gt; &lt;p&gt;This will create a one-time replication link between the two DCs, sync the partition I've specified, and then delete the replication link.&amp;nbsp; If you're syncing a GC partition, then use the /readonly switch which I've done above.&amp;nbsp; I'm sure you'll find a use for this, if your managing a large enterprise with a lot of DCs.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;REPADMIN /SYNCALL&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Another one of my favorites: Repadmin /syncall /edjQSA (case sensitive)&lt;/p&gt; &lt;p&gt;What if you wanted to sync every partition on a DC/GC with each of its adjacent partners, no matter if those partners were local or over wan links?&amp;nbsp; Basically you made some changes and now you want to sync them up so that you don't have to wait for replication?&amp;nbsp; If you run "Repadmin /syncall /?" you can see the syntax breakdown of the command.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Before sync, you can see the delta for this Dc and it's partners is ~39 minutes.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;repadmin /replsum BRAD-dc-01&lt;br&gt;Replication Summary Start Time: 2007-04-20 15:32:07 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Beginning data collection for replication summary, this may take awhile:&lt;br&gt;.... &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Source DSA largest delta fails/total %% error&lt;br&gt;SONJA-DC-01 39m:22s 0 / 4 0&lt;br&gt;SONJA-DC-04 39m:22s 0 / 11 0&lt;br&gt;BRAD-DC-02 39m:22s 0 / 13 0&lt;br&gt;BRAD-DC-14 39m:22s 0 / 5 0&lt;br&gt;BRAD-DC-15 39m:22s 0 / 13 0&lt;br&gt;BRAD-DC-27 39m:22s 0 / 13 0&lt;br&gt;BRAD-DC-36 39m:22s 0 / 13 0&lt;br&gt;BRAD-DC-38 21m:52s 0 / 13 0 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Destination DSA largest delta fails/total %% error&lt;br&gt;BRAD-DC-01 39m:22s 0 / 85 0&lt;/font&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Use the command to sync&lt;/em&gt;&lt;/strong&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;repadmin /syncall BRAD-dc-01 /edjQSA&lt;br&gt;Syncing all NC's held on BRAD-dc-01.&lt;br&gt;Syncing partition: DC=DomainDnsZones,DC=red,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=ForestDnsZones,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=red,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: CN=Schema,CN=Configuration,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: CN=Configuration,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=midway,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=afr,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=sp,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=eu,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=fur,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=st,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=nwd,DC=dom,DC=forest,DC=test &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Syncing partition: DC=can,DC=dom,DC=forest,DC=test&lt;/font&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Now you can see the delta for all the partners is near zero.&lt;/em&gt;&lt;/strong&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;repadmin /replsum BRAD-dc-01&lt;br&gt;Replication Summary Start Time: 2007-04-20 15:32:20 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Beginning data collection for replication summary, this may take awhile:&lt;br&gt;.... &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Source DSA largest delta fails/total %% error&lt;br&gt;SONJA-DC-01 :03s 0 / 4 0&lt;br&gt;SONJA-DC-04 :03s 0 / 11 0&lt;br&gt;BRAD-DC-02 :04s 0 / 13 0&lt;br&gt;BRAD-DC-14 :04s 0 / 5 0&lt;br&gt;BRAD-DC-15 :04s 0 / 13 0&lt;br&gt;BRAD-DC-27 :03s 0 / 13 0&lt;br&gt;BRAD-DC-36 :04s 0 / 13 0&lt;br&gt;BRAD-DC-38 :04s 0 / 13 0 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Destination DSA largest delta fails/total %% error&lt;br&gt;BRAD-DC-01 :05s 0 / 85 0&lt;/font&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:8a8ed768-cda3-4a93-9736-b13e9f18db96" contenteditable="false" 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/Active%20Directory" rel="tag"&gt;Active Directory&lt;/a&gt;, &lt;a href="http://technorati.com/tags/DS" rel="tag"&gt;DS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%202003" rel="tag"&gt;Windows 2003&lt;/a&gt;, &lt;a href="http://technorati.com/tags/AD" rel="tag"&gt;AD&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=798654" 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></item><item><title>New Dcdiag switches for Windows 2003 SP2</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/03/12/new-dcdiag-switches-for-windows-2003-sp2.aspx</link><pubDate>Mon, 12 Mar 2007 19:17:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:690233</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/690233.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=690233</wfw:commentRss><description>&lt;p&gt;If you want to see what else is coming your way fro SP2 check out this &lt;a title="SP2 Baby!" href="http://technet2.microsoft.com/WindowsServer/en/library/c7710b24-4c7f-42ce-b5ba-12ed5284f9271033.mspx?mfr=true" target="_blank"&gt;link&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;This is nice, because we all know when you scan your enterprise for the DNS tests in can be a bit verbose....&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;New options have been added to the Dcdiag.exe Domain Name System (DNS) tests. These new options are &lt;b&gt;/x&lt;/b&gt; and &lt;b&gt;/xsl:xslfile.xsl&lt;/b&gt; or &lt;b&gt;/xsl:xsltfile.xslt&lt;/b&gt;. They generate XML tags when the tests are run with the /test:dns option. You can use this new output mechanism to more easily parse the verbose log that the DNS tests generate. &lt;p&gt;To direct the XML output file to XMLLog.xml, use the &lt;b&gt;/x&lt;/b&gt; option. For example:  &lt;p&gt;&lt;b&gt;dcdiag /test:dns /v /e /x:XMLLog.xml&lt;/b&gt; &lt;p&gt;Note: The &lt;b&gt;/x&lt;/b&gt;: option only works with the &lt;b&gt;/test:dns&lt;/b&gt; option. &lt;p&gt;To add the processing instructions that reference the specified style sheet, use the &lt;b&gt;/xsl:xslfile.xsl&lt;/b&gt; or &lt;b&gt;/xsl:xsltfile.xslt&lt;/b&gt; option. For example:  &lt;p&gt;&lt;b&gt;dcdiag /test:dns /v /e /x:XMLLog.xml; /xsl:xslfile.xsl&lt;/b&gt; &lt;p&gt;&lt;b&gt;dcdiag /test:dns /v /e /x:XMLLog.xml; /xsl:xsltfile.xslt&lt;/b&gt; &lt;p&gt;Note: The &lt;b&gt;/xsl:xslfile.xsl&lt;/b&gt; or &lt;b&gt;/xsl:xsltfile.xslt&lt;/b&gt; option only works with the &lt;b&gt;/test:dns /x:XMLLog.xml&lt;/b&gt; option. &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:0d51ab70-edee-4838-a22a-1d85f4b9bab2" contenteditable="false" 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/AD" rel="tag"&gt;AD&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Directory%20Service" rel="tag"&gt;Directory Service&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=690233" 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></item><item><title>Can you have a mix of 32 and 64 bit domain controllers?</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/02/08/can-you-have-a-mix-of-32-and-64-bit-domain-controllers.aspx</link><pubDate>Thu, 08 Feb 2007 20:43:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:631102</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/631102.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=631102</wfw:commentRss><description>&lt;p&gt;I see this questions come up quite a bit about the interoperability of x86 and x64 domain controllers.&amp;nbsp; Does replication work?&amp;nbsp; Do the tools cross over well?&amp;nbsp; Any gotchas that we should know about? Etc.&amp;nbsp; Well I'm here to tell you that here at Microsoft we've been running a mix of 32 and 64 bit domain controllers since beta Wk23 SP1, and I can report back to you "Don't worry about interoperability of the domain controllers".&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Replication works as expected.&lt;/p&gt; &lt;p&gt;Remote management tools connect the same.&lt;/p&gt; &lt;p&gt;When you TS everything feels the exact same.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You wont even know if its x64 or x86 unless you open up task manager and check out how much memory LSASS is using...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;When I have engagements with customers, they ask if they should upgrade to x64 in their environment.&amp;nbsp; My response is: that depends.&amp;nbsp; Should you buy x64 compatible hardware?&amp;nbsp; Yes, the cost difference is not that drastically different and this prepares you to install an x64 OS in the future.&amp;nbsp; At the same time, an x86 OS installs and works as expected on the hardware, although you don't get all the nice benefits of running in true x64.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Do you need to spend tons of extra memory so that the DIT can be cached?&amp;nbsp; That depends, and you can read&amp;nbsp;this &lt;a title="Brian Puhl's entry on x64 DCs at MSFT." href="http://blogs.technet.com/bpuhl/archive/2006/09/12/455811.aspx" target="_blank"&gt;article&lt;/a&gt; for an explanation.&lt;/p&gt; &lt;p&gt;-B&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=631102" 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></item><item><title>How to frisk a DC when people are complaining of &amp;quot;Authentication Issues&amp;quot;.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2006/12/02/how-to-frisk-a-dc-when-people-are-complaining-of-authentication-issues.aspx</link><pubDate>Sat, 02 Dec 2006 06:22:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:538068</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/538068.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=538068</wfw:commentRss><description>&lt;P&gt;At Microsoft we do quite a bit&amp;nbsp;of &lt;A title=Dogfood href="http://en.wikipedia.org/wiki/Dogfooding" target=_blank mce_href="http://en.wikipedia.org/wiki/Dogfooding"&gt;dogfooding&lt;/A&gt; (imagine that) and in doing so we run into&amp;nbsp; issues in the infrastructure and a lot of the time they crop up as "authentication issues".&amp;nbsp; For example, users can't get to a website, a share, e-mail, etc.&amp;nbsp; The symptoms can be varied and the outcome is the same, angry people at your door (sometimes literally).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So in these situations how can you find out if a DC is misbehaving or give the "all clear" for the directory service and tell them to go look elsewhere?&amp;nbsp; Well here are some of the common things I check and do in this situation.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;/U&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Portqry.exe the ports 389 (LDAP), 3268 (GC), 445 (Microsoft-DS), 139 (NetBIOS), and 88 (Kerberos).&amp;nbsp; This should give us an idea if the basics are working as far as the DC listening as it should.&amp;nbsp; Sometimes I through out a nbtstat -A against the IP of the DC for good measure.&lt;/P&gt;
&lt;P&gt;2) Use Nltest and Tail.exe in tandem.&amp;nbsp; I like to do this remotely so I never actually have to TS (actually that goes for pretty much everything on this site).&amp;nbsp; I run nltest /server:BRAD-DC-01 /dbflag:2080FFFF.&amp;nbsp; This will turn on the netlogon debug logging.&amp;nbsp; You can turn this on the server where authentication issues are happening as well as the DC its pointed to.&amp;nbsp; Then use tail.exe (part of the &lt;A title="Win2k3 Resource Kit" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD"&gt;resource kit&lt;/A&gt; tools) to watch the file in real time.&amp;nbsp; Now you can watch all the stuff go by in the netlogon log, or you can utilize findstr to just look for errors.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Localbin&amp;gt;tail -f \\brad-dc-01\admin$\Debug\Netlogon.log |findstr /i Critical&lt;BR&gt;12/01 18:45:10 [CRITICAL] BRADDOM: NlGetIncomingPassword: server.bradddom.brad.com: cannot LsarQueryTrustedDomainInfoByName 0xc0000034&lt;BR&gt;12/01 18:45:13 [CRITICAL] BRADDOM: NlGetIncomingPassword: server.bradddom.brad.com: cannot LsarQueryTrustedDomainInfoByName 0xc0000034&lt;BR&gt;12/01 18:45:23 [CRITICAL] BRADDOM: NlGetIncomingPassword: Can't NlSamOpenNamedUser for machine3$ 0xc0000064.&lt;BR&gt;12/01 18:45:23 [CRITICAL] BRADDOM: NetrServerAuthenticate: Can't NlGetIncomingPassword for machine3$ 0xc0000064.&lt;BR&gt;12/01 18:45:23 [CRITICAL] Ping from Brad-DC-01 for domain brad-dc-01.BRADDOM.brad.com (null) for (null) on &amp;lt;Local&amp;gt; is invalid since we don't host the named domain.&lt;BR&gt;12/01 18:45:26 [CRITICAL] BRADDOM: NlGetIncomingPassword: Can't NlSamOpenNamedUser for Baller$ 0xc0000064.&lt;BR&gt;12/01 18:45:26 [CRITICAL] BRADDOM: NetrServerAuthenticate: Can't NlGetIncomingPassword for Baller$ 0xc0000064.&lt;/FONT&gt; 
&lt;P&gt;We can then use err.exe (which I mentioned in my blog earlier) to look up some error codes of interest... 
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Debuggers&amp;gt;err 0xc0000064&lt;BR&gt;# for hex 0xc0000064 / decimal -1073741724&lt;BR&gt;STATUS_NO_SUCH_USER ntstatus.h&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;ERROR_DUP_NAME winerror.h&lt;BR&gt;# You were not connected because a duplicate name exists on&lt;BR&gt;# the network. Go to System in Control Panel to change the&lt;BR&gt;# computer name and try again.&lt;BR&gt;# 2 matches found for "0xc0000034"&lt;/FONT&gt; 
&lt;P&gt;3) Net view the server would be a good idea, depending on the error code it might point to different things.&amp;nbsp; For instance if the DC is pinging but not responding to net view, it could be the firewall that you should look into, or perhaps IPSEC. 
&lt;P&gt;4) repadmin commands.&amp;nbsp; I use a few of these to get a feel for if the DC is in sync and everything's cool from a replication standpoint.&amp;nbsp; 
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Localbin&amp;gt;repadmin /replsum brad-dc-01 /bysrc /bydest /sort:error&lt;BR&gt;Replication Summary Start Time: 2006-12-01 18:52:35 &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Beginning data collection for replication summary, this may take awhile:&lt;BR&gt;.... &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Source DC largest delta fails/total %% error&lt;BR&gt;brad-dc-15 01d.11h:07m:03s 8 / 13 61 (1256) The remote system is not available. For information about network troubleshooting, see Windows Help.&amp;nbsp; &lt;FONT color=#808000&gt;//DC offline&lt;/FONT&gt;&lt;BR&gt;Sonja-DC-04 11h:56m:04s 4 / 11 36 (1256) The remote system is not available. For information about network troubleshooting, see Windows Help. &lt;FONT color=#808000&gt;//DC offline&lt;/FONT&gt;&lt;BR&gt;brad-dc-14 42m:39s 0 / 5 0&lt;BR&gt;brad-dc-02 42m:39s 0 / 13 0&lt;BR&gt;brad-dc-03 42m:39s 0 / 13 0&lt;BR&gt;brad-dc-12 50m:51s 0 / 13 0&lt;BR&gt;brad-dc-19 42m:39s 0 / 13 0&lt;BR&gt;brad-dc-25 42m:39s 0 / 13 0&lt;BR&gt;CORP-DC-07 42m:39s 0 / 11 0 &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Destination DC largest delta fails/total %% error&lt;BR&gt;brad-dc-01 01d.11h:07m:03s 12 / 105 11 (1256) The remote system is not available. For information about network troubleshooting, see Windows Help. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Localbin&amp;gt;repadmin /queue brad-dc-01&lt;BR&gt;Queue contains 0 items. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Localbin&amp;gt;repadmin /showoutcalls brad-dc-01&lt;BR&gt;brad-dc-01 has 1 outgoing DRS RPC calls in progress: &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Call type: DRS_CALL_REPLICA_SYNC&lt;BR&gt;Target server: 32577452-1d08-467b-8dd7-2384458f93232._msdcs.bradddom.brad.com&amp;nbsp; &lt;FONT color=#808000&gt;//Outgoing to call to sync to this DC, lets see what it is below&lt;/FONT&gt;&lt;BR&gt;Handle info: bound 1 FromCache 1 InCache 1&lt;BR&gt;Client thread id: 1252&lt;BR&gt;Time call started: 2006-12-01 18:51:15&lt;BR&gt;Call timeout: 5 minutes&lt;BR&gt;Call duration: 1 minutes and 42 seconds &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;C:\Localbin&amp;gt;ping 32577452-1d08-467b-8dd7-2384458f93232._msdcs.bradddom.brad.com &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Pinging Sonja-DC-04 [0000:4898:dc05:32:3456:8a45:4588:4323] from 0000:4898:dc05:23:3456:618c:3cc4:1234 with 32 bytes of data: &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;Reply from 0000:4898:dc05:32:3456:8a45:4588:4323: time&amp;lt;1ms&amp;nbsp; &lt;FONT color=#808000&gt;// It's Sonja-DC-04 from the repadmin report above that's offline for whatever reason we should probably look into that server.&lt;/FONT&gt;&lt;BR&gt;Reply from 0000:4898:dc05:32:3456:8a45:4588:4323: time&amp;lt;1ms&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;5) Check DNS!&amp;nbsp; It seems to come back and bite us once in a while.&amp;nbsp; If SRV records get scavenged or something else is messed up you can see some weird behavior.&amp;nbsp; For instance, you could see a few DC's that are pegged at 100% CPU while the others are not loaded, or clients going to DC's outside of their site.&lt;/P&gt;
&lt;P&gt;6) Use SPA.&amp;nbsp; If you have it installed :)&amp;nbsp; This will give you an idea if its network related that is causing load on the D, if that's your problem.&lt;/P&gt;
&lt;P&gt;7) nltest /sc_query:domain /server:server.&amp;nbsp; I should have mentioned this first.&amp;nbsp; When you get the call that comes in indicating authentication issues with a particular resource, you should find out what that resource has for its secure channel and then start the frisking!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now of course there are many other things you ca check, but this will at least give you peace of mind that a DC is healthy.&amp;nbsp; Other tools include:&amp;nbsp; evnetvwr, dcdiag, netdiag, replmon, NTDS diagnostics, Netmon, etc.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;So what to do when you don't know what DC is messed up?&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Well that's a bit more tricky.&amp;nbsp; Usually the easiest method is to start with the resource that is affected instead of looking for the needle in the haystack.&amp;nbsp; Again though repadmin is QUITE useful with error codes and could give you some clues.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Easiest way to use repadmin to check every DC in the forest?&lt;/P&gt;
&lt;P&gt;REPADMIN /REPLSUM * /BYSRC /BYDEST /SORT:ERROR&lt;/P&gt;
&lt;P&gt;Give it a shot and see if your AD infrastructure is online and healthy!&amp;nbsp; &lt;/P&gt;
&lt;P&gt;As always your comments are welcome...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=0767317B-992E-4b12-91E0-4F059A8CECA8:c5846422-b8dd-418a-9292-55b6b4941cdb contentEditable=false 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/AD" rel=tag mce_href="http://technorati.com/tags/AD"&gt;AD&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Directory%20Service" rel=tag mce_href="http://technorati.com/tags/Directory%20Service"&gt;Directory Service&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Authentication" rel=tag mce_href="http://technorati.com/tags/Authentication"&gt;Authentication&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Domain%20Controller" rel=tag mce_href="http://technorati.com/tags/Domain%20Controller"&gt;Domain Controller&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=538068" 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></item><item><title>Booting a DC into DSRM without touching it locally.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2006/10/20/booting-a-dc-into-dsrm-without-touching-it-locally.aspx</link><pubDate>Fri, 20 Oct 2006 09:02:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:473444</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/473444.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=473444</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Short answer:&lt;/U&gt;&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;/safeboot:DSRepair&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Long answer:&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;So you will run into it often when being an AD admin that you need to boot a DC into DSRM (Directory Service Restore Mode), so what is the easiest way of doing this without having someone stand at the console and hit F8 on reboot and select DSRM from the menu?&lt;/P&gt;
&lt;P&gt;1) Reset the DSRM admin password, because it would really suck if you got to the logon screen and did not know the password to logon.&amp;nbsp; You'll notice below that NTDSUTIL excepts shorthand...&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\&amp;gt;ntdsutil&lt;BR&gt;ntdsutil: set dsrm pas&lt;BR&gt;Reset DSRM Administrator Password: res pa on serve brad-dc-01&lt;BR&gt;Please type password for DS Restore Mode Administrator Account: ************&lt;BR&gt;Please confirm new password: ************&lt;BR&gt;Password has been set successfully.&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2) Configure the boot.ini on the server, first we have to turn off all those attributes: 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;attrib -r -h -a -s &lt;/FONT&gt;&lt;A href="file://brad-dc-01/c$/boot.ini"&gt;&lt;FONT face="Courier New" color=#669966 size=2&gt;\\brad-dc-01\c$\boot.ini&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;3) Now we can adjust the boot.ini remotely, I like to copy the orignal line and put it below my modified line so "just in case" we have our old string handy.&amp;nbsp; All you need to do is add the line /safeboot:DSRepair 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;[boot loader]&lt;BR&gt;default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS&lt;BR&gt;[operating systems]&lt;BR&gt;multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /sos /3GB /usepmtimer /safeboot:DSRepair 
&lt;P&gt;multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /sos /3GB /usepmtimer&amp;nbsp; &amp;lt;-- Original&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;4) Now use shutdown.exe to reboot the machine. 
&lt;P&gt;So you have officially never TS'd to the machine and when it starts pinging again, you'll be in DS repair mode. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterEditableSmartContent id=0767317B-992E-4b12-91E0-4F059A8CECA8:68b4779f-2e71-4051-8c64-1a5b99fb9cc4 contentEditable=false 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/AD" rel=tag&gt;&lt;FONT color=#669966&gt;AD&lt;/FONT&gt;&lt;/A&gt;, &lt;A href="http://technorati.com/tags/active%20directory" rel=tag&gt;&lt;FONT color=#669966&gt;active directory&lt;/FONT&gt;&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Directory%20Service" rel=tag&gt;&lt;FONT color=#669966&gt;Directory Service&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=473444" 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></item><item><title>Dumping out all the DCs in a domain to a txt file</title><link>http://blogs.technet.com/brad_rutkowski/archive/2006/10/17/dumping-out-all-the-dcs-in-a-domain-to-a-txt-file.aspx</link><pubDate>Tue, 17 Oct 2006 20:47:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:471088</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/471088.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=471088</wfw:commentRss><description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Short and sweet way of dumping out the DCs to a txt file, in a script:&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for /f "skip=1" %%a in ('netdom query dc /domain:YOURDOMAIN') do (if %%a == The (echo.) else echo %%a &amp;gt;&amp;gt; test.txt)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;So what's&amp;nbsp;the deal with all the syntax, and how would this be useful?&amp;nbsp; Well if you do simple admin scripting then this is pretty useful, say you want to look at all the DCs in the forest and check to make sure that they all have a certain reg key (sample below), well you could create a simple cmd script in about 5 minutes using the above line and the use reg query to do the dirty work.&amp;nbsp; Hope you can find a use for this, my next post will use this to demonstrate how to do some ghetto time skew monitoring on DCs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Syntax breaks down like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/f &lt;FONT color=#0000ff&gt;is needed because we are using a command to pull the variable %a ('netdom query dc /domain:YOURDOMAIN')&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;"skip=1" &lt;FONT color=#0000ff&gt;We use this so that we skip the first line of the output from netdom query dc which looks like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;C:\localbinx64&amp;gt;netdom query dc /domain:braddom&lt;BR&gt;&lt;STRONG&gt;List of domain controllers with accounts in the domain:&lt;/STRONG&gt;&amp;nbsp; &amp;lt;-- Skips this line.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;BRAD-DC-20&lt;BR&gt;BRAD-DC-22&lt;BR&gt;BRAD-DC-26&lt;BR&gt;BRAD-DC-15&lt;BR&gt;&lt;STRONG&gt;The command completed successfully. &lt;/STRONG&gt;&amp;lt;-- Don't want this either see below on how we get around this.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;(if %%a == The (echo.) else echo %%a &amp;gt;&amp;gt; test.txt) &lt;FONT color=#0000ff&gt;And what's all this?&amp;nbsp; Well its my way of getting around the last line.&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Here is a script that uses this technique and checks the strict replication key, I don't dump&amp;nbsp;the servers&amp;nbsp;to a txt file because hey I dont need to, just save this into a cmd file...&amp;nbsp; Play around to figure our what the findstr does.&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"&gt;@echo off &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;for /f "skip=1" %%a in ('netdom query dc /domain:Yourdomain') do (&lt;BR&gt;if %%a == The (echo.) &lt;BR&gt;echo %%a&lt;BR&gt;reg query \\%%a\HKLM\system\currentcontrolset\services\ntds\parameters /v "strict replication consistency" |findstr /i strict)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Output looks like:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;C:\&amp;gt;strict.cmd&lt;BR&gt;BRAD-DC-20&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-22&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-26&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-05&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-27&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-10&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-11&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-25&lt;BR&gt;ERROR: The system was unable to find the specified registry key or value.&lt;BR&gt;BRAD-DC-24&lt;BR&gt;ERROR: The system was unable to find the specified registry key or value.&lt;BR&gt;BRAD-DC-35&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-04&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-03&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-23&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-14&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-08&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-18&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;BR&gt;BRAD-DC-15&lt;BR&gt;strict replication consistency REG_DWORD 0x1&lt;/FONT&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=0767317B-992E-4b12-91E0-4F059A8CECA8:40b20f0c-cc62-4dc3-84b0-9d9b2bb8232d contentEditable=false 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/Active%20Directory" rel=tag mce_href="http://technorati.com/tags/Active%20Directory"&gt;Active Directory&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Directory%20Service" rel=tag mce_href="http://technorati.com/tags/Directory%20Service"&gt;Directory Service&lt;/A&gt;, &lt;A href="http://technorati.com/tags/AD" rel=tag mce_href="http://technorati.com/tags/AD"&gt;AD&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=0767317B-992E-4b12-91E0-4F059A8CECA8:87a5385e-0e36-4db0-a9c5-23afdd95eac1 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;IceRocket tags: &lt;A href="http://blogs.icerocket.com/search?q=Active%20Directory" rel=tag mce_href="http://blogs.icerocket.com/search?q=Active%20Directory"&gt;Active Directory&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=471088" 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/DS/default.aspx">DS</category></item></channel></rss>