<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>My Scripts and Tips &#187; Windows</title>
	<atom:link href="http://www.tipsandscripts.net/archives/category/windows/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tipsandscripts.net</link>
	<description>Various things I&#039;ve found useful in my travels</description>
	<lastBuildDate>Mon, 22 Aug 2011 07:28:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Slow Upload Performance</title>
		<link>http://www.tipsandscripts.net/archives/101</link>
		<comments>http://www.tipsandscripts.net/archives/101#comments</comments>
		<pubDate>Wed, 19 Jan 2011 05:02:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tipsandscripts.net/?p=101</guid>
		<description><![CDATA[We were having issues where some PCs had slow upload performance over the WAN. The WAN link was a E3 (34Mbps) with round trip latency of around 50ms and was not congested. When uploading to SharePoint, some PCs would upload at between 150 and 250 KBps. Otherwise identical PCs would upload at over 1MBps. The [...]]]></description>
			<content:encoded><![CDATA[<p>We were having issues where some PCs had slow upload performance over the WAN. The WAN link was a E3 (34Mbps) with round trip latency of around 50ms and was not congested. When uploading to SharePoint, some PCs would upload at between 150 and 250 KBps. Otherwise identical PCs would upload at over 1MBps. The PCs were running the same physical hardware, the same Operating Systems (Windows XP, although we later reproduced the issue with Windows 7), the same patches and the same drivers. We also confirmed that they had the same TCP settings in HKLM\SYSTEM\CurrentControlSet\Services\TCPIP.</p>
<p>A comparison of packet captures was interesting. The graphic below shows two uploads.</p>
<div id="attachment_102" class="wp-caption aligncenter" style="width: 300px"><a href="http://www.tipsandscripts.net/wp-content/uploads/2011/01/capt-compare.png"><img class="size-medium wp-image-102" title="Comparison of two TCP flows" src="http://www.tipsandscripts.net/wp-content/uploads/2011/01/capt-compare-290x300.png" alt="Comparison of two TCP flows" width="290" height="300" /></a><p class="wp-caption-text">Comparison of two TCP flows</p></div>
<p>The one on the left is of a slow upload between host &#8220;Client&#8221; and the SharePoint server &#8220;Server&#8221;. The one on the right is of a fast upload between host &#8220;Client2&#8243; and the SharePoint server &#8220;Server&#8221;. Both are actually Flow Graphs from <a href="http://www.wireshark.org/">Wireshark</a>. Notice that the one on the left pauses after 60ms (0.060 seconds) and waits for an ACK from Server. However, the one on the right continues on. Yet the TCP Window sizes are identical in both flows.</p>
<p>In the end we discovered another parameter in Windows. AFD.SYS is used to support Windows sockets applications. Registry parameters for ADF.SYS are found in HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters. The one that&#8217;s relevant is DefaultSendWindow. On the slow machines this parameter was not set and so used the default (decimal 8192 it seems). On the fast PC this was set to decimal 64512 (hex fc00).</p>
<p>Changing this value on the PCs with slow upload speed and then rebooting seems to have fixed the problem.</p>
<p>For more information on this parameter see <a href="http://saltwetbytes.wordpress.com/2008/05/20/network-the-relationship-between-tcpwindowsize-and-defaultreceivewindow/">Network: The relationship between TCPWindowSize and DefaultReceiveWindow</a>.</p>
<p>So, why was this value different between PCs. It seems that when you install the Citrix MetaFrame Client the installer automatically increases this value. The fast PCs all had the MetaFrame Client installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tipsandscripts.net/archives/101/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One solution to &#8220;The network path was not found&#8221; Windows error</title>
		<link>http://www.tipsandscripts.net/archives/70</link>
		<comments>http://www.tipsandscripts.net/archives/70#comments</comments>
		<pubDate>Mon, 18 Jan 2010 08:30:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tipsandscripts.net/?p=70</guid>
		<description><![CDATA[I had an issue escalated to me where NetBIOS name resolution didn&#8217;t work on one particular machine. DNS was working &#8211; you could ping by hostname. However, you couldn&#8217;t connect to a remote share using hostnames (although connecting using IP addresses worked). As a number of other people had already looked at this before me [...]]]></description>
			<content:encoded><![CDATA[<p>I had an issue escalated to me where NetBIOS name resolution didn&#8217;t work on one particular machine. DNS was working &#8211; you could ping by hostname. However, you couldn&#8217;t connect to a remote share using hostnames (although connecting using IP addresses worked).</p>
<p>As a number of other people had already looked at this before me I assumed that the problem must be particularly fiendish and started Googling. I tried all the recommendations to reset Winsock using netsh etc. Nothing worked. I tried uninstalling anything that might be network related &#8211; that didn&#8217;t work either.</p>
<p>In the end I went back to the basics and found the problem. It seems that somewhere along the line the &#8220;TCP/IP NetBIOS Helper&#8221; service startup was set to Manual. I started the service and everything started working.</p>
<p>I have no idea how this service was changed from Automatic to Manual but it must have been some time ago as the user had been putting up with the problem for months.</p>
<p>So, if you get the above error and can ping the host by name I suggest you first make sure that the &#8220;TCP/IP NetBIOS Helper&#8221; service is running. After that try checking all the hard stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tipsandscripts.net/archives/70/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 and ATI &#8211; Screen does not wake from sleep after RDP</title>
		<link>http://www.tipsandscripts.net/archives/68</link>
		<comments>http://www.tipsandscripts.net/archives/68#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:04:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ATI]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tipsandscripts.net/?p=68</guid>
		<description><![CDATA[You might have the following problem with Windows 7 64 bit with ATI Radeon 2400 HD (default Windows drivers or latest drivers from ATI). If you RDP to the machine after Windows has put the screen to sleep you might find that when you later try to use the computer, there&#8217;s no signal being sent [...]]]></description>
			<content:encoded><![CDATA[<p>You might have the following problem with Windows 7 64 bit with ATI Radeon 2400 HD (default Windows drivers or latest drivers from ATI). If you RDP to the machine after Windows has put the screen to sleep you might find that when you later try to use the computer, there&#8217;s no signal being sent to the screen.</p>
<p>A work around is to change your power options within Windows Control Panel and set &#8220;Turn off the display:&#8221; to &#8220;Never&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tipsandscripts.net/archives/68/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Server 2003 W32Time Errors</title>
		<link>http://www.tipsandscripts.net/archives/33</link>
		<comments>http://www.tipsandscripts.net/archives/33#comments</comments>
		<pubDate>Thu, 19 Mar 2009 15:54:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tipsandscripts.net/?p=33</guid>
		<description><![CDATA[The time on my PC at work has been gradually getting out of wack. So I took a look at the PDC Emulator (PDCe)in the root of our Active Directory forest and found lots of W32Time errors like: The time provider NtpClient cannot reach or is currently receiving invalid time data from 192.168.1.1 (ntp.m&#124;0x8&#124;172.16.1.1:123-&#38;gt;192.168.1.1:123). 192.168.1.1 [...]]]></description>
			<content:encoded><![CDATA[<p>The time on my PC at work has been gradually getting out of wack. So I took a look at the PDC Emulator (PDCe)in the root of our Active Directory forest and found lots of W32Time errors like:<br />
<pre>The time provider NtpClient cannot reach or is currently receiving invalid time data from 192.168.1.1 (ntp.m|0x8|172.16.1.1:123-&amp;gt;192.168.1.1:123).</pre><br />
192.168.1.1 is a Windows Server 2003 machine in our DMZ. The DMZ server synchs the time with time.windows.com and the PDCe synchs the time with the DMZ server. This used to work fine (well after many teething problems) when the server in the DMZ ran Linux. However, since moving the function to a Windows server it seems to have failed.</p>
<p>Looking at the debug logs (see the entries for <a title="Enable NTP logging" href="http://technet.microsoft.com/en-us/library/cc773263.aspx" target="_blank">the various filelog registry keys</a> for information on enabling logging) I found the following errors:<br />
<pre><pre>149095 16:21:16.1250000s - ListeningThread -- response heard from 192.168.1.1:123 149095 16:21:16.1250000s - /-- NTP Packet:
149095 16:21:16.1250000s - | LeapIndicator: 3 - not synchronized;Â  VersionNumber: 3;Â  Mode: 4 - Server;Â  LiVnMode: 0xDC
149095 16:21:16.1250000s - | Stratum: 0 - unspecified or unavailable
149095 16:21:16.1250000s - | Poll Interval: 15 - out of valid range;Â  Precision: -6 - 15.625ms per tick
149095 16:21:16.1250000s - | RootDelay: 0x0000.0000s - unspecified;Â  RootDispersion: 0x0001.0400s - 1.01563s
149095 16:21:16.1250000s - | ReferenceClockIdentifier: 0x00000000 - unspecified
49095 16:21:16.1250000s - | ReferenceTimestamp:Â Â  0xCD676E70C58C64FD149095 16:21:16.1250000s -Â  - 12881592560771673500ns - 149092 12:09:20.7716735s
149095 16:21:16.1250000s - | OriginateTimestamp:Â Â  0xCD6B9DFC20000000149095 16:21:16.1250000s -Â  - 12881866876125000000ns - 149095 16:21:16.1250000s
149095 16:21:16.1250000s - | ReceiveTimestamp:Â Â Â Â  0xCD6B9D6D4D7C02AF149095 16:21:16.1250000s -Â  - 12881866733302673500ns - 149095 16:18:53.3026735s
149095 16:21:16.1250000s - | TransmitTimestamp:Â Â Â  0xCD6B9D6D4D7C02AF149095 16:21:16.1250000s -Â  - 12881866733302673500ns - 149095 16:18:53.3026735s
149095 16:21:16.1250000s - &amp;gt;-- Non-packet info:
149095 16:21:16.1250000s - | DestinationTimestamp: 149095 16:21:16.1250000s - 0xCD6B9DFC20000000149095 16:21:16.1250000s -Â  - 12881866876125000000ns149095 16:21:16.1250000s -Â  - 149095 16:21:16.1250000s
149095 16:21:16.1250000s - | RoundtripDelay: 000ns (0s)
149095 16:21:16.1250000s - | LocalClockOffset: -142822326500ns - 2:22.822326500
149095 16:21:16.1250000s - \--
149095 16:21:16.1250000s - Peer 192.168.1.1 (ntp.m|0x0|172.16.1.1:123-&amp;gt;192.168.1.1:123) is not Win2K. Setting compat flags.
149095 16:21:16.1250000s - Packet test 6 failed (not syncd or bad interval since last sync).
149095 16:21:16.1250000s - Packet test 7 failed (bad stratum).
149095 16:21:16.1250000s - Ignoring packet that failed tests from 192.168.1.1 (ntp.m|0x0|172.16.1.1:123-&amp;gt;192.168.1.1:123).</pre></pre><br />
Note the bad stratum message. I don&#8217;t know why these servers didn&#8217;t want to work together. The commands<br />
<pre>w32tm /stripchart /computer:192.168.1.1</pre><br />
and<br />
<pre>w32tm /monitor /computers:192.168.1.1</pre><br />
showed that they communicate using NTP. The way I got around it was to simply configure the PDCe to synch with the time server of a local ISP:<br />
<pre><pre>rem Stop the Windows Time service
net stop w32time

rem Set everything back to defaults
w32tm /unregister
w32tm /register

rem Start the Windows Time service
net start w32time

rem Specify the NTP server
w32tm /config /manualpeerlist:100.20.3.4 /syncfromflags:manual /reliable:yes /update</pre></pre><br />
Note I thought about synching the PDCe with time.windows.com, but that address resolves to time.microsoft.akadns.net &#8211; so I imagine that the IP address will change fairly often which would cause a problem on the firewall access-list.<br />
For troubleshooting information on Windows and NTP I recommend <a title="Windows Time and the W32TM service" href="http://www.mmmug.co.uk/files/216/download.aspx" target="_blank">Windows Time and the W32TM service</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tipsandscripts.net/archives/33/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Show Drive Letters First via Group Policy</title>
		<link>http://www.tipsandscripts.net/archives/8</link>
		<comments>http://www.tipsandscripts.net/archives/8#comments</comments>
		<pubDate>Sat, 01 Sep 2007 15:31:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Explorer]]></category>

		<guid isPermaLink="false">http://www.tipsandscripts.net/archives/8</guid>
		<description><![CDATA[Ever noticed how Windows Explorer, by default, shows the drive letter after the label. For example: \\longservername.subdomain.domain\AllOurData M: The problem with this is that in some dialogs you can&#8217;t see the drive letter. Wouldn&#8217;t it be better if it did it the other way around: M: \\longservername.subdomain.domain\AllOurData Here&#8217;s how you can change that using group [...]]]></description>
			<content:encoded><![CDATA[<p><a title="ShowDriveLettersFirst.zip" href="http://short.bur.st/techblog/wp-content/uploads/2007/09/showdrivelettersfirst.zip"></a>Ever noticed how Windows Explorer, by default, shows the drive letter after the label. For example:</p>
<p><span style="font-family: courier new">\\longservername.subdomain.domain\AllOurData M: </span></p>
<p>The problem with this is that in some dialogs you can&#8217;t see the drive letter. Wouldn&#8217;t it be better if it did it the other way around:</p>
<p><span style="font-family: courier new">M: \\longservername.subdomain.domain\AllOurData</span></p>
<p>Here&#8217;s how you can change that using group policy. First you need a custom Group Policy template file. Group Policy template files have a .ADM extension. Please see the text at the bottom of this post for an example.</p>
<p>To add the template do the following:</p>
<ul>
<li>Edit the Group Policy to be modified (or create a new one)</li>
<li>Expand Computer Configuration</li>
<li>Right click Administrative Templates and select Add/Remove Templates</li>
<li>Select the template file to add</li>
</ul>
<p>The template will add an entry under Administrative Templates called Customisations. Under that you will see another called Explorer Settings. If you click on that you won&#8217;t see anything in the right hand pane. That&#8217;s because you need to change a filter to view this setting. Do the following:</p>
<ul>
<li>On the menu select View and then Filtering</li>
<li>Untick &#8220;Only show policy settings that can be fully managed&#8221;</li>
</ul>
<p>You should now see an entry in the right hand pane. Select the option you want (for example, &#8220;Show all drive letters before the label&#8221;).</p>
<p>If you don&#8217;t want to use Group Policy then you will need to come up with some other way of setting the entry in the registry. The registry key is<br />
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer. The setting is a DWORD called ShowDriveLettersFirst. Values are:</p>
<p>0<br />
1<br />
2<br />
4</p>
<p>Setting 0 gives letters after the label (the default)<br />
Setting 1 gives network letters before the lable<br />
Setting 2 will mean no drive letters<br />
Setting 4 will give all drive letters before the label</p>
<p>You can download the administrative template from here &#8211;&gt;<strong> </strong><a title="ShowDriveLettersFirst.zip" href="http://www.tipsandscripts.net/wp-content/uploads/2007/09/showdrivelettersfirst.zip">ShowDriveLettersFirst.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tipsandscripts.net/archives/8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

