<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Dave&amp;#39;s blog</title><subtitle type="html" /><id>http://blogs.technet.com/b/davguents_blog/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/davguents_blog/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2010-07-20T13:10:00Z</updated><entry><title>The Case of the Unexplained Windows Server 2012 Replica Kerberos Error : 0x8009030C 0x00002EFE</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2013/02/07/the-case-of-the-unexplained-windows-server-2012-replica-kerberos-errors-0x8009030c-0x00002efe.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2013/02/07/the-case-of-the-unexplained-windows-server-2012-replica-kerberos-errors-0x8009030c-0x00002efe.aspx</id><published>2013-02-07T02:50:00Z</published><updated>2013-02-07T02:50:00Z</updated><content type="html">&lt;p&gt;Windows Server 2012 Hyper-V Replica is a new feature that replicates all changes on a virtual machine to a counterpart virtual machine hosted by a different server.&amp;nbsp; Replica overview and deployment considerations can be found &lt;a title="Hyper-V Replica Overview" href="http://technet.microsoft.com/en-us/library/jj134172.aspx" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; This feature is well documented so I'll skip setup and installation and strictly focus on troubleshooting.&amp;nbsp;I received a call from one of my customers who was trying to evaluate this feature for a disaster recovery scenario in test.&amp;nbsp; Unfortunately, any time he attempted to enable this feature&amp;nbsp;an exception was raised.&amp;nbsp; I'd like to share some of the troubleshooting steps we worked though to resolve this case.&amp;nbsp; You may not have this exact issue but the troubleshooting steps should still be applicable.&lt;/p&gt;
&lt;p&gt;The customer environment was fairly straightforward, each Hyper-V host was a domain member and for testing purposes the physical machines themselves were actually located in the same datacenter with gigabit connectivity.&amp;nbsp; Since this feature was new to me, I started out by first setting it up from scratch in a test environment using commodity hardware which consisted of a DC and two member servers.&amp;nbsp;Armed with this new knowledge and walking through deployment guide above I felt more confident continuing in the investigation.&lt;/p&gt;
&lt;p&gt;Domain - REPLICADOMAIN&lt;/p&gt;
&lt;p&gt;DC - REPLICADC&lt;/p&gt;
&lt;p&gt;Hyper-V Hosts - REPLICAHOST1 (Primary), REPLICAHOST2 (Replica)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;In my customer environment, any attempt to enable replication for a VM returned the following error, 100% repro.&amp;nbsp; Replica uses mutual authentication based on Kerberos or mutual authentication based on certificates for the server (not for the user).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2605.ERR.PNG"&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2605.ERR.PNG" alt="" width="467" height="367" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First place to start&amp;nbsp;is reviewing Windows event logs for items of interest.&amp;nbsp; I reviewed the following logs on each machine:&lt;/p&gt;
&lt;p&gt;System, Application, Security and Microsoft-Windows-Hyper-V-VMMS.&amp;nbsp; In the latter, I found:&lt;/p&gt;
&lt;p&gt;02/04/2013 01:12:06 PM&amp;nbsp;&amp;nbsp; Error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITSUSRALAB039.df 32000&amp;nbsp;&amp;nbsp; Microsoft-Windows-Hyper-V-VMMS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NT AUTHORITY\SYSTEM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hyper-V failed to enable replication for virtual machine 'YOURVMNAME': The connection with the server was terminated abnormally (0x00002EFE).&lt;/p&gt;
&lt;p&gt;02/01/2013 03:35:17 PM&amp;nbsp;&amp;nbsp; Error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITSUSRALAB039.df 29212&amp;nbsp;&amp;nbsp; Microsoft-Windows-Hyper-V-VMMS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NT AUTHORITY\SYSTEM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hyper-V failed to authenticate the primary server using Kerberos authentication. Error: The logon attempt failed (0x8009030C)&lt;/p&gt;
&lt;p&gt;You can use the &lt;a title="Microsoft Exchange Server Error Code Look-up tool" href="http://www.microsoft.com/en-us/download/details.aspx?id=985" target="_blank"&gt;Microsoft Exchange Server Error Code Look-up tool&lt;/a&gt; called ERR.exe to help convert the error codes to text.&lt;/p&gt;
&lt;p&gt;err 0x00002EFE&lt;br /&gt;# for hex 0x2efe / decimal 12030&lt;br /&gt;&amp;nbsp; ERROR_INTERNET_CONNECTION_ABORTED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inetmsg.h&lt;br /&gt;&amp;nbsp; ERROR_WINHTTP_CONNECTION_ERROR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; winhttp.h&lt;br /&gt;&amp;nbsp; ERROR_INTERNET_CONNECTION_ABORTED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wininet.h&lt;br /&gt;# 3 matches found for "0x00002EFE"&lt;/p&gt;
&lt;p&gt;err 0x8009030C&lt;br /&gt;# for hex 0x8009030c / decimal -2146893044&lt;br /&gt;&amp;nbsp; SEC_E_LOGON_DENIED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; winerror.h&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The second one was a great tip but unfortunately I didn't put it all together.....&amp;nbsp; so we did more troubleshooting.&lt;/p&gt;
&lt;p&gt;The deployment guide provides specific guidance on what is required for Kerberos delegation and this seemed like a reasonable place to start as well as verifying that all the SPNs are registered.&amp;nbsp; There are a couple ways to verify this information.&amp;nbsp; One would be to use ldifde.exe to dump all the configuration settings of the computer object in Active Directory.&amp;nbsp; The command using ldifde.exe would this:&lt;/p&gt;
&lt;p&gt;[Each command would need to be executed against each Hyper-V hosts computer account]&lt;/p&gt;
&lt;p&gt;C:\&amp;gt;ldifde -d "CN=REPLICAHOST1,CN=Computers,DC=REPLICADOMAIN,DC=com" -f REPLICAHOST1.log&lt;br /&gt;Connecting to "REPLICADC.REPLICADOMAIN.com"&lt;br /&gt;Logging in as current user using SSPI&lt;br /&gt;Exporting directory to file output.log&lt;br /&gt;Searching for entries...&lt;br /&gt;Writing out entries..&lt;br /&gt;2 entries exported&lt;/p&gt;
&lt;p&gt;The command has completed successfully&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To retrieve the SPN's for each computer object we can leverage setspn.exe, the command would be:&lt;/p&gt;
&lt;p&gt;C:\&amp;gt;setspn -L REPLICADOMAIN\REPLICAHOST1&lt;/p&gt;
&lt;p&gt;Registered ServicePrincipalNames for CN=REPLICAHOST1,CN=Computers,DC=REPLICADOMAIN,DC=com:&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;Hyper-V Replica Service/REPLICAHOST1&lt;br /&gt;&amp;nbsp;Hyper-V Replica Service/REPLICAHOST1.REPLICADOMAIN.com&lt;br /&gt;&amp;nbsp;Microsoft Virtual System Migration Service/REPLICAHOST1&lt;br /&gt;&amp;nbsp;Microsoft Virtual System Migration Service/REPLICAHOST1.REPLICADOMAIN.com&lt;br /&gt;&amp;nbsp;Microsoft Virtual Console Service/REPLICAHOST1&lt;br /&gt;&amp;nbsp;Microsoft Virtual Console Service/REPLICAHOST1.REPLICADOMAIN.com&lt;br /&gt;&amp;nbsp;WSMAN/REPLICAHOST1&lt;br /&gt;&amp;nbsp;WSMAN/REPLICAHOST1.REPLICADOMAIN.com&lt;br /&gt;&amp;nbsp;TERMSRV/REPLICAHOST1&lt;br /&gt;&amp;nbsp;TERMSRV/REPLICAHOST1.REPLICADOMAIN.com&lt;br /&gt;&amp;nbsp;HOST/REPLICAHOST1&lt;br /&gt;&amp;nbsp;HOST/REPLICAHOST1.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;Next we need to verify that the computer objects have Kerberos delegated correctly:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8015.delegate.PNG"&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8015.delegate.PNG" alt="" width="432" height="520" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Verify each Hyper-V host can successfully communicate with Active Directory:&lt;/p&gt;
&lt;p&gt;C:\&amp;gt;nltest /SC_VERIFY:REPLICADOMAIN&lt;br /&gt;Flags: b0 HAS_IP&amp;nbsp; HAS_TIMESERV&lt;br /&gt;Trusted DC Name &lt;a href="file://\\REPLICADC.REPLICADOMAIN.com"&gt;\\REPLICADC.REPLICADOMAIN.com&lt;/a&gt;&lt;br /&gt;Trusted DC Connection Status Status = 0 0x0 NERR_Success&lt;br /&gt;Trust Verification Status = 0 0x0 NERR_Success&lt;br /&gt;The command completed successfully&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Verify that KDC is assigning Kerberos tickets:&lt;/p&gt;
&lt;p&gt;C:&amp;gt;klist&lt;/p&gt;
&lt;p&gt;Current LogonId is 0:0x3364e&lt;/p&gt;
&lt;p&gt;Cached Tickets: (7)&lt;/p&gt;
&lt;p&gt;#0&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: krbtgt/REPLICADOMAIN.COM @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x60a10000 -&amp;gt; forwardable forwarded renewable pre_authent name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 15:38:20 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0x2 -&amp;gt; DELEGATION &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#1&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: krbtgt/REPLICADOMAIN.COM @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40e10000 -&amp;gt; forwardable renewable initial pre_authent name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0x1 -&amp;gt; PRIMARY &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#2&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: cifs/REPLICADC.REPLICADOMAIN.com @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40a50000 -&amp;gt; forwardable renewable pre_authent ok_as_delegate name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 15:38:20 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0 &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#3&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: ldap/REPLICADC.REPLICADOMAIN.com @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40a50000 -&amp;gt; forwardable renewable pre_authent ok_as_delegate name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 15:38:20 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0 &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#4&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: RPCSS/REPLICAHOST2 @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40a10000 -&amp;gt; forwardable renewable pre_authent name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 14:39:01 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0 &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#5&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: LDAP/REPLICADC.REPLICADOMAIN.com/REPLICADOMAIN.com @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40a50000 -&amp;gt; forwardable renewable pre_authent ok_as_delegate name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 14:36:53 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0 &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;#6&amp;gt;&amp;nbsp;Client: Administrator @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;Server: RPCSS/REPLICAHOST2.REPLICADOMAIN.com @ REPLICADOMAIN.COM&lt;br /&gt;&amp;nbsp;KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Ticket Flags 0x40a10000 -&amp;gt; forwardable renewable pre_authent name_canonicalize &lt;br /&gt;&amp;nbsp;Start Time: 2/6/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;End Time:&amp;nbsp;&amp;nbsp; 2/7/2013 0:36:21 (local)&lt;br /&gt;&amp;nbsp;Renew Time: 2/13/2013 14:36:21 (local)&lt;br /&gt;&amp;nbsp;Session Key Type: AES-256-CTS-HMAC-SHA1-96&lt;br /&gt;&amp;nbsp;Cache Flags: 0 &lt;br /&gt;&amp;nbsp;Kdc Called: REPLICADC.REPLICADOMAIN.com&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So far everything looks good, no indications of a Kerberos problem (darn it!!).&amp;nbsp; At this point, we moved on to running a network trace from Primary and Replica server simultaneously. In previous versions of Windows, we would need to install Netmon or Wireshark to collect this information.&amp;nbsp; A really great trick is leveraging ETW providers to collect the trace.&lt;/p&gt;
&lt;p&gt;[Commands to start trace]&lt;/p&gt;
&lt;p&gt;ipconfig /flushdns&lt;br /&gt;klist purge&lt;br /&gt;netsh trace start capture = yes&lt;/p&gt;
&lt;p&gt;*repro issue*&lt;/p&gt;
&lt;p&gt;[Commands to stop trace]&lt;/p&gt;
&lt;p&gt;netsh trace stop&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can then copy over the ETL trace files to your local machine and view with Netmon.&amp;nbsp; Unfortunately, the network trace revealed no clues on where to look next.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When in doubt, always turn to&amp;nbsp;&lt;a title="Sysinternals Tools" href="http://live.sysinternals.com/" target="_blank"&gt;Process Monitor&lt;/a&gt;&amp;nbsp; and collect a trace on both sides,&amp;nbsp;I didn't find any Access_Denied or&amp;nbsp;anything else of interest.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At this point, we decided to refocus on the error itself, Kerberos.&amp;nbsp; I enabled Kerberos debug logging on each Hyper-V machine, reproduced the issue and then stopped trace. Here is the command:&lt;/p&gt;
&lt;p&gt;[Start the trace]&lt;br /&gt;Logman.exe start kerb -p "Security: Kerberos Authentication" 0x40043 -o .\kerb.etl -ets&lt;/p&gt;
&lt;p&gt;Run through the Hyper-V wizard and stop traces immediately when exception is raised.&lt;/p&gt;
&lt;p&gt;[Stop the tace]&lt;br /&gt;Logman.exe stop kerb &amp;ndash;ets&lt;/p&gt;
&lt;p&gt;Rename Kerb.etl to include the respective server name from both servers.&amp;nbsp; Unfortunately, in order to convert this trace you will need to engage CTS Support.&amp;nbsp; My trace revealed a clue which really helped:&lt;/p&gt;
&lt;p&gt;Failed to create token: 0xc000015b.&amp;nbsp; Let's convert that:&lt;/p&gt;
&lt;p&gt;err.exe 0xc000015b&lt;/p&gt;
&lt;p&gt;STATUS_LOGON_TYPE_NOT_GRANTED&lt;/p&gt;
&lt;p&gt;To me this has more to do with user rights security rather than Kerberos security.&amp;nbsp; In comparing user right assignments between two environments, I noticed&amp;nbsp;a difference which would lead to a break in&amp;nbsp;the case.&amp;nbsp; From the Local Group Policy Editor, here are the differences:&lt;/p&gt;
&lt;p&gt;[Working - Windows Default]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7268.WORKING.PNG"&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7268.WORKING.PNG" alt="" width="427" height="550" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Broken - Customer environment]&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1072.Broken.PNG"&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1072.Broken.PNG" alt="" width="429" height="551" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we are getting somewhere!&amp;nbsp; So if this is a security issue, shouldn't an event have been written to Security log which I reviewed in the beginning?&amp;nbsp; Sigh... Yes.&amp;nbsp; I simple missed it because I only looked at the Security Log on the Primary machine not the Replica.&amp;nbsp; Going back to the Security Log I found the following event on the Replica Server:&lt;/p&gt;
&lt;p&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Security&lt;br /&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Windows-Security-Auditing&lt;br /&gt;Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/6/2013 12:02:01 PM&lt;br /&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4625&lt;br /&gt;Task Category: Logon&lt;br /&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Information&lt;br /&gt;Keywords:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Audit Failure&lt;br /&gt;User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A&lt;br /&gt;Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLICAHOST2.REPLICADOMAIN.com&lt;br /&gt;Description:&lt;br /&gt;An account failed to log on.&lt;/p&gt;
&lt;p&gt;Subject:&lt;br /&gt;&amp;nbsp;Security ID:&amp;nbsp;&amp;nbsp;NULL SID&lt;br /&gt;&amp;nbsp;Account Name:&amp;nbsp;&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Account Domain:&amp;nbsp;&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Logon ID:&amp;nbsp;&amp;nbsp;0x0&lt;/p&gt;
&lt;p&gt;Logon Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/p&gt;
&lt;p&gt;Account For Which Logon Failed:&lt;br /&gt;&amp;nbsp;Security ID:&amp;nbsp;&amp;nbsp;NULL SID&lt;br /&gt;&amp;nbsp;Account Name:&amp;nbsp;&amp;nbsp;REPLICAHOST1$&lt;br /&gt;&amp;nbsp;Account Domain:&amp;nbsp;&amp;nbsp;REPLICADOMAIN.COM&lt;/p&gt;
&lt;p&gt;Failure Information:&lt;br /&gt;&amp;nbsp;Failure Reason:&amp;nbsp;&amp;nbsp;&lt;span style="background-color: #ffff00;"&gt;The user has not been granted the requested logon type at this machine.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;Status:&amp;nbsp;&amp;nbsp;&amp;nbsp;0xC000015B&lt;br /&gt;&amp;nbsp;Sub Status:&amp;nbsp;&amp;nbsp;0x0&lt;/p&gt;
&lt;p&gt;Process Information:&lt;br /&gt;&amp;nbsp;Caller Process ID:&amp;nbsp;0x0&lt;br /&gt;&amp;nbsp;Caller Process Name:&amp;nbsp;-&lt;/p&gt;
&lt;p&gt;Network Information:&lt;br /&gt;&amp;nbsp;Workstation Name:&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Source Network Address:&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Source Port:&amp;nbsp;&amp;nbsp;-&lt;/p&gt;
&lt;p&gt;Detailed Authentication Information:&lt;br /&gt;&amp;nbsp;Logon Process:&amp;nbsp;&amp;nbsp;Kerberos&lt;br /&gt;&amp;nbsp;Authentication Package:&amp;nbsp;Kerberos&lt;br /&gt;&amp;nbsp;Transited Services:&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Package Name (NTLM only):&amp;nbsp;-&lt;br /&gt;&amp;nbsp;Key Length:&amp;nbsp;&amp;nbsp;0&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This particular customer has a requirement&amp;nbsp;to harden Windows security where possible so instead of simply adding back in all the Windows defaults we granted "Authenticated Users" group the following user right "Access this computer from the network." to both machines&amp;nbsp;which resolved issue!&lt;/p&gt;
&lt;p&gt;Summary:&lt;/p&gt;
&lt;p&gt;This was a great reminder for me to always take the necessary time to review all of the event logs before engaging in advanced troubleshooting.&amp;nbsp; I hope some of the troubleshooting steps we used may be helpful for your future investigations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3550958" width="1" height="1"&gt;</content><author><name>Dave Guenthner [MSFT]</name><uri>http://blogs.technet.com/daveguenthner_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Hyper-V" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Hyper_2D00_V/" /><category term="Live Migration" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Live+Migration/" /><category term="Windows Server 2012" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Windows+Server+2012/" /><category term="Hyper" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Hyper/" /><category term="Replica" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Replica/" /><category term="0x8009030C 0x00002EFE" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/0x8009030C+0x00002EFE/" /></entry><entry><title>Windows Server 2012 Continuous Availability File Server feature</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2012/10/22/windows-server-2012-continuous-availability-file-server-feature.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2012/10/22/windows-server-2012-continuous-availability-file-server-feature.aspx</id><published>2012-10-22T00:57:00Z</published><updated>2012-10-22T00:57:00Z</updated><content type="html">&lt;p&gt;General availability of Windows Server 2012 and Windows 8 is almost here!&amp;nbsp;&amp;nbsp;As a result, I have been slowly absorbing all of the new features so I can better support my customers.&amp;nbsp;&amp;nbsp; Continuous Availability File Server is my favorite feature, so I wanted to take a few minutes to make the case to&amp;nbsp;highligh its importance and potential value.&amp;nbsp; When I think back and consider some of the more difficult cases I have worked on over the years many them are intermittent in nature.&amp;nbsp; One such scenario often was related to highly available file shares on Windows Failover Clusters.&amp;nbsp; The idea is if your business has a network file server the business has defined as mission critical, deploying a solution to optimize uptime and reliability certainly makes sense.&amp;nbsp; Deployment of a stand alone file server does not meet those requirements as a simple hardware failure causes those resources to become unavailable.&amp;nbsp; Back in Windows 2000 (yes, believe it or not I still get calls on it) the product team made Highly Available File Shares to address this issue.&amp;nbsp; The basic idea is cluster creates a Virtual Network Name and IP address and uses a shared disk presented to both nodes so resources can be hosted on either node providing fault tolerance.&amp;nbsp; If Node 1 owns the file share resource group and reboots for patching, the resource fails over to Node 2 within seconds providing highly available solution.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Notice my statement "highly available", I didn't say fault tolerant.&amp;nbsp; You are still getting 99% uptime, but the reality is...your client had an outage.&amp;nbsp; When the group moves the file share, depending on the application, customer may experience an outage.&amp;nbsp; The cluster service, in order to provide high availability, routinely checks for the health of the file share to ensure online status.&amp;nbsp; How does it do that?&amp;nbsp; It routinely performs a directory listing of the file share itself to ensure it's alive and well.&amp;nbsp; There are many reasons why this process may fail, not limited to memory pressure, server service load, file or system filter drivers such as A/V, list goes on and on.&amp;nbsp; Typical errors may look like the following:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Error Messages: ClusSvc Event ID:1055&lt;br /&gt;Cluster File Share resource &amp;lsquo;demo&amp;rsquo; has failed a status check. The error code is 64.&lt;/p&gt;
&lt;p&gt;00000888.00001108::2009/08/04-02:16:09.021 INFO File Share &amp;lt;DEMO&amp;gt;: Retrying FindFirstFile on error 64 for share &lt;a href="file://\\HAFileShare\demo\&amp;quot; data-mce-href=" demo="" hafileshare=""&gt;\\HAFileShare\demo\&lt;/a&gt;*.* !&lt;/p&gt;
&lt;p&gt;ERR 64 = The specified network name is no longer available.&lt;/p&gt;
&lt;p&gt;The question in my mind is &amp;ldquo;Does Windows Server 2012 offer a solution to this problem?&amp;rdquo;&amp;nbsp; The answer is obvious; otherwise I wouldn&amp;rsquo;t have written this blog ;)&lt;/p&gt;
&lt;p&gt;One of the primary design goals the product team&amp;nbsp;had for Windows Server 2012 was to enable workloads such as SQL Server or Hyper-V to use SMB File Server back end storage as primary storage for datacenter scenarios.&amp;nbsp; So what does SQL Server and Hyper-V have to do with the&amp;nbsp;scenario above?&amp;nbsp; Well, part of the framework required for their objective included a major overhaul of SMB to version 3 and to include &amp;ldquo;transparent failover&amp;rdquo;.&amp;nbsp; Windows Server 2012 offers two file server types, the one we all know and love now called &amp;ldquo;Classic&amp;rdquo; file server and "scale-out" file server to support workloads above.&amp;nbsp; The &amp;ldquo;classic&amp;rdquo; file server role provides the ability to failover a file share resource with zero downtime and is the&amp;nbsp;scenario we have been discussing. Scale-out file server is a different discussion for another blog.&lt;/p&gt;
&lt;p&gt;I know what you&amp;rsquo;re thinking&amp;hellip;this is awesome, all I have to do is migrate by backend file server to Windows Server 2012 and I&amp;rsquo;m golden.&amp;nbsp; After all, you&amp;rsquo;re more than half way complete with Windows XP refresh project to Windows 7. Well&amp;hellip; No.&amp;nbsp; This technology, at its core, depends on SMB3 which is included only in Windows Server 2012 and Windows 8.&amp;nbsp; Therefore, you must be running those SKU&amp;rsquo;s to take advantage of this feature.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For me, seeing is believing, so let&amp;rsquo;s move from the academic discussion into real world application and testing.&amp;nbsp; My lab consists of five machines:&lt;/p&gt;
&lt;p&gt;Windows Domain controller (iSCSI target for lab scenario)&lt;br /&gt;Two Node Windows Server 2012 Cluster with shared storage using iSCSI and &amp;ldquo;Classic File Share&amp;rdquo; configured with continuous availability.&lt;br /&gt;One XP Client&lt;br /&gt;One Windows 8 Client&lt;/p&gt;
&lt;p&gt;Test Scenario:&lt;br /&gt;Create continuous available file share and initiate large file transfer from client.&amp;nbsp; During copying process, move resource group containing file share to other node and note any disruptions.&amp;nbsp; We know on XP client, any disruption in availability of file share will immediately return error to user.&amp;nbsp; How will Windows 8 fare?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Add file share role to each cluster node]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8540.FileServerRole.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8540.FileServerRole.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Select file server for general use, scale-out is for Hyper-V or SQL only]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3884.FileServerRoleb.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3884.FileServerRoleb.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Create client access point, the virtual name your clients will use to connect]&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4520.FileServerRolec.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4520.FileServerRolec.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Select a disk resource to host file share]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2806.FileServerRoled.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2806.FileServerRoled.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Complete wizard]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2112.FileServerRolee.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2112.FileServerRolee.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[HAFileShare is my CAP and it&amp;rsquo;s online owned by Node 1]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4113.FileServerRolef.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4113.FileServerRolef.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Create file share for continuous availability]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8738.FileServerRoleg.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8738.FileServerRoleg.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Make a selection, notice the other settings item pending]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0550.FileServerRoleh.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0550.FileServerRoleh.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;[Define share name]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1222.FileServerRolei.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1222.FileServerRolei.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;[Default option foe continuous availability is selected]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1680.FileServerRolej.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1680.FileServerRolej.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Demo Share is online]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4812.FileServerRolek.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/4812.FileServerRolek.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Initiate large file transfer from client to file server on XP, move cluster group containing file share during copy process]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6013.WinXPERR_5F00_crop.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6013.WinXPERR_5F00_crop.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Network trace snippet]&amp;nbsp;&lt;br /&gt;1832&amp;nbsp;1:37:42 PM 10/21/2012&amp;nbsp;17.3213007&amp;nbsp;System&amp;nbsp;HAFILESHARE &amp;nbsp;SMB&amp;nbsp;SMB:C; Nt Create Andx, FileName = \largefile.iso&amp;nbsp;{SMB:639, SMBOverTCP:19, TCP:18, IPv4:17}&lt;br /&gt;245&amp;nbsp;1:37:30 PM 10/21/2012&amp;nbsp;5.6650507&amp;nbsp;System&amp;nbsp;HAFILESHARE&amp;nbsp;&amp;nbsp;&amp;nbsp;SMB&amp;nbsp;SMB:R; Nt Create Andx - NT Status: System - Error, Code = (52) STATUS_OBJECT_NAME_NOT_FOUND&amp;nbsp;{SMB:30, SMBOverTCP:19, TCP:18, IPv4:17}&lt;br /&gt;287&amp;nbsp;1:37:30 PM 10/21/2012&amp;nbsp;5.6650507&amp;nbsp;System&amp;nbsp;HAFILESHARE SMB&amp;nbsp;SMB:R; Nt Create Andx - NT Status: System - Error, Code = (172) STATUS_PIPE_NOT_AVAILABLE&amp;nbsp;{SMB:39, SMBOverTCP:19, TCP:18, IPv4:17}&lt;/p&gt;
&lt;p&gt;[Initiate large file transfer from client to file server on Windows 8, move cluster group containing file share during copy process.&amp;nbsp; Notice the temporary dip in transfer rate but no exception, copy completes]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7713.Win8ClientNoERR.PNG"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7713.Win8ClientNoERR.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Event logs on the Windows 8 machine]&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Windows-SMBClient/Operational&lt;br /&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Windows-SMBClient&lt;br /&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30624&lt;br /&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Information&lt;br /&gt;User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSTEM&lt;br /&gt;Description:&lt;br /&gt;Connection to share \hafileshare\demo was re-established.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Windows-SMBClient/Operational&lt;br /&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Windows-SMBClient&lt;br /&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30623&lt;br /&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;br /&gt;Description:&lt;br /&gt;Connection to share \hafileshare\demo was lost. Status 0xC000020C&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Summary:&lt;br /&gt;Continuous available file share is a great new feature and I hope you will evaluate Windows Server 2012 and Windows 8 with the&amp;nbsp;common goal to provide your business partner with highly available and fault tolerant services.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3527843" width="1" height="1"&gt;</content><author><name>Dave Guenthner [MSFT]</name><uri>http://blogs.technet.com/daveguenthner_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="&amp;quot;The specified network name is no longer available&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_The+specified+network+name+is+no+longer+available_2600_quot_3B00_/" /><category term="&amp;quot;Continous File Share&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_Continous+File+Share_2600_quot_3B00_/" /><category term="&amp;quot;ClusSvc&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_ClusSvc_2600_quot_3B00_/" /><category term="SMB3" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SMB3/" /><category term="&amp;quot;1055&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_1055_2600_quot_3B00_/" /><category term="&amp;quot;FindFirstFile&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_FindFirstFile_2600_quot_3B00_/" /><category term="&amp;quot;Cluster&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_Cluster_2600_quot_3B00_/" /><category term="&amp;quot;64&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_64_2600_quot_3B00_/" /><category term="&amp;quot;Windows 8&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_Windows+8_2600_quot_3B00_/" /><category term="&amp;quot;Windows Server 2012&amp;quot;" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/_2600_quot_3B00_Windows+Server+2012_2600_quot_3B00_/" /></entry><entry><title>The Case of the ADAM/AD LDS error A referral was returned from the server</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2012/02/24/the-case-of-the-adam-ad-lds-error-quot-a-referral-was-returned-from-the-server-quot.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2012/02/24/the-case-of-the-adam-ad-lds-error-quot-a-referral-was-returned-from-the-server-quot.aspx</id><published>2012-02-24T19:23:00Z</published><updated>2012-02-24T19:23:00Z</updated><content type="html">&lt;p&gt;My customer uses ADAM/AD LDS for directory aware applications instead up extending schema for Active Directory Domain Services.&amp;nbsp; In short, they prefer to isolate line of business or 3rd party applications in their own sandbox and leave Active Directory schema alone when possible.&amp;nbsp; The definition for ADAM\AD LDS from technet is "Active Directory Application Mode (ADAM) is a part of Microsoft&amp;rsquo;s fully integrated directory services available with Windows Server 2003, and is built specifically to address directory-enabled application scenarios. ADAM runs as a non-operating-system service, and, as such, it does not require deployment on a domain controller. Running as a non-operating-system service means that multiple instances of ADAM can run concurrently on a single server, and each instance can be configured independently."&lt;/p&gt;
&lt;p&gt;In the past for their business, each application required a single application partition.&amp;nbsp; As a result, their standard procedure included provisioning a new ADAM instance with a single application partition.&amp;nbsp; The problem started when the requirements slightly changed.&amp;nbsp; The new line of business application required&lt;span style="text-decoration: underline;"&gt; two&lt;/span&gt; application partitions not one.&amp;nbsp; They used their existing procedures for setting up one application partition for&amp;nbsp;two application partitions scenario.&amp;nbsp;Lab certification was failing due to&amp;nbsp;intermittant errors in lab with error "0000202B: RefErr: DSID-03100697 A referral was returned from the server." when attempting to write to second application partition.&amp;nbsp; They could not recreate the error when writing to first partition in a consistent manner.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2117.referralerror.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2117.referralerror.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For clarity let's walk through lab setup.&amp;nbsp; Let's assume for the moment we have a domain called ACME.COM&amp;nbsp;and&amp;nbsp;our ADAM servers are called ADAM1.ACME.COM and ADAM2.ACME.COM.&amp;nbsp; Let's create our ADAM instance and call it something simple and straight foward like "BlogInstance".&amp;nbsp; Additionally, we can call our application partitions "BlogPartition1" and "BlogPartition2".&amp;nbsp; Here are a few screen shots for initial setup to create the partition and first partition from which we can leverage the ADAM wizard.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;[Use wizard to create ADAM instance]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1106.CreateInstance.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/1106.CreateInstance.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Specify ports]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7776.CreateInstancceport.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7776.CreateInstancceport.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Create and name the application partition, first one of course]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3603.CreatePartition1.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3603.CreatePartition1.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Import in box ldif files to create classes etc.]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6242.CreatePartition1withclasses.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6242.CreatePartition1withclasses.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;OK.&amp;nbsp; For brevity, I'll skip the rest of the wizards, next button throughout.&amp;nbsp; So now in services on ADAM1.ACME.COM we can verify that new NT Service is installed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0358.service.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0358.service.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As I mentioned, process is very important as it should be to the customer.&amp;nbsp; Next step is to&amp;nbsp;add ADAM2.ACME.COM to replica.&amp;nbsp; From ADAM2.ACME.COM, let's run the ADAM wizard and create replica of existing instance.&lt;/p&gt;
&lt;p&gt;[From ADAM2]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0268.Partition1repl.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/0268.Partition1repl.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/5047.Partition1repl2.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/5047.Partition1repl2.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3858.Partition1repl3.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3858.Partition1repl3.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Notice the application partitions available to copy, we have only created one and therefore this&amp;nbsp;is only one presented]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6746.Partition1repl4.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6746.Partition1repl4.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;At this point, the wizard completes successfully and we verify replication between ADAM1.ACME.COM and ADAM2.ACME.COM is working using command such as C:\windows\adam&amp;gt;repadmin /syncall ADAM1:389.&amp;nbsp; So far so good.&amp;nbsp; Next step which is new territory&amp;nbsp;includes creation of second application partition for instance "BlogInstance".&amp;nbsp; Let's say the second application partition is called "BlogPartition2" and is created on ADAM1.ACME.COM.&lt;/p&gt;
&lt;p&gt;If you need to create the second partition for the application you can use dsmgmt.exe to accomplish task.&lt;/p&gt;
&lt;p&gt;[Create second partition called BlogPartition2]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2860.CreateSecondPartition.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2860.CreateSecondPartition.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So now we have the same setup as the customer.&amp;nbsp; Sure enough, if I try to create an object in the second partition from ADAM2.ACME.COM I get a referral error.&amp;nbsp; Being able to reproduce the problem is huge in finding a resolution.&amp;nbsp; Through research and collaboration with teammates an attribute, msDS-NC-Replica-Locations, was identified which could explain issue.&amp;nbsp;This attribute was populated with both ADAM1.ACME.COM and ADAM2.ACME.COM for first partition where no problems were encountered.&amp;nbsp; However, this same attribute for the second partition only listed&amp;nbsp;one server where second partition was originally created, in our case ADAM1.ACME.COM.&amp;nbsp; I think we are on to something here as our referral error goes away when executed from server that is populated in attribute msDS-NC-Replica-Locations.We need to understand how and why this value gets populated.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;From MSDN:&lt;/p&gt;
&lt;p&gt;2.194 Attribute msDS-NC-Replica-Locations&lt;/p&gt;
&lt;p&gt;This attribute specifies a list of servers that are the replica set for the corresponding non-domain naming context.&lt;/p&gt;
&lt;p&gt;cn: ms-DS-NC-Replica-Locations&lt;br /&gt;ldapDisplayName: msDS-NC-Replica-Locations&lt;br /&gt;attributeId: 1.2.840.113556.1.4.1661&lt;br /&gt;attributeSyntax: 2.5.5.1&lt;br /&gt;omSyntax: 127&lt;br /&gt;omObjectClass: 1.3.12.2.1011.28.0.714&lt;br /&gt;isSingleValued: FALSE&lt;br /&gt;schemaIdGuid: 97de9615-b537-46bc-ac0f-10720f3909f3&lt;br /&gt;systemOnly: FALSE&lt;br /&gt;searchFlags: 0&lt;br /&gt;linkID: 1044&lt;br /&gt;systemFlags: FLAG_SCHEMA_BASE_OBJECT&lt;/p&gt;
&lt;p&gt;[Partition 1, notice partition 1 lists both ADAM1.ACME.COM and ADAM2.ACME.COM]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2318.partition1.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2318.partition1.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;[Partition 2 only contains one entry for ADAM1.ACME.COM]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3326.partition2.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3326.partition2.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;How does referral error factor into this?&amp;nbsp; The application making the query is reponsible for "chasing" a referral.&amp;nbsp; In our case, ldifde.exe does not chase referrals, it's simply saying in order to make a change to second application partition, the change is required to be made on the server defined by msDS-NC-Replica-Locations attribute.&lt;/p&gt;
&lt;p&gt;So how can we resolve the issue, customer preference is command line so setup can be automated.&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;C:\windows\ADAM&amp;gt;dsmgmt.exe&lt;br /&gt;2. partition management&lt;br /&gt;3.&amp;nbsp;Connections&lt;br /&gt;4.&amp;nbsp;server connections: connect to server ADAM1:389&amp;nbsp; (Where ADAM1 is server where second partition was created and port is 389)&lt;br /&gt;5.&amp;nbsp;server connections: q&lt;br /&gt;6.&amp;nbsp;partition management: add NC Replica "DC=BlogPartition2,DC=ACME,DC=COM" ADAM2:389&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Where BlogPartition2 is second partition and you want to add ADAM2 to host NC replica)&lt;br /&gt;8.&amp;nbsp;partition management: q&lt;br /&gt;8.&amp;nbsp;dsmgmt: q&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3443.ADDNCREPLICA.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3443.ADDNCREPLICA.PNG" /&gt;&lt;/a&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2047.CreateSecondPartition.PNG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let's verify that second application partition msDS-NC-Replica-Locations attribute includes both servers.&amp;nbsp; Simply go back to ADSI-Edit and check second partition, it will now show both servers.&amp;nbsp; Time to see if we can create object in second partition from ADAM2.ACME.COM as previously we received referral error.&lt;/p&gt;
&lt;p&gt;Using LDIFDE.exe, placing ldf file in root of C:\ for simplicity.&lt;/p&gt;
&lt;p&gt;[LDF - CreateContainer.ldf]&lt;/p&gt;
&lt;p&gt;dn: CN=CreatOnADAM2,CN=Roles,DC=BlogPartition2,DC=ACME,DC=COM&lt;br /&gt;changetype: add&lt;br /&gt;objectClass: container&lt;/p&gt;
&lt;p&gt;[ACME2.ACME.COM]&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2630.verifyfinal.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/2630.verifyfinal.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Success!&lt;/p&gt;
&lt;p&gt;I hope this is helpful, I certainly learned quite a bit about ADAM\AD LDS and specifically purpose of Attribute msDS-NC-Replica-Locations as well as "Add NC Replica"&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3483064" width="1" height="1"&gt;</content><author><name>Dave Guenthner [MSFT]</name><uri>http://blogs.technet.com/daveguenthner_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="AD LDS" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/AD+LDS/" /><category term="ADAM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/ADAM/" /><category term="partition" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/partition/" /><category term="A referral was returned from the server" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/A+referral+was+returned+from+the+server/" /><category term="DSID-03100697" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/DSID_2D00_03100697/" /><category term="msDS-NC-Replica-Locations" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/msDS_2D00_NC_2D00_Replica_2D00_Locations/" /><category term="Add NC Replica" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Add+NC+Replica/" /><category term="0000202B" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/0000202B/" /><category term="ADLDS" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/ADLDS/" /></entry><entry><title>The Case of the Strange Hyper-V Networking Issue</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2012/01/25/the-case-of-the-strange-hyper-v-networking-issue.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2012/01/25/the-case-of-the-strange-hyper-v-networking-issue.aspx</id><published>2012-01-25T14:04:00Z</published><updated>2012-01-25T14:04:00Z</updated><content type="html">&lt;p&gt;I received a call from a customer who said they were experiencing networking problems with virtual machines running on Hyper-V.&amp;nbsp; &lt;a title="The customer had implemented a two node Windows 2008 R2 SP1 Failover Cluster using Live Migration for Cluster Shared Volumes" href="http://technet.microsoft.com/en-us/library/dd446679(WS.10).aspx" target="_blank"&gt;The customer had implemented a two node Windows 2008 R2 SP1 Failover Cluster using Live Migration for Cluster Shared Volumes&lt;/a&gt;. Specifically, it was reported, virtual machines running on cluster could not access CIFS-based share on NetAPP appliance.&amp;nbsp; Oddly enough, all of the virtual machines running on either node could access any standard Windows share; it was only the NetAPP appliance which could not be reached.&amp;nbsp; Keep in mind that NetAPP appliance was not new to the environment and could be accessed from any machine, physical or virtual, as long as the client was not being hosted by cluster in question.&amp;nbsp; Also, from the Hyper-V host, the NetAPP share could be reached without a problem.&amp;nbsp; The error from the client virtual machine(s) when attempting to access share is below.&amp;nbsp; When sometimes accessing the share this error would be generated immediately, other times the explorer shell would sit for a full minute.&amp;nbsp; A network trace from the client showed traditional three hand shake between virtual machine and NetAPP followed by reset from the client.&amp;nbsp; I did not have a network trace available from the NetAPP appliance to see what was occurring on server side.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8267.ShareERRWeb.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8267.ShareERRWeb.png"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/8267.ShareERRWeb.png" width="453" height="115" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first question of course is the infamous &amp;ldquo;What has changed?&amp;rdquo;&amp;nbsp; Fortunately, customer had a formal change process and could detail changes made before problem.&amp;nbsp; In a nutshell:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recommended hotfixes and updates for Windows Server 2008 R2 SP1 Failover Clusters&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/2545685"&gt;http://support.microsoft.com/kb/2545685&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The network location profile changes from "Domain" to "Public" in Windows 7 or in Windows Server 2008 R2&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/2524478"&gt;http://support.microsoft.com/kb/2524478&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Last month&amp;rsquo;s security updates via Windows Update&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Latest HP Proliant Support Pack&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At the time of the problem I had the following thoughts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can&amp;rsquo;t be the NetAPP appliance because it can be accessed from other Windows machine outside of Cluster&lt;/li&gt;
&lt;li&gt;Can&amp;rsquo;t be the Hyper-V host because from each Hyper-V host, the parent partition, the Administrator could access the share&lt;/li&gt;
&lt;li&gt;Not a hardware problem since the issue is present on both cluster nodes&lt;/li&gt;
&lt;li&gt;Highly unlikely Windows security patches are relevant especially since they were applied only to the Hyper-V hosts not the virtual machines&lt;/li&gt;
&lt;li&gt;Highly unlikely recommended updates to cluster as they will be included in SP2 for 2008 R2&lt;/li&gt;
&lt;li&gt;Can&amp;rsquo;t be security because the same Administrator who accesses the share from Hyper-V host gets the permission error within the VM, therefore the dialog box is bogus&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The problem with train of thought is I essentially ruled out everything&amp;hellip;.&amp;nbsp; We tried all the usual steps to collect more information about problem such as connecting/reconnecting virtual NICs within VM&amp;rsquo;s, changed from synthetic to legacy adapters within VM&amp;rsquo;s, restarted VM&amp;rsquo;s, restarted Hyper-V hosts etc. etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After a lot of testing through trial and error, a suggestion was made to roll back the network card driver which was updated in the HP PSP to latest version on one of the cluster nodes.&amp;nbsp; Immediately after replacing the latest driver with older driver problem was solved.&amp;nbsp; Evidently a bug exists in new driver which prevented only the virtual machines from accessing the NetAPP appliance, truly a strange one indeed.&lt;/p&gt;
&lt;p&gt;The problematic driver was:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/5342.NICwithERRweb.png"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/5342.NICwithERRweb.png" width="408" height="210" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In summary, with multiple layers of virtualization and integration with 3rd party devices, troubleshooting and identifying where the problem resides can certainly be difficult.&amp;nbsp; One lesson I learned which may have made identification of the problem easier would have been updating only one cluster node at a time and having client certify and sign off before patching second node.&amp;nbsp; Of course, I am not sure that a basic certification would have even revealed problem unless someone attempted to access NetAPP device from within VM.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3477171" width="1" height="1"&gt;</content><author><name>Dave Guenthner [MSFT]</name><uri>http://blogs.technet.com/daveguenthner_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="CSV" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/CSV/" /><category term="Windows 2008 R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Windows+2008+R2/" /><category term="VM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VM/" /><category term="NetAPP" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/NetAPP/" /><category term="PSP" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/PSP/" /><category term="Hyper-V" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Hyper_2D00_V/" /><category term="virtual machine" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/virtual+machine/" /><category term="Cluster" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Cluster/" /><category term="Live Migration" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Live+Migration/" /></entry><entry><title>The Case of the Unexplained Server Hang</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2011/08/26/the-case-of-the-unexplained-server-hang.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2011/08/26/the-case-of-the-unexplained-server-hang.aspx</id><published>2011-08-26T04:41:00Z</published><updated>2011-08-26T04:41:00Z</updated><content type="html">&lt;p&gt;Recently, I received a call from one of my customers reporting a new server deployed in their environment became unresponsive or&amp;lsquo;hung&amp;rsquo; almost daily.&amp;nbsp; The customer explained that the server was deployed using their standard build process and wanted to collaborate on&amp;nbsp;troubleshooting the&amp;nbsp;issue.&amp;nbsp;&amp;nbsp;&lt;br /&gt;I asked a few scoping questions:&lt;/p&gt;
&lt;p&gt;What Operating System and Service Pack? Windows 2003 Enterprise SP2 X86&lt;/p&gt;
&lt;p&gt;Was&amp;nbsp;RDP possible during unresponsiveness? No&lt;/p&gt;
&lt;p&gt;Does server return to normal operation after some amount of time? No&lt;/p&gt;
&lt;p&gt;Does the server respond to ping? Yes&lt;/p&gt;
&lt;p&gt;Do they have Poolmon data for review? Yes&lt;/p&gt;
&lt;p&gt;Did they manually capture a crash dump that we could review? No. Suggested to customer&amp;nbsp;&lt;a title="Windows feature lets you generate a memory dump file by using the keyboard" href="http://support.microsoft.com/kb/244139" target="_blank"&gt;Windows feature lets you generate a memory dump file by using the keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Did they collect MPS Reports for review? Yes. &lt;a title="Microsoft Product Support Reports" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=24745" target="_blank"&gt;Microsoft Product Support Reports&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At this point I have some data to review and giving the customer a hard time about deploying an operating system in extended support with 32 bit architecture was unlikely to be&amp;nbsp;well received.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[System Event Log - beginning with clean start of system]&lt;/p&gt;
&lt;p&gt;System 7/14/2011&lt;br /&gt;1:04&amp;nbsp; Information&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EventLog&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POOLMONEXAMPLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft (R) Windows (R) 5.02. 3790 Service Pack 2 Multiprocessor Free.&lt;/p&gt;
&lt;p&gt;System 7/14/2011&lt;br /&gt;8:29&amp;nbsp; Error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2019&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Srv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; POOLMONEXAMPLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The server was unable to allocate from the system nonpaged pool because the pool was empty.&lt;/p&gt;
&lt;p&gt;So, luckily enough, we have something interesting only seven hours and twenty-five minutes later and&amp;nbsp;after clean boot, kernel nonpaged pool appears to be depleted?&amp;nbsp; Why? We have a time frame that we should be able to correlate with Poolmon logs.&amp;nbsp; You may already be familiar with Poolmon but by definition the tool is designed to &amp;ldquo;display data that the operating system collects about memory allocations from the system paged and nonpaged kernel pools and about the memory pool&amp;rdquo;.&amp;nbsp; Microsoft CTS Support has a very simple script to put the collection in place if the KB by itself is not sufficient.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ok, so on to Poolmon, let&amp;rsquo;s start with when the system was clean booted for baseline information.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[Clean boot happened at 7/14/2011 1:04]&lt;/p&gt;
&lt;p&gt;First sample from Poolmon is shown below.&amp;nbsp; The N: stands for nonpaged pool and P: stands for Paged Pool.&amp;nbsp; The error above stated that the system ran out of nonpaged pool so we may want to keep a close eye on that number which is currently 26 MB.&amp;nbsp; It&amp;rsquo;s important to note that 32 bit architecture is severely limited by the amount of paged and nonpaged pool accessible at startup. This is not a Windows limitation, per se, but a mathematical one.&amp;nbsp; Having said that, what is the maximum amount of nonpaged pool which Windows can use on this platform and SKU? Roughly 256MB.&amp;nbsp;Our friend and Windows expert Mark Russinovich has written a definitive article on this subject: &lt;a title="Pushing the Limits of Windows:Paged and Nonpaged Pool" href="http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx" target="_blank"&gt;Pushing the Limits of Windows: Paged and Nonpaged Pool&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3113.FreshStart.png"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/3113.FreshStart.png" width="698" height="392" /&gt;&lt;/a&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/6406.FreshStart.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next&amp;nbsp;sample shows that nonpaged pool has grown at an alarming rate.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7220.broken.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-31/7220.broken.PNG" width="795" height="370" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we are getting somewhere.&amp;nbsp; We know what is happening, next step is to determine root cause by identifying offending driver.&amp;nbsp; At first glance this appears too difficult to read, but for what we are after its relatively straight forward.&amp;nbsp; Thankfully, poolmon sorts the drivers based on tags and the amount of pages consumed.&amp;nbsp;When drivers in kernel space need memory, they ask the memory manager to assign a page of memory.&amp;nbsp; There is nothing wrong for systems under load to take memory, but it is important to free that memory when load diminishes.&amp;nbsp; Some of the key fields are: Memory/Available memory &amp;ndash; no problem there, Pool N or nonpaged is maxed out which is our problem, paged pool is fine. Looking at the tags listed, you see a tag/driver called &amp;ldquo;Tidt&amp;rdquo;which has consumed 214 MB which is almost all available nonpaged pool where the next highest consuming driver only used 35 MB.&amp;nbsp; We need to know what developer owns TidT tag?&amp;nbsp; A few searches on the internet, unfortunately, did not yield any promising clues.&amp;nbsp; A teammate shared a trick where you can parse all the files in system32 directory to locate a&amp;nbsp;matching tag name. It is common practice that&amp;nbsp;tag names&amp;nbsp;may be in the header of the image file.&amp;nbsp; This is the command I used:&lt;/p&gt;
&lt;p&gt;C:\WINDOWS\system32\drivers&amp;gt;findstr TidT *.*&lt;br /&gt;LhmonProxy.sys:...LhmonIoCompletion...c:\winstaps\v81\tap\win\src\lhmonproxy\ioc&lt;br /&gt;ompletion.c...&lt;span style="background-color: #ffff00;"&gt;LhmonProxy.sys&lt;/span&gt;..................&amp;iuml; U&amp;iuml;.&amp;acirc;.?&amp;iacute;$&amp;Ccedil;..S&amp;iuml;]?V&amp;iuml;p(3.&amp;euml;E.&amp;euml;E&amp;deg;&amp;egrave;C!&amp;auml;.&lt;br /&gt;W&amp;euml;unt.&amp;iuml;C`&amp;Ccedil;H..SF[.&amp;nbsp; SF.&amp;sup2;&amp;nbsp; SF_.&amp;nbsp; &amp;iuml;}.&amp;agrave; .&amp;auml;....&amp;igrave;N. ..p..&amp;iuml;.&amp;iuml;w.&amp;euml;.&amp;euml;q.&amp;iuml;Mn&amp;egrave;Q.&amp;auml;.t.&amp;iuml;w.&amp;agrave;&amp;divide;&amp;iuml;W?&amp;euml;&lt;br /&gt;U?t. A?d.&amp;iuml;u.&amp;egrave;.&amp;acirc;.. ..p..&amp;agrave;&amp;divide;.&amp;auml;....&amp;egrave;C$&amp;auml;.t.&amp;egrave;G.&amp;auml;.u.&amp;iuml;C.&amp;agrave;.|?&amp;egrave;O.&amp;auml;.u?&amp;agrave;.}_&amp;egrave;G.&amp;auml;.tXSh.O..j.h&amp;AElig;&lt;br /&gt;...h.P..h(P..h`P..FU...&amp;iuml;E?&amp;iuml;M.&amp;acirc;..PSQ .ShpP..j.h&amp;ouml;...h&amp;ouml;P..h&amp;iquest;P..haP..&amp;euml;E&amp;deg;F#...&amp;acirc;..d.&amp;iuml;E&lt;br /&gt;?&amp;agrave;.t&amp;nbsp;&amp;nbsp;&amp;nbsp; j.P .Lp..&amp;iuml;un&amp;acirc;..&amp;iuml;. ..p..&amp;iuml;Mn I?&amp;egrave;.&amp;iuml;. ..p..WFl...&amp;iuml;E&amp;deg;_^[&amp;iuml;s].?.&amp;iuml;G?&amp;agrave;.t j.P .Lp.&lt;br /&gt;.WFJ...&amp;iuml;E&amp;deg;_^[&amp;iuml;s].?...............&amp;iuml; U&amp;iuml;.V&amp;iuml;u?&amp;egrave;F!&amp;auml;.t.&amp;iuml;F`&amp;Ccedil;H..VF..&amp;nbsp; VF&amp;igrave;n&amp;nbsp; VF.n&amp;nbsp; 3.^].?&lt;br /&gt;.................&amp;iuml; U&amp;iuml;.&amp;acirc;..&amp;iacute;$&amp;Ccedil;..SV&amp;iuml;p(&amp;igrave;^.W&amp;iuml;.&amp;euml;]&amp;deg; ..p..&amp;igrave;~.&amp;iuml;7;.&amp;ecirc;E t!3.&amp;Eacute;&amp;iuml;F?;.&amp;euml;^.t?SP .L&lt;br /&gt;p..&amp;euml;^?&amp;iuml;6;.us&amp;iuml;]&amp;deg;&amp;egrave;U &amp;iuml;. ..p.._^[&amp;iuml;s].................&amp;iuml; U&amp;iuml;.SVW&amp;iuml;&amp;deg;&amp;iacute;$&amp;Ccedil;..&amp;iuml;X(F9...&amp;iuml;.&amp;agrave;&amp;divide;tZ&amp;iuml;M&lt;br /&gt;.&amp;iuml;U?&amp;egrave;E.&amp;euml;N.&amp;egrave;M.&amp;euml;V?&amp;egrave;U.&amp;ecirc;N.&amp;ecirc;F.&amp;ecirc;V..G..Q..&amp;euml;w .G.a&amp;igrave;{.&amp;iuml;. ..p..&amp;igrave;K.&amp;egrave;.&amp;iuml;A.&amp;euml;.&amp;euml;F.&amp;euml;0&amp;euml;q.&amp;iuml;. ..p.._&lt;br /&gt;^3.[]..._^.....[]................&amp;iuml; &lt;a href="mailto:U&amp;iuml;.&amp;iuml;M.&amp;iuml;U.&amp;iuml;E.&amp;iuml;@`Q&amp;iuml;M.R&amp;iuml;U.Q&amp;iuml;M?RQFL"&gt;U&amp;iuml;.&amp;iuml;M.&amp;iuml;U.&amp;iuml;E.&amp;iuml;@`Q&amp;iuml;M.R&amp;iuml;U.Q&amp;iuml;M?RQFL&lt;/a&gt;&amp;nbsp;&amp;nbsp; ]..........&lt;br /&gt;&amp;iuml;M.P&amp;euml;H? .tp..]........&amp;iuml; U&amp;iuml;.QV&amp;iuml;. ..p..&amp;igrave;w.&amp;ecirc;E 96t.S&amp;iuml;.Lp..&amp;iuml;.&amp;iuml;.j.&amp;euml;.P&amp;euml;q. .96ue[&amp;egrave;U 3.&amp;iuml;.&lt;br /&gt;&amp;euml;G?&amp;euml;G.&amp;euml;G.&amp;euml;G. ..p..^&amp;iuml;s]................&amp;iuml; SW&amp;iuml;. ..p..&amp;iuml;N.&amp;egrave;.&amp;igrave;F.;.t.&amp;iuml;.&amp;euml;.&amp;euml;B.&amp;iuml;F?&amp;iuml;.H&amp;egrave;.&amp;iuml;.&amp;euml;&lt;br /&gt;F? ..p..&amp;iuml;._[.&amp;iuml;F.&amp;iuml;N.PQj. ..p..&amp;egrave;.&amp;iuml;.&amp;iuml;&amp;deg; ..p..&amp;iuml;._[.........&amp;iuml; V&amp;iuml;5(p..Wh`&amp;iacute;.. ..d&amp;iacute;..3 h@&lt;br /&gt;&amp;iacute;..&amp;uacute;h&amp;iacute;..&amp;uacute;d&amp;iacute;..&amp;euml;=l&amp;iacute;....t&amp;iacute;..(...&amp;euml;=p&amp;iacute;....x&amp;iacute;..xtCE ..D&amp;iacute;..ha&amp;aacute;..&amp;uacute;H&amp;iacute;..&amp;uacute;D&amp;iacute;..&amp;euml;=L&amp;iacute;....T&amp;iacute;...&lt;br /&gt;...&amp;euml;=P&amp;iacute;....X&amp;iacute;..gToI ..S&amp;aacute;..h.&amp;iacute;..&amp;uacute;F&amp;aacute;..&amp;uacute;S&amp;aacute;..&amp;euml;=.&amp;aacute;.....&amp;aacute;..X...&amp;euml;=.&amp;aacute;....&amp;deg;&amp;aacute;..&lt;span style="background-color: #ffff00;"&gt;TidT&lt;/span&gt; ...&amp;iacute;..&lt;br /&gt;h &amp;iacute;..&amp;uacute;.&amp;iacute;..&amp;uacute;.&amp;iacute;..&amp;euml;=?&amp;iacute;.....&amp;iacute;..P...&amp;euml;=.&amp;iacute;.....&amp;iacute;..CidT ..$&amp;iacute;..h.&amp;aacute;..&amp;uacute;(&amp;iacute;..&amp;uacute;$&amp;iacute;..&amp;euml;=,&amp;iacute;....4&amp;iacute;.&lt;br /&gt;.....&amp;euml;=0&amp;iacute;....8&amp;iacute;..gTcA ...&amp;aacute;..&amp;euml;=.&amp;aacute;..&amp;euml;=.&amp;aacute;.._&amp;uacute;.&amp;aacute;..&amp;uacute;.&amp;aacute;.....&amp;aacute;..?......&amp;aacute;..gTcD^........&lt;br /&gt;......&amp;iuml; W.`&amp;iacute;..F.&amp;sup2;&amp;nbsp; &lt;a href="mailto:.@&amp;iacute;..F.&amp;sup2;"&gt;.@&amp;iacute;..F.&amp;sup2;&lt;/a&gt;&amp;nbsp; .a&amp;aacute;..F.&amp;sup2;&amp;nbsp; ..&amp;iacute;..F.&amp;sup2;&amp;nbsp; . &amp;iacute;..F&amp;frac12;&amp;sup2;&amp;nbsp; ..&amp;aacute;..F&amp;iacute;&amp;sup2;&amp;nbsp; _..........&lt;br /&gt;......&amp;iuml; V.`&amp;iacute;..Fp&amp;sup2;&amp;nbsp; &amp;agrave;.^t!3.&amp;iuml;.&amp;euml;&lt;/p&gt;
&lt;p&gt;This points us to the lhmonproxy.sys driver written by 3&lt;sup&gt;rd &lt;/sup&gt;party vendor.&amp;nbsp; The customer, armed with this information, was able to obtain a patch from the vendor to resolve the problem.&amp;nbsp; I hope this blog is helpful providing a real world example of troubleshooting with poolmon and provides further encouragement to move towards X64 platform.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3449320" width="1" height="1"&gt;</content><author><name>Dave Guenthner [MSFT]</name><uri>http://blogs.technet.com/daveguenthner_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="2019" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/2019/" /><category term="memory" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/memory/" /><category term="Poolmon" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Poolmon/" /><category term="2020" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/2020/" /><category term="2021" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/2021/" /><category term="crash" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/crash/" /><category term="hang" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/hang/" /></entry><entry><title>The Case of the Unexplained High CPU Condition</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2011/04/07/the-case-of-the-unexplained-high-cpu-condition.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2011/04/07/the-case-of-the-unexplained-high-cpu-condition.aspx</id><published>2011-04-07T20:45:00Z</published><updated>2011-04-07T20:45:00Z</updated><content type="html">&lt;p&gt;Usually I start these posts with "One of my customers..." but in this instance this happened to me while supporting a internal line of business application.&amp;nbsp; The platform is Windows Server 2008 Enterprise R2 running workloads IIS, (SCVMM) System Center Virtual Machine Manager 2008 R2, SQL 2008 SP1 on a server with 12 CPU's and 64 GB of RAM.&amp;nbsp; This configuration had been in service for about two years without issue until a recent upgrade of our line of business application.&amp;nbsp; Since that upgrade, the server with each day would exhibit increasingly high CPU culminating in all 12 CPUs being 100% utilized causing slow performance and client timeouts.&lt;/p&gt;
&lt;p&gt;First steps were of course data collection.&amp;nbsp; Our performance team recommends creating two standard data collector sets, the commands are below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setup a Performance monitor:&lt;br /&gt;&lt;/strong&gt;1.&amp;nbsp;Open a command prompt and run the following command to create and start a Performance monitor log:&lt;/p&gt;
&lt;p&gt;Logman.exe create counter Perf-Counter-Log15sec -o "c:\perflogs\Perflog15sec.blg" -f bincirc -v mmddhhmm -max 300 -c "\LogicalDisk(*)\*" "\Memory\*" "\Netlogon(*)\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\Server Work Queues(*)\*" "\System\*" "\Thread(*)\*" -si 00:00:15&lt;/p&gt;
&lt;p&gt;Logman.exe create counter Perf-Counter-Log15min -o "c:\perflogs\Perflog15min.blg" -f bincirc -v mmddhhmm -max 300 -c "\LogicalDisk(*)\*" "\Memory\*" "\Netlogon(*)\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\Server Work Queues(*)\*" "\System\*" "\Thread(*)\*" -si 00:15:00&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Logman start Perf-Counter-Log15sec&lt;br /&gt;Logman start Perf-Counter-Log15min&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp;After an event, run the following to stop logging.&lt;/p&gt;
&lt;p&gt;Logman stop Perf-Counter-Log15sec&lt;br /&gt;Logman stop Perf-Counter-Log15min&lt;/p&gt;
&lt;p&gt;These two commands will create data collectors which collect data every 15 sec and 15 min.&amp;nbsp; This will help build baseline information such as how long the condition takes to present itself.&lt;/p&gt;
&lt;p&gt;After the problem happened "perfmon" showed that, on average, all CPUs were utilized at roughly 60% where SQL accounted for 30%.&amp;nbsp; However, when the problem occurred SQL CPU time doubled, causing&amp;nbsp;a, high CPU condition.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/0550.perfbroken.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, now the question is, "What is causing this condition?"&amp;nbsp; I turned to a great tool called &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/performance/default.aspx" title="Xperf Download"&gt;xperf &lt;/a&gt;which can help diagnose a variety of issues in great detail.&amp;nbsp; Xperf may require you to enable the following registry key, documented in the link below.&lt;/p&gt;
&lt;p&gt;Reboot required supporting this:&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc959492.aspx"&gt;http://technet.microsoft.com/en-us/library/cc959492.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Description &lt;br /&gt;&amp;ldquo;Specifies whether user-mode and kernel-mode drivers and kernel-mode system code can be paged to disk when not in use.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Once you have your prerequisites in place,&amp;nbsp;start Xperf by running the commands to isolate high CPU condition:&lt;br /&gt;Trace Command(s)&lt;br /&gt;xperf.exe &amp;ndash;on Latency &amp;ndash;stackWalk Profile&lt;/p&gt;
&lt;p&gt;&amp;lt;repro, allow the High CPU condition to run for a couple of minutes.&amp;gt;&lt;/p&gt;
&lt;p&gt;xperf -d HighCPU.etl&lt;/p&gt;
&lt;p&gt;After you have collected the trace, while the high CPU condition was in state, open the file with xperf.&lt;/p&gt;
&lt;p&gt;&lt;img height="288" width="908" src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/2235.xperfoverallcpu.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;As we expected, similar to perfmon, CPU's are 100%.&amp;nbsp; Next, we can filter based on processes.&lt;/p&gt;
&lt;p&gt;&lt;img height="306" width="902" src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/8780.xperffilterprocess.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Again, confirming data similar to perfmon, SQL is having problems.&amp;nbsp; So let's use Xperf to investigate some internals to see what is going on... You can click and select a segment of the graph and right-click summary table.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/8304.xperfsegment.png" border="0" /&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img height="255" width="908" src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/1682.xperfsummary.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;At this point, the weight column shows us our resource consumption.&amp;nbsp; You can see the SQL Server is the busiest process with 54%.&amp;nbsp; What is it doing? By expanding the collapsed cells around SQL you can&amp;nbsp;view internal functions&amp;nbsp;within SQL which will help us understand what SQL is doing.&lt;/p&gt;
&lt;p&gt;I cannot share the actual trace results,&amp;nbsp;as SQL functions are private.&amp;nbsp; But, I can say that Xperf will show the entire stack down to the NIC level.&amp;nbsp; What I noticed was&amp;nbsp;SQL Server&amp;nbsp;was stuck on a series of spinlocks.&amp;nbsp; By definition,&amp;nbsp;a spinlock is a lock where the thread simply waits in a loop ("spins"), repeatedly checking until the lock becomes available. As the thread remains active but isn't performing a useful task, the use of such a lock is a kind of busy waiting.&lt;/p&gt;
&lt;p&gt;Why&amp;nbsp;does SQL have a bunch of threads in a loop?&amp;nbsp; Let's take a look at SQL more closely using tools out of box.&amp;nbsp; I launched SQL Server Management Studio and clicked on "Activity Monitor".&amp;nbsp; I can see immediately that the system has 19 waiting tasks, where it should be 0.&lt;/p&gt;
&lt;p&gt;&lt;img height="323" width="823" src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/6428.ResourceWaits.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="246" width="935" src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/5270.resourcewaits3.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;It's clear that the first item in the list is the culprit.&amp;nbsp; For each time this procedure is called, it takes anywhere from&amp;nbsp;five to&amp;nbsp;seven and a half seconds to complete.&amp;nbsp; Further, we are calling the procedure 177 times per minute.&amp;nbsp; This is simply not sustainable. Over time as SQL cannot complete this task, jobs are placed in a queue via spinlocks which can never complete, thereby eating CPU over time.&lt;/p&gt;
&lt;p&gt;I expanded the Process tab and&amp;nbsp;sorted by running tasks.&amp;nbsp;&amp;nbsp;Sure enough all of the tasks pending are the same stored procedure.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/6646.backedupprocesses2.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;In my view there are two main questions:&lt;/p&gt;
&lt;p&gt;1. Can we reduce the execution frequency of the stored procedure?&lt;/p&gt;
&lt;p&gt;2. Can the prcocedure itself be optimized?&lt;/p&gt;
&lt;p&gt;The procedure itself is design to collect information about running virtual machines in our farm.&amp;nbsp; In our test envrionment, the number of running virtual machines is quite small.&amp;nbsp; Our production environment has about 2,000 virtual machines so this is really a matter of scale and performance load.&amp;nbsp;&amp;nbsp;Regarding question number one, we reduced the frequency of the call to every ten seconds versus every two seconds, especially since based on our data above we know that the query itself can take between 5 and 8 seconds to complete.&amp;nbsp; Therefore, we should never be calling the same query until the first one completes.&amp;nbsp; On the second question, we leveraged the&amp;nbsp;"Execution Plan" feature in SQL Server to provide advice on how to improve our query itself.&amp;nbsp; Adding the index recommended below greatly improved the performance of query.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/8468.executionplan.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Suggestion solution from SQL Server Execution Plan:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/4857.missingindex.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Results&amp;nbsp;from the&amp;nbsp;performance tuning:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/2330.Fix.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;In summary, we reduced overall CPU utilization from 78% to 35% reducing it by more than half.&amp;nbsp; Further, we leveraged some terrific tools such as Perfmon, XPerf and Activity monitor to determine root cause and implement solution.&amp;nbsp;If you come across a similar situation, these tools and troubleshooting steps may be of some benefit.&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3419583" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="SCVMM 2008 R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM+2008+R2/" /><category term="troubleshoot performance" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/troubleshoot+performance/" /><category term="SQL Performance" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SQL+Performance/" /><category term="Perfmon" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Perfmon/" /><category term="how to troubleshoot high CPU" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/how+to+troubleshoot+high+CPU/" /><category term="XPerf" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/XPerf/" /><category term="Activity Monitor" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Activity+Monitor/" /><category term="High CPU" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/High+CPU/" /></entry><entry><title>DPM 2010 Backup Error 0x800423F4</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2011/02/03/dpm-2010-backup-error-0x800423f4.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2011/02/03/dpm-2010-backup-error-0x800423f4.aspx</id><published>2011-02-03T21:09:00Z</published><updated>2011-02-03T21:09:00Z</updated><content type="html">&lt;p&gt;A customer reported an issue that they could not protect&amp;nbsp;virtual machines running various Microsoft workloads on a Windows Server 2008 R2 Enterprise Hyper-V Server.&amp;nbsp; In Hyper-V terms, these virtual machines are defined as &amp;ldquo;Child Partitions&amp;rdquo;.&amp;nbsp; More information about architecture can be found here:&lt;br /&gt;Hyper-V Architecture&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc768520(BTS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc768520(BTS.10).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At a high level, "The Volume Shadow Copy Service (VSS) is a set of COM interfaces that implements a framework to allow volume backups to be performed while applications on a system continue to write to the volumes.&amp;nbsp; Using a combination of flushing changes to disk and holding writes allows the system to become in a consistent state for backup."&lt;/p&gt;
&lt;p&gt;Overview of Processing a Backup Under VSS&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa384589(v=VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa384589(v=VS.85).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In my customer&amp;rsquo;s case, they are using (DPM) Microsoft Data Protection Manager 2010.&amp;nbsp; The error message reported in the jobs log was a consistency check failure.&lt;/p&gt;
&lt;p&gt;Type:&amp;nbsp;Consistency check&lt;br /&gt;Status:&amp;nbsp;Failed&lt;br /&gt;Description:&amp;nbsp;The VSS application writer or the VSS provider is in a bad state. Either it was already in a bad state or it entered a bad state during the current operation. (ID 30111 Details: VssError:The writer experienced a non-transient error.&amp;nbsp; If the backup process is retried,&lt;br /&gt;the error is likely to reoccur.&lt;br /&gt;&amp;nbsp;(0x800423F4))&lt;br /&gt;&amp;nbsp;More information&lt;br /&gt;End time:&amp;nbsp;2/2/2011 5:25:54 PM&lt;br /&gt;Start time:&amp;nbsp;2/2/2011 5:15:17 PM&lt;br /&gt;Time elapsed:&amp;nbsp;00:10:37&lt;br /&gt;Data transferred:&amp;nbsp;0 MB&lt;br /&gt;Cluster node&amp;nbsp;-&lt;br /&gt;Source details:&amp;nbsp;\Backup Using Child Partition Snapshot\MYBLOGVM&lt;/p&gt;
&lt;p&gt;Protection group:&amp;nbsp;BLOGGroup&lt;/p&gt;
&lt;p&gt;Items scanned:&amp;nbsp;0&lt;br /&gt;Items fixed:&amp;nbsp;0&amp;nbsp;&lt;/p&gt;
&lt;p&gt;C:\&amp;gt;err 0x800423F4&lt;br /&gt;# for hex 0x800423f4 / decimal -2147212300 :&lt;br /&gt;&amp;nbsp; VSS_E_WRITERERROR_NONRETRYABLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vswriter.h&lt;br /&gt;# indicates that the writer failed due to an error&lt;br /&gt;# that most likely would occur if another snapshot is created&lt;br /&gt;# 1 matches found for "0x800423F4"&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/800x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/8713.Capture.JPG" border="0" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Based on this error we can conclude that this is not necessarily a DPM issue but a VSS issue preventing DPM from working properly.&amp;nbsp; The first thing I always recommend is ensuring that DPM is running with the latest rollup available.&amp;nbsp; At the time this blog was authored, I applied the following update.&lt;/p&gt;
&lt;p&gt;System Center Data Protection Manager 2010 QFE Rollup [KB 2250444] &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f399fbfa-5c8b-4eb6-bda2-ea997745919a"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f399fbfa-5c8b-4eb6-bda2-ea997745919a&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After installing this update, the job still failed.&amp;nbsp; The error within DPM had a link called &amp;ldquo;More Information&amp;rdquo; referencing the following information:&lt;/p&gt;
&lt;p&gt;Automount should be enabled on all nodes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Error: (ID 30111 Details: Unknown error (0x800423f4) (0x800423F4))&lt;br /&gt;Posible solution: Enable automount (cmd /c mountvol.exe /E) on the Hyper-V host (on all nodes in a cluster if the hosts are part of a Failover Cluster)&lt;/p&gt;
&lt;p&gt;This Hyper-V server is not a part of a cluster but the error code is specific so I checked whether the automount feature of Windows was enabled, which is the default.&amp;nbsp; The system had automount disabled and after some research found that this is a requirement for child partitions to be backed up via VSS Hyper-V Writer.&amp;nbsp; I enabled automount and restarted consistency check jobs successfully!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/0363.Capture2.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/5758.Capture.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3384874" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="Automount" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Automount/" /><category term="VSS" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VSS/" /><category term="DPM 2010" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/DPM+2010/" /><category term="Backup Error 0x800423F4" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Backup+Error+0x800423F4/" /></entry><entry><title>The case of the PSRemotingTransportException</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/12/10/the-case-of-the-psremotingtransportexception.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/12/10/the-case-of-the-psremotingtransportexception.aspx</id><published>2010-12-10T23:10:00Z</published><updated>2010-12-10T23:10:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 14pt;"&gt;The case of the PSRemotingTransportException&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;I have a SCVMM 2008 R2\Hyper-V farm in which we use Powershell to automate provisioning of virtual machines.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;All of the servers are Windows Server 2008 R2.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;During our deployment process I encountered a failure and this of course sparked my interest to investigate further for root cause.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The script includes a command to remotely invoke a command executed on a Hyper-V server.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;In our environment, we have many volumes so to ease Administration we rename the volume label to match the customer VM for identification.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Therefore, we can correlate from a storage perspective which VMs reside on a particular volume from disk management for example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;At any rate, the command should rename the volume label.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;Invoke-Command -ComputerName $hostname -ScriptBlock {param($f, $e)cmd /c label /MP $f $e} -ArgumentList $accesspath, $vmname&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;[Error]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;The WSMan service could not launch a host process to process the given request.&amp;nbsp; Make sure the WSMan provider host server and proxy are properly registered. For more information, see the about_Remote_Troubleshooting Help topic.&amp;nbsp;&amp;nbsp;+ CategoryInfo: OpenError: (:) [], &lt;span style="background-color: #ffff00;"&gt;PSRemotingTransportException&amp;nbsp; + FullyQualifiedErrorId : PSSessionStateBroken&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;I found this puzzling since the server had been in production for almost two years without issue.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I executed the same command from my desktop without error.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I then executed the command from the same server from where the exception took place, still the command succeeded.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I took a look at the Windows Event Viewer and a few errors regarding with user profiles.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The event log named the profile owner as my service account that our automation depends.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;[Application Event Log]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpLast"&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;Event 1530 Windows detected your registry file is still in use by other applications or services. The file will be unloaded now. The applications or services that hold your registry file may not function properly afterwards.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;I logged server via RDP with my account and noticed that the profile for the service account had a status of &amp;ldquo;Backup&amp;rdquo; where it should say &amp;ldquo;Local&amp;rdquo;.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;This can occur when a profile cannot be loaded and a temporary profile is used instead. &lt;/span&gt;I deleted the user profile from User Profiles and logged off and then successfully established a remote desktop session with the service account as before this was not possible.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I found that new profile in a desired state &amp;ldquo;Local&amp;rdquo;.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I issued the same command to rename the volume label using the service account and it succeeded using the service account!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/6886.profile.png" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;Finally, I deployed some VMs using our automating and all Powershell tasks executed successfully. I wanted to share this in the event that someone else encountered this issue as its&amp;nbsp;quite odd&amp;nbsp;and the solution had no impact on customer&amp;rsquo;s or their running VMs.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The root cause was either a corrupt user profile or that profile was locked in use by another process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;Dave Guenthner [MSFT] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3374440" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="Powershell" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Powershell/" /><category term="PSRemotingTransportException" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/PSRemotingTransportException/" /><category term="PSRemotingTransportException  + FullyQualifiedErrorId : PSSessionStateBroken" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/PSRemotingTransportException++_2B00_+FullyQualifiedErrorId+_3A00_+PSSessionStateBroken/" /></entry><entry><title>How to change ownership of virtual machines via PowerShell with SCVMM 2008 R2</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/10/01/how-to-change-ownership-of-virtual-machines-via-powershell-with-scvmm-2008-r2.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/10/01/how-to-change-ownership-of-virtual-machines-via-powershell-with-scvmm-2008-r2.aspx</id><published>2010-10-01T14:29:00Z</published><updated>2010-10-01T14:29:00Z</updated><content type="html">&lt;p&gt;I recently spoke with a customer who owned roughly fifty virtual machines in his SCVMM environment and he needed to reassign ownership of all virtual machines to a teammate.&amp;nbsp; As you can imagine he was not interested in double clicking on all those virtual machines from the SCVMM console and change the owner property.&amp;nbsp; Is it possible to automate this task?&lt;br /&gt;Leveraging the PowerShell Cmdlets provided by the VMM team this can be achieved with the following script.&amp;nbsp; Just replace the variables with the appropriate values for your environment.&amp;nbsp; This task will reset ownership of all virtual machines one at a time.&lt;/p&gt;
&lt;p&gt;* Where "%Domain\1stUser% is the current owner and "%Domain\2ndUser% is the desired owner&lt;/p&gt;
&lt;p&gt;Get-VM -VMMServer "%YourVMMServername%" | where {$_.Owner -eq "%Domain\1stUser%"} | Set-VM -Owner "%Domain\2ndUser%"&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=08a9eeb9-86ff-4a4f-8dfa-165bd701aba9" title="System Center Virtual Machine Manager 2008 R2 Cmdlet Reference "&gt;System Center Virtual Machine Manager 2008 R2 Cmdlet Reference&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3359240" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="VMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM/" /><category term="SCVMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM/" /><category term="VMM R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM+R2/" /><category term="VMM 2008 R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM+2008+R2/" /><category term="Cmdlets" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Cmdlets/" /><category term="Powershell" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Powershell/" /><category term="Change owner of VM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Change+owner+of+VM/" /><category term="Set-VM -Owner" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Set_2D00_VM+_2D00_Owner/" /><category term="SCVMM 2008 R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM+2008+R2/" /></entry><entry><title>How to create a bootable ISO using tools from the WAIK</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/08/17/how-to-create-a-bootable-iso-using-tools-from-the-waik.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/08/17/how-to-create-a-bootable-iso-using-tools-from-the-waik.aspx</id><published>2010-08-17T20:18:00Z</published><updated>2010-08-17T20:18:00Z</updated><content type="html">&lt;p&gt;I encountered an issue where I needed to create a bootable ISO from a set of files.&amp;nbsp; In my SCVMM R2/Hyper-V environment, it's much easier in some instances to attach an ISO containing content versus trying to copy over the network etc.&amp;nbsp; Additionally, I could store the ISO in my SCVMM library for future needs.&amp;nbsp; In this example, I needed a ISO containing Windows Server 2003 media and did not have an Internet connection to download media from MSDN but I had the flat containing installation files on hand.&amp;nbsp; Microsoft provides the &lt;a title="Win7 WAIk" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34&amp;amp;displaylang=en" target="_blank"&gt;(WAIK) Windows&amp;reg; Automated Installation Kit (AIK) for Windows&amp;reg; 7 &lt;/a&gt;&amp;nbsp;which helps you to install, customize, and deploy Microsoft Windows.&amp;nbsp; I already had the WAIK installed on my machine and leveraged a couple of executables to create the ISO.&amp;nbsp; I used the following steps:&lt;/p&gt;
&lt;p&gt;1. Created a folder called C:\tools and placed oscdimg.exe and etfsboot.com in directory.&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/1401.1.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;2. Created a folder called C:\flat and copied my installation files to directory.&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/1220.2.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;3. From an elevated command prompt, executed&lt;/p&gt;
&lt;p&gt;C:\tools&amp;gt;oscdimg.exe -etfsboot.com -n -h c:\flat c:\foo.iso where -b specifies the location of the El Torito boot sector file, -n Enables long file names,-h Includes hidden files and directories and foo.iso is the name of the ISO to be created.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img border="0" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/0358.3.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;You can obtain detailed information about command line options for oscdimg.exe from Windows Automated Installation Kit (WAIK) Users's Guide for Windows 7 in section "Oscdimg Command-Line Options"&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3350569" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="bootable ISO creation" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/bootable+ISO+creation/" /><category term="How to create a bootable ISO" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/How+to+create+a+bootable+ISO/" /><category term="WAIK" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/WAIK/" /><category term="free tool to create ISO" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/free+tool+to+create+ISO/" /></entry><entry><title>Using SCVMM Cmdlets to change VM startup and shutdown actions</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/08/13/using-scvmm-cmdlets-to-automate-virtual-machine-configuration.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/08/13/using-scvmm-cmdlets-to-automate-virtual-machine-configuration.aspx</id><published>2010-08-13T19:44:00Z</published><updated>2010-08-13T19:44:00Z</updated><content type="html">&lt;p&gt;I was recently contacted by a customer running VMM 2008 R2 managing a farm of virtual machines.&amp;nbsp; This customer had a business requirement where all virtual machines must have an action when physical server stops as "Turn off virtual machine".&amp;nbsp; Originally, the environment was scoped for lab testing.&amp;nbsp; As time passed, workloads running on these virtual machines began to be used more as&amp;nbsp;production than test.&amp;nbsp; Therefore, requirements changed and a new action when physical server stops as "SaveState" was needed.&amp;nbsp; The automatic start action did not require a change as it was already set to "Automatically turn on the virtual machine if it was running when physical server stopped." The customer was concerned about all the mouse clicks and administrative time required from the Virtual machine Manager Administrator Console required to make this change to&amp;nbsp;300 virtual machines.&amp;nbsp; Surely there must be an easier way to accomplish this task?&amp;nbsp; Further, the customer virtual machines resided in a HostGroup specific for his line of business defined in SCVMM.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;I downloaded the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=08A9EEB9-86FF-4A4F-8DFA-165BD701ABA9&amp;amp;displaylang=en" title="System Center Virtual Machine Manager 2008 R2 Cmdlet Reference"&gt;System Center Virtual Machine Manager 2008 R2 Cmdlet Reference&lt;/a&gt;&amp;nbsp;and wrote the follwing script which will change the action when physical server stops&amp;nbsp;to "SaveVM"&amp;nbsp; for all virtual machines in customer host group.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;* Notice line 7 where a Stop action value is evaluated.&amp;nbsp; I added this so script is smart enough to change property of VMs which are not in compliance only&lt;/p&gt;
&lt;p&gt;Param($VMMServer)&lt;br /&gt;Add-PSSnapin Microsoft.SystemCenter.VirtualMachineManager -ErrorAction SilentlyContinue&lt;br /&gt;Get-VMMServer -ComputerName $VMMServer&lt;br /&gt;$HostedVMs = @(Get-VM) | where {$_.HostGroupPath -like "All Hosts\TEST\*"} &lt;br /&gt;foreach ($i in $HostedVMs) &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if ($i.StopAction.value__ -ne 0)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;Set-VM $i -StopAction SaveVM&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;#&lt;br /&gt;.SYNOPSIS&lt;br /&gt;&amp;nbsp; You will need to pass in the VMM Server name at run time and modify line 4 with appropriate Hostgroup. This script will set properties to all VMs in that Hostgroup defined&lt;br /&gt;.DESCRIPTION&lt;br /&gt;&amp;nbsp; Set action when physical server stops to Saved State for VMs running in specific host group&lt;br /&gt;.Example &lt;br /&gt;&amp;nbsp; Script requires one parameter containing the VMMServer &lt;br /&gt;#&amp;gt;&lt;/p&gt;
&lt;p&gt;You will begin to see jobs running in VMM Administrator Console similar to below:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/0131.job.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;I would also like to point out that you can change line 6 and leverage Set-VM to change any number of other properties of your VM.&lt;/p&gt;
&lt;p&gt;This script sets the "Action when physical server stops" to "Shut down guest OS"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Param($VMMServer)&lt;br /&gt;Add-PSSnapin Microsoft.SystemCenter.VirtualMachineManager -ErrorAction SilentlyContinue&lt;br /&gt;Get-VMMServer -ComputerName $VMMServer&lt;br /&gt;$HostedVMs = @(Get-VM) | where {$_.HostGroupPath -like "All Hosts\TEST\*"} &lt;br /&gt;foreach ($i in $HostedVMs) &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if ($i.StopAction.value__ -ne 2)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;Set-VM $i -StopAction ShutdownGuestOS&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;#&lt;br /&gt;.SYNOPSIS&lt;br /&gt;&amp;nbsp; You will need to pass in the VMM Server name at run time and modify line 4 with appropriate Hostgroup. This script will set properties to all VMs running in that hostgroup&lt;br /&gt;.DESCRIPTION&lt;br /&gt;&amp;nbsp; Set action when physical server stops to Shutdown for VMs running in specific host group&lt;br /&gt;.Example &lt;br /&gt;&amp;nbsp; Script requires one parameter containing the VMMServer &lt;br /&gt;#&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/6404.Capturea.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3350003" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="SCVMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM/" /><category term="VMM 2008 R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM+2008+R2/" /><category term="Set-VM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Set_2D00_VM/" /><category term="Cmdlets" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Cmdlets/" /><category term="Powershell" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Powershell/" /><category term="StopAction" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/StopAction/" /><category term="Action when physical server stops" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Action+when+physical+server+stops/" /></entry><entry><title>How to identify Hyper-V VM by worker process if VM is hung on Starting/Stopping/Snapshotting</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/08/12/how-to-identify-hyper-v-vm-by-worker-process-if-vm-is-hung-on-starting-stopping-snapshotting.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/08/12/how-to-identify-hyper-v-vm-by-worker-process-if-vm-is-hung-on-starting-stopping-snapshotting.aspx</id><published>2010-08-12T16:04:00Z</published><updated>2010-08-12T16:04:00Z</updated><content type="html">&lt;p&gt;I recently&amp;nbsp;encountered a situation where one of my Hyper-V virtual machines in production environment hung at Starting... 0%.&amp;nbsp;&amp;nbsp;This particular server had about&amp;nbsp;30 other VMs running normally used by customers.&amp;nbsp;I wanted multiple methods and options to identify which VM worker process was hung and terminate it without disturbing other systems.&amp;nbsp; In the few instances that I have encountered this issue, terminating the worker process with VM allowed the VM to start normally.&amp;nbsp; I knew that each VM running would have a Virtual Machine Worker Process associated with it but I didn't know how to identify VM by worker process.&amp;nbsp; The first glance at Task Manager was daunting and unclear:&lt;/p&gt;
&lt;p&gt;&lt;img height="325" width="515" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/7725.worker.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I found three easy methods for identification:&lt;/p&gt;
&lt;p&gt;1. From within Task Manager you can click View -&amp;gt; Select Columns and check Image Path Name and Command Line&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/7485.Capture2.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now Task Manager provided an additional piece of information I was missing, "Command Line" revealing the GUID used by Hyper-V.&amp;nbsp; Since I knew the VM name which was experiencing the issue, I browsed the directory where the VM resided on file system.&amp;nbsp; Under the folder containing the VM a sub-directory existed name "Virtual Machines".&amp;nbsp; With that folder a XML resided, I simply documented part of that string and searched matching name in task manager.&amp;nbsp;Once I identified the process I could terminate it from task manager.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/2022.Capture3.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;2. Since I am a Mark Russinovich fan, I naturally turned to Process Explorer for help.&amp;nbsp; I simply went to live.sysinternals.com and download Process Explorer and launched with elevated rights.&amp;nbsp; (This is just an example, which is the reason the GUID between screen shots do not match, but they certainly would if real)&amp;nbsp; Once worker process has been identified in the same way as above, you can use the "Kill process" button.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/1682.Capture4.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3. Finally, I downloaded process monitor from live.sysinternals.com.&amp;nbsp; This time I used the name of the VM called "FINDMEVM"as a filter to help identify the GUID for XML file.&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/8154.Capture4.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Use same process as options 1 and 2 to terminate process.&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3349778" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>SCVMM 2008 R2 Creating Template with Keyboard Layout</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/08/06/vmm-2008-r2-creating-template-with-keyboard-layout.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/08/06/vmm-2008-r2-creating-template-with-keyboard-layout.aspx</id><published>2010-08-06T14:38:00Z</published><updated>2010-08-06T14:38:00Z</updated><content type="html">&lt;p&gt;I recently saw a forum post asking for a procedure to deploy a sysprepped VM and have the keyboard layout something other than English.&amp;nbsp; SCVMM builds an unattend.xml and by default sets English as default language.&amp;nbsp; You can override that value by placing section of the unattend.xml in the library with the desired settings and associate with template.&amp;nbsp; In my case I have chosen to deploy Windows 7 with German keyboard layout.&amp;nbsp; The values in my custom unattend were:&lt;/p&gt;
&lt;p&gt;&amp;lt;settings pass="oobeSystem"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="&lt;a href="http://schemas.microsoft.com/WMIConfig/2002/State"&gt;http://schemas.microsoft.com/WMIConfig/2002/State&lt;/a&gt;" xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;InputLocale&amp;gt;0x00000407&amp;lt;/InputLocale&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SystemLocale&amp;gt;de-DE&amp;lt;/SystemLocale&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UserLocale&amp;gt;de-DE&amp;lt;/UserLocale&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UILanguage&amp;gt;de-DE&amp;lt;/UILanguage&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UILanguageFallback&amp;gt;en-US&amp;lt;/UILanguageFallback&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/component&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/settings&amp;gt;&lt;/p&gt;
&lt;p&gt;I performed a clean install of Windows 7 X64 Enterprise into a workgroup and sysprepped VM without an unattend.xml, shutdown and exported in Hyper-V.&amp;nbsp; I then copied the VHD to library share along with custom unattend.xml named "x64 08 de-DE.xml", ran a job in VMM to refresh library share.&amp;nbsp; At this point you can create a new template with customization and add a reference to the custom unattend.xml from library share.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/1524.tempkey.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see the deployment results in default input language as German.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img height="247" width="360" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/7178.defaultkey.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3348820" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="template" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/template/" /><category term="SCVMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM/" /><category term="Keyboard layout" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Keyboard+layout/" /><category term="VMM R2" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM+R2/" /></entry><entry><title>SCVMM R2 Deployments with customization under the hood</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/07/21/scvmm-r2-deployments-with-customization-under-the-hood.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/07/21/scvmm-r2-deployments-with-customization-under-the-hood.aspx</id><published>2010-07-21T17:17:00Z</published><updated>2010-07-21T17:17:00Z</updated><content type="html">&lt;h1 align="center"&gt;SCVMM R2 Deployments with customization under the hood&lt;/h1&gt;
&lt;p&gt;SCVMM streamlines and simplifies operating systems deployments by way of templates with customization.&amp;nbsp; This technology creates a sysprep.inf or unattend.xml on the fly based on operating system associated with the template.&amp;nbsp; This is very powerful as the System Administrator does not need to be a deployment expert with the WAIK or other tools to easily deploy Windows in an automated fashion. &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In a basic scenario, I attach a Windows DVD to a VM and perform a clean build in a workgroup.&amp;nbsp; In a more advanced scenario I may leverage (MDT) Microsoft Deployment Toolkit to provide quality control leveraging task sequences for applications and customizations.&amp;nbsp; You can now Sysprep, shutdown VM, export in Hyper-V and copy VHD to SCVMM library share.&amp;nbsp; You must manually refresh the library share from SCVMM Administrator Console or wait for standard refresh interval.&amp;nbsp; Based on the VHD you just stored, created a template with customization and input appropriate fields such as product key or organization name.&lt;/p&gt;
&lt;p&gt;[Creating the template from VHD]&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-31/6305.Capture.JPG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now we are ready for a deployment.&amp;nbsp; SCVMM will copy VHD over the network via BITS network service to Hyper-V host; attach virtual floppy disk containing a dynamically generated answer file.&amp;nbsp; The setup engine of Windows will look for well know locations for answer files.&amp;nbsp; In this case, since its Windows XP, the sysprep.inf will be found on the virtual floppy and subsequently automating (OOBE) Out of Box Experience.&lt;/p&gt;
&lt;p&gt;Collecting a &lt;a href="http://blogs.technet.com/b/jonjor/archive/2009/04/07/scvmm-tracing-made-easy.aspx"&gt;SCVMM trace&lt;/a&gt; while deployment job is running will reveal steps taken to complete task.&amp;nbsp; For brevity, I will show a few of the main subtasks highlighting the overall process.&amp;nbsp; In this case the trace shows a sysprep.inf as template was based on Windows XP Operating System.&lt;/p&gt;
&lt;p&gt;[Trace Exert]&lt;/p&gt;
&lt;p&gt;Cmdlet New-VM:&lt;/p&gt;
&lt;p&gt;Placement: Final DeploymentPreference for the set: is: BITS&lt;/p&gt;
&lt;p&gt;Description Deploy file (using BITS over HTTPS): 0 of 1 files (76.50 MB/3.25 GB) time remaining &lt;/p&gt;
&lt;p&gt;Inside GenerateSysPrepFile:&lt;/p&gt;
&lt;p&gt;[Sysprep.inf being created]&lt;/p&gt;
&lt;p&gt;GenerateSysPrepFile: Adding sysprep entry, Section = UserData, Key = FullName, Value = User&lt;/p&gt;
&lt;p&gt;GenerateSysPrepFile: Adding sysprep entry, Section = UserData, Key = OrgName, Value = Microsoft&lt;/p&gt;
&lt;p&gt;GenerateSysPrepFile: Adding sysprep entry, Section = UserData, Key = ComputerName, Value = DAVG12345624 in targetFile = C:\ProgramData\Microsoft\Virtual Machine Manager\0febe968-2417-41ac-94dc-2c55e0202582\sysprep.inf&lt;/p&gt;
&lt;p&gt;[Copying sysprep.inf to virtual floppy]&lt;/p&gt;
&lt;p&gt;Initializing CreateSysprepVfdSubtask to create vfd file C:\ProgramData\Microsoft\Virtual Machine Manager\0febe968-2417-41ac-94dc-2c55e0202582\DAVG12345624.vfd containing customized sysprep.inf&lt;/p&gt;
&lt;p&gt;[Deploying virtual floppy to Hyper-V host and attaching to VM]&lt;/p&gt;
&lt;p&gt;Initializing DeployVfdFilesSubtask to deploy vfd file C:\ProgramData\Microsoft\Virtual Machine Manager\0febe968-2417-41ac-94dc-2c55e0202582\DAVG12345624.vfd from VMMSERVER.DAVELAB.com to c:\images\DAVG12345624\DAVG12345624.vfd on HYPERVHOST.DAVELAB.com&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Initializing attachSysPrepVfdToVmSubtask to attach floppy image c:\images\DAVG12345624\DAVG12345624.vfd to VM 762968F7-E598-49E7-93F8-F9E7303BB1E7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;As you can see, VMM tracing is a great way to not only troubleshoot problems but also gain more insight on how the product works overall.&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3345637" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="VMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/VMM/" /><category term="customization" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/customization/" /><category term="template" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/template/" /><category term="SCVMM" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/SCVMM/" /><category term="deployment" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/deployment/" /></entry><entry><title>DPM 2010 Remote Agent Install (windows firewall settings)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/davguents_blog/archive/2010/07/20/dpm-2010-remote-agent-install-windows-firewall-settings.aspx" /><id>http://blogs.technet.com/b/davguents_blog/archive/2010/07/20/dpm-2010-remote-agent-install-windows-firewall-settings.aspx</id><published>2010-07-20T17:10:00Z</published><updated>2010-07-20T17:10:00Z</updated><content type="html">&lt;p&gt;I was recently tasked with setting up a DPM 2010 environment to troubleshoot a customer issue.&amp;nbsp; When attempting to deploy the DPM agent from the DPM Administrator console, I received an error 349. &amp;ldquo;An error occurred when the agent operation attempted to transfer agent installation files to &amp;lt;server name&amp;gt;.&amp;nbsp; Review the error details, take the appropriate action, and then retry the agent operation.&amp;rdquo;&lt;br /&gt;&amp;nbsp;In my case the DPM Server and protected agents were all Windows Server 2008 R2.&amp;nbsp; The out of box firewall settings do not allow DPM Server and agent to communicate.&amp;nbsp; When running the "Protection Agent Installation Wizard" I noticed the "Install Agent" option is for computers where required firewall settings have already been configured.&amp;nbsp; Since I did not know what those setting should be, I opted to execute agent installer manually from a share on the DPM Server to resolve issue.&lt;br /&gt;[Option A]&lt;br /&gt;&lt;a href="file://\\%DPMServer\c$\Program"&gt;\\%DPMServer\c$\Program&lt;/a&gt;Files\Microsoft DPM\DPM\ProtectionAgents\RA\3.0.7696.0\amd64\DPMAgentInstaller_x64.exe %DPMServerName%&lt;br /&gt;If you do not pass in the DPMServer name you may need to run the second command on the protected server to update/create firewall rules.&lt;/p&gt;
&lt;p&gt;[Option B]&lt;br /&gt;C:\Program Files\Microsoft Data Protection Manager\DPM\bin&amp;gt;SetDpmServer.exe -DPMServerName %DPMServerName%&lt;/p&gt;
&lt;p&gt;[Output from command line]&lt;br /&gt;Configuring dpm server settings and firewall settings for dpm server&lt;br /&gt;Configuration completed successfully!!!&lt;/p&gt;
&lt;p&gt;After the commands were executed I was successfully able to manage agents from DPM Administrator Console.&amp;nbsp; Reviewing Windows Firewall with Advanced Security shows several new inbound rules for dpmra.exe.&lt;/p&gt;
&lt;p&gt;[DPM 2010 Error Code Catalog]&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff399290.aspx"&gt;http://technet.microsoft.com/en-us/library/ff399290.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: &lt;/p&gt;
&lt;p&gt;Each DPM QFE comes with a new version of the agent and is installed on the DPM server under C:\Program Files\Microsoft DPM\DPM\agents\RA\&amp;lt;version&amp;gt;&amp;nbsp; folder&lt;br /&gt;For instance KB 2250444 agent is under the 3.0.7706.0 folder and KB 2465832 is under 3.0.7707.0 folder.&amp;nbsp; You can use the agent from the QFE version or the RTM version defined&amp;nbsp;above, then update the agent to the latest under the DPM agents console &amp;ndash; it will say update available, just click the link and it will automatically install the latest agent.&lt;/p&gt;
&lt;p&gt;Dave Guenthner [MSFT] &lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/p&gt;
&lt;div class="mcePaste" id="_mcePaste" style="position: absolute; width: 1px; height: 1px; overflow: hidden; top: 0px; left: -10000px;"&gt;﻿&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3345375" width="1" height="1"&gt;</content><author><name>Dave Guenthner MSFT</name><uri>http://blogs.technet.com/davguent/ProfileUrlRedirect.ashx</uri></author><category term="Firewall" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Firewall/" /><category term="Data Protection Manager" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Data+Protection+Manager/" /><category term="Agent" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/Agent/" /><category term="DPM 2010" scheme="http://blogs.technet.com/b/davguents_blog/archive/tags/DPM+2010/" /></entry></feed>