<?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>LaslowNET &#187; Windows</title>
	<atom:link href="http://laslow.net/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://laslow.net</link>
	<description></description>
	<lastBuildDate>Thu, 10 May 2012 20:19:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Short: Sticky Group Policies That Just Won&#8217;t Leave You Alone</title>
		<link>http://laslow.net/2011/07/07/short-sticky-group-policies-that-just-wont-leave-you-alone/</link>
		<comments>http://laslow.net/2011/07/07/short-sticky-group-policies-that-just-wont-leave-you-alone/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 21:05:29 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA["It's a Feature"]]></category>
		<category><![CDATA[Makes Sense]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Short]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[GPO]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1262</guid>
		<description><![CDATA[The other day I was testing a Group Policy Object (GPO) on a system and resides in an isolated Organizational Unit (OU) with Block Inheritance set. After I finished testing, I applied the GPO to the production OUs and promptly forgot about it. Fast forward to today. I was messing around on that system and [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I was testing a Group Policy Object (GPO) on a system and resides in an isolated Organizational Unit (OU) with Block Inheritance set. After I finished testing, I applied the GPO to the production OUs and promptly forgot about it.</p>
<p>Fast forward to today. I was messing around on that system and discovered that I left that one particular GPO in place. I fired up the Group Policy Management tool and removed the link to that GPO, did a <em>gpupdate /force</em> on that system, rebooted and went about my business. A few minutes later, I discovered that GPO was still in effect. I double-checked that the GPO wasn&#8217;t linked to that OU anymore, and that inheritance was still blocked, and did another <em>gpupdate /force,</em> but to no avail. A quick check of <strong>HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy\History</strong> showed that yes, the GPO was still being applied.</p>
<p>I did a little head scratching, and then found the answer. As it turns out, after linking the GPO to the other production OUs, I selected the &#8216;Enforce&#8217; option. By doing that, even after unlinking a GPO from an OU it will continue to be applied. I simply disabled the &#8216;Enforce&#8217; option, ran yet another <em>gpupdate /force</em>, and all was well.</p>
<p><strong>TL;DR Version: If you unlink a GPO from an OU, update the system, and the GPO is still being applied, disable the &#8216;Enforce&#8217; option on that policy and do another gpupdate.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/07/07/short-sticky-group-policies-that-just-wont-leave-you-alone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PFDAVAdmin and the Case of &#8220;Could Not Expand&#8221;</title>
		<link>http://laslow.net/2011/06/17/pfdavadmin-and-the-case-of-could-not-expand/</link>
		<comments>http://laslow.net/2011/06/17/pfdavadmin-and-the-case-of-could-not-expand/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 20:49:40 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1246</guid>
		<description><![CDATA[There are a number of articles out there about how to bulk-update permissions on calendars in Microsoft Exchange, most of them pointing to the PFDAVAdmin tool. The problem, though, is that you have to read the requirements for it very carefully. Case in point: I ran in to this when trying to run the tool [...]]]></description>
			<content:encoded><![CDATA[<p>There are a <a href="http://exchangeshare.wordpress.com/2008/05/27/faq-give-calendar-read-permission-on-all-mailboxes-pfdavadmin/" target="_blank">number</a> <a href="http://www.itexperience.net/2008/10/22/set-calendar-permissions-with-pfdavadmin/" target="_blank">of</a> <a href="http://social.technet.microsoft.com/Forums/fi-FI/exchangesvradmin/thread/dff4d2f4-da03-42db-81b5-7d113d2d5ded" target="_blank">articles</a> out there about how to bulk-update permissions on calendars in Microsoft Exchange, most of them pointing to the <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=22427" target="_blank">PFDAVAdmin tool</a>. The problem, though, is that you have to read the requirements for it very carefully. Case in point:</p>
<p><a href="http://laslow.net/wp-content/uploads/2011/06/pfdavadmin.jpg"><img class="aligncenter size-medium wp-image-1247" title="PFDAVAdmin &quot;could not expand&quot;" src="https://laslow.net/wp-content/uploads/2011/06/pfdavadmin-300x211.jpg" alt="PFDAVAdmin &quot;could not expand&quot;" width="300" height="211" /></a>I ran in to this when trying to run the tool from my Server 2003 x64-based Exchange 2007 server. It happened again when I tried to run it from a Server 2008 x64 box, and from my Windows 7 x64 workstation.</p>
<p>As it turns out, PFDAVAdmin requires <a href="http://www.microsoft.com/download/en/details.aspx?id=26" target="_blank">.Net Framework 1.1</a> to be installed. It isn&#8217;t recommended to install that directly on to your Exchange Server as it can cause issues with .Net 2.0, so I simply installed it on my Win7 x64 box, ignored the Compatibility Warning, and that was it &#8211; PFDAVAdmin worked perfectly.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/06/17/pfdavadmin-and-the-case-of-could-not-expand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ADMT: What I Learned</title>
		<link>http://laslow.net/2011/03/29/admt-what-i-learned/</link>
		<comments>http://laslow.net/2011/03/29/admt-what-i-learned/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 16:22:46 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ADMT]]></category>
		<category><![CDATA[Server 2003]]></category>
		<category><![CDATA[Server 2008]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1176</guid>
		<description><![CDATA[Years ago, long before I started working at my current job, management launched a new contract in a office building just across the street. At the time, wireless network connections were still in their infancy and not to be trusted, so the new office was set up with a pair of servers, a nice new [...]]]></description>
			<content:encoded><![CDATA[<p>Years ago, long before I started working at my current job, management launched a new contract in a office building just across the street. At the time, wireless network connections were still in their infancy and <em>not to be trusted</em>, so the new office was set up with a pair of servers, a nice new Active Directory Forest and Domain (DomainB), and a VPN to access resources on the primary network, DomainA.</p>
<p>Fast forward to three years ago, just before I was hired. The then-sysadmin was getting flak for the VPN being slow, so he installed a pair of wireless routers on the roofs of the buildings and linked the two networks. However, instead of getting rid of DomainB, he simply left it in place.</p>
<p>Fast forward to now. Due to cost issues, the contact in the remote office was physically moved to our main building. As such, their network equipment and servers came with them, which created cramped quarters <a href="http://www.laslow.net/2009/04/08/short-some-days-are-better-than-others/" target="_blank">in an already cramped space</a>. As such, I set about doing what should have been done years ago &#8211; migrating users from DomainB to DomainA.</p>
<p>There was a group of client computers that needed to go through a round of updates anyways, so those were simply re-imaged and joined to a separate, restricted network (DomainC) used for our clients only (this had been another pet peeve of mine &#8211; due to costs, the clients in that office were put on the same network and although they had their permissions restricted, it was still a concern in my mind). The main problem, though, was the staff workstations. Not only were they setup on DomainB, put PrimaryDC.DomainB was also an Exchange 2003 server, and TertiaryDC.DomainA was our primary mail server running Exchange 2007. The first step was to manually export the mail for the twelve staff members and create their DomainA accounts, and then get them setup on the DomainA Exchange server. Once that was up and running, the Exchange 2003 install was shutdown. Although it took a while to manually transfer the mail by exporting to .PST files and then importing it again, it was the cleanest way to do the move (and also encouraged users to clean out their mailboxes).</p>
<p>The last step was to actually get the users logging in to DomainA rather than DomainB. That&#8217;s where ADMT (Active Directory Migration Tool) comes in.</p>
<p>ADMT comes in a few &#8216;current&#8217; versions. 3.0 if the server it&#8217;s running on is Server 2003, 3.1 if it&#8217;s Server 2008, and 3.2 if it&#8217;s Server 2008 R2. The source domain (B) was running on Server 2003 boxes, but the target domain (A) was running mostly on Server 2008 boxes, so I installed ADMT 3.1 on one of those.</p>
<p>After getting it installed and playing around with it on a test VM, I learned a few things that helped me get all of the staff workstations migrated with minimal issues:</p>
<ul>
<li>Setup a Two-Way Trust between the domains first, but be aware that if users are already authenticating on both domains by using store credentials, that may break unless you also setup permissions for users of both domains on effected shares.</li>
<li>Double-check your DNS configuration. If both domains have separate Forward Lookup Zones (which they probably do), make sure that the DNS servers in both domains are setup to perform Zone Transfers between each other, and then check to make sure that all A and PTR records are actually correct and current.</li>
<li>Make sure that the user you are logged in to on the server running ADMT is in the Domain Admins group on the target domain, and the Administrators group in primary DC on the source domain.</li>
<li>Change the DNS servers that the computers to be migrated are using to the servers on the target domain. This is important, or after the computer migrations are complete you may run in to issues when logging in (for me, Active Directory decided to continually lock out user accounts of migrated users because of a missing A record in the source domain&#8217;s DNS zone).</li>
<li>If you have any local firewall software running on the workstations that are to be migrated, either temporarily disable it or add exceptions for the Netlogon Service, File and Printer Sharing, and Windows Management Instrumentation (although the last may not strictly be needed &#8211; it was hit-or-miss for me).</li>
<li>Run the following command on the workstations that you&#8217;re migrating: <strong>net localgroup &#8220;Administrators&#8221; &#8220;DomainAdomain admins&#8221;</strong> /ADD (changing DomainA to your target domain). This is important, as local admin rights are needed for the computer migration steps.</li>
<li>If users from your source domain are using resources on your target domain and using stored credentials to authenticate, delete those stored usernames/passwords from the workstation (in most cases, open Control Panel, then User Accounts, and click &#8216;Manage Network Passwords&#8217; on left). Then, once you have migrated the user accounts, give those accounts permission to access the required resources.</li>
<li>During the migration, if you are trying to migrate a computer account and you continually receive an error like <strong>ERR2:7666 Unable to access server service on the machine &#8216;computer.domain&#8217;.  Make sure netlogon and workstation services are running and you can authenticate yourself to the machine.  hr=0&#215;80070005. Access is denied.</strong>, and you&#8217;ve run the command above on the machine to give Domain Admins from the target domain local admin rights, you may need to remove the computer from the source domain, rejoin it to the source domain to re-establish the trust relationship, and then try the migration again.</li>
<li>After the migrations are done, make sure to go back to the DNS servers on your target domain and verify that the migrated computers&#8217; PTR records reflect the new domain suffix (eg, changed from &#8216;workstation1.domainB.&#8217; to &#8216;workstation1.domainA.&#8217; (and leave the trailing . in, or you&#8217;ll have trouble!).</li>
</ul>
<p>And that&#8217;s it! ADMT worked like a charm, and after using it to migrate and merge user accounts, and then migrate the computer accounts, everyone was off DomainB with out the hassle of needing to manually join DomainA and reconfigure the user accounts. By performing both the user account and computer account migrations, once the process was done users just had to login to their computers using &#8216;DomainAUsername&#8217; instead of &#8216;DomainBUsername&#8217; and everything was left exactly like it had been, right down to the desktop wallpaper.</p>
<p>And now I&#8217;m free to decommission two old servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/03/29/admt-what-i-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Folder Redirection to Mapped Network Drives: Frakking Stupid</title>
		<link>http://laslow.net/2011/03/08/folder-redirection-to-mapped-network-drives-frakking-stupid/</link>
		<comments>http://laslow.net/2011/03/08/folder-redirection-to-mapped-network-drives-frakking-stupid/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 02:10:51 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA["It's a Feature"]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Makes Sense]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[GPO]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Windows Server]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1140</guid>
		<description><![CDATA[While updating a set of public computers to have private file shares (making use the Home Directory account property in AD to automagically map the drive), I ran in to an issue with folder redirection. I wanted to redirect all of the standard personal folders (Documents, Pictures, Music, et al&#8230;) to the same share, so [...]]]></description>
			<content:encoded><![CDATA[<p>While updating a set of public computers to have private file shares (making use the Home Directory account property in AD to automagically map the drive), I ran in to an issue with folder redirection. I wanted to redirect all of the standard personal folders (Documents, Pictures, Music, et al&#8230;) to the same share, so I setup folder redirection in a Group Policy Object to point those folders to the users home drive (for this example, we&#8217;ll say drive Z: was mapped to \serversharefolder).</p>
<p>I gave the user full rights to the share, and assigned it Owner status as well (all through the Security tab, as standard), and then configured the GPO as appropriate. After rebooting the client computer, however, I checked the Documents folder only to find that it was still pointing at the default location. A quick peek in to Event Viewer revealed the following error:</p>
<blockquote><p>Failed to apply policy and redirect folder &#8220;Documents&#8221; to &#8220;\serversharefolder&#8221;.</p>
<p>Redirection options=0&#215;80009211.</p>
<p>The following error occurred: &#8220;Can not create folder &#8220;\serversharefolder&#8221;".</p>
<p>Error details: &#8220;Access is denied.&#8221;.</p></blockquote>
<p>Which was very strange indeed, as a brief check confirmed that yes, the domain user did in fact have full access to both the folder and the share.</p>
<p>Then, something I saw (and stupidly, ignored) when setting up the GPO came back to me. I fired up the GPO editor and and browsed back to the Documents folder redirection section (User ConfigurationPoliciesWindows SettingsFolder Redirection). After double-clicking the Documents option, and then switching to the Settings tab (shown below), I noticed the top two boxes (&#8220;Grant User Exclusive Rights to Documents&#8221; and &#8220;Move the Contents of Documents to the New Location&#8221;) were selected by default. Given that this was an &#8216;Access Denied&#8217; error, I figured one of these two settings must be at fault, so I unchecked them.</p>
<p><a href="http://www.laslow.net/wp-content/uploads/2011/03/folder_redirection_stupidity.png"><img class="aligncenter size-medium wp-image-1142" title="Folder Redirection Stupidity" src="http://www.laslow.net/wp-content/uploads/2011/03/folder_redirection_stupidity-300x212.png" alt="Folder Redirection Stupidity" width="300" height="212" /></a>After rebooting the client computer, the Documents folder redirected to the Home Drive as expected.</p>
<p>Here&#8217;s where it gets stupid, though. On the &#8216;Target&#8217; tab in the Documents properties window (visible in the screenshot above), if you have the &#8216;Target folder location&#8217; set to &#8216;Redirect to the users home directory&#8217;, it explicitly adds a note that says &#8220;This settings ignores the value of the &#8216;Grant User Exclusive Rights to Documents&#8217;  option on the settings page.</p>
<p>Apparently not, Microsoft. Apparently not.</p>
<p><strong>TL;DR Version: If Folder Redirections aren&#8217;t applying correctly, Event Viewer is showing &#8216;Access Denied&#8217; messages, and you&#8217;re using Home Folders specified in the user account, disable &#8216;Grant User Exclusive Rights to Documents&#8217;  option on the settings page of the GPO. </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/03/08/folder-redirection-to-mapped-network-drives-frakking-stupid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Server 2008 R2 and Windows 7 Client SMB2 Share Refresh Issue</title>
		<link>http://laslow.net/2011/01/31/server-2008-r2-and-windows-7-client-smb2-share-refresh-issue/</link>
		<comments>http://laslow.net/2011/01/31/server-2008-r2-and-windows-7-client-smb2-share-refresh-issue/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 17:58:50 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Server 2008 R2]]></category>
		<category><![CDATA[SMB2]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1125</guid>
		<description><![CDATA[That&#8217;s one heck of a long post title, but it at least describes the issue. Here&#8217;s the setup: 1x Windows Server 2008 R2 with Hyper-V/AD/File Server roles, and two shared folders. Server has dual onboard NICs, one with full access to the client network below, the other to a separate network to allow the server to be [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s one heck of a long post title, but it at least describes the issue. Here&#8217;s the setup:</p>
<ul>
<li>1x Windows Server 2008 R2 with Hyper-V/AD/File Server roles, and two shared folders. Server has dual onboard NICs, one with full access to the client network below, the other to a separate network to allow the server to be managed remotely (no gateway configured on this NIC).</li>
<li>18x Windows 7 x86 clients</li>
<li>Standard network setup (read: no VLANs, bridging, etc&#8230;. Just one network switch).</li>
</ul>
<p>The previous server used by these clients worked perfectly. However, upon replacing the server with the one above, my users began noticing an odd issue. If they copy one or more files/folders to a share that is visible to all of the computers, the file(s) don&#8217;t immediately show up on <em>all</em> of the computers &#8211; usually 3/4 of the computers will see the file(s). On the 1/4 that don&#8217;t, users either have to wait ~10 minutes before the files will appear, or they can reboot to force a refresh. Simply pressing F5, or right-clicking in the shared folder and choosing &#8216;Refresh&#8217; doesn&#8217;t work &#8211; only waiting or rebooting does.</p>
<p>In terms of a solution, I&#8217;ve seen a number of suggestions, but none seem to work. The server has dual-onboard Broadcom Gigabit NICs, and a number of forum posts have suggested disabling Checksum Offload and Large Send Offload, but this made no difference. Neither did disabling IPv6 on the client and server side. Disabling firewalls on the client and server side made no difference, nor did <a href="http://www.vistaheads.com/forums/microsoft-public-windows-vista-file-management/176210-windows-explorer-doesnt-refresh-folder-shares.html" target="_blank">this post suggesting a few registry settings to change</a>.</p>
<p>What did fix the issue, though, was <a href="http://www.petri.co.il/how-to-disable-smb-2-on-windows-vista-or-server-2008.htm" target="_blank">disabling SMB2</a>. Once all of the clients were connecting using the old SMB protocol the issue disappeared. I have no idea why SMB2 is an issue as I haven&#8217;t take the time to troubleshoot further with SMB2-specific settings, however this at least has things running normally.</p>
<p><strong>TL;DR Version:</strong> If you have clients connecting to a Windows Server 2008 R2 box and the contents of file shares aren&#8217;t refreshing immediately or until reboot, disable SMB2 on the server.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/01/31/server-2008-r2-and-windows-7-client-smb2-share-refresh-issue/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Server 2008 x64 &#8220;Please wait for the Windows Modules Installer&#8221; and Boot Looping</title>
		<link>http://laslow.net/2010/12/29/server-2008-x64-please-wait-for-the-windows-modules-installer-and-boot-looping/</link>
		<comments>http://laslow.net/2010/12/29/server-2008-x64-please-wait-for-the-windows-modules-installer-and-boot-looping/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 18:10:59 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA["It's a Feature"]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[0x8000FFFF]]></category>
		<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[Windows Update]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1087</guid>
		<description><![CDATA[Yesterday, while running a large lump of Windows Updates, one of my Windows Server 2008 x64 boxen decided to start boot-looping in the most annoying way. After applying a group of around ten updates and restarting, the server rebooted to the Welcome Screen and hung on the message &#8220;Please wait for the Windows Modules Installer&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, while running a large lump of Windows Updates, one of my Windows Server 2008 x64 boxen decided to start boot-looping in the most annoying way. After applying a group of around ten updates and restarting, the server rebooted to the Welcome Screen and hung on the message &#8220;Please wait for the Windows Modules Installer&#8221; before eventually giving up and rebooting. After that, it booted back to the Welcome Screen and this time displayed the &#8220;Configuring Updates Stage 3 of 3 0%&#8221; message. All was well, I thought, until two minutes later when the screen went black and the server (gracefully) rebooted again, and then proceeded to loop under the same conditions, regardless of which startup mode is selected (Safe Mode, Last Known Good Configuration Mode, etc&#8230; will all produce the same results).</p>
<p>The news, unfortunately, isn&#8217;t good. Google was little help in the case, as most of the suggestions didn&#8217;t work. The only one that did was the suggestion to rename <em>pending.xml</em> in <strong>C:Windowswinsxs</strong>, however this comes with a</p>
<h3><span style="color: #ff0000;">VERY BIG,<br />
</span><span style="color: #ff0000;">ALL-CAPS,<br />
</span><span style="color: #ff0000;"><strong>RED-LETTER WARNING</strong></span>:</h3>
<p>By renaming said .xml file, your server will boot. It will still briefly display the <em>Configuring Updates</em> message, however the login screen will appear very shortly after. The problem is that, because there are updates that have been partially installed and aborted, Windows Update is now <a href="http://www.urbandictionary.com/define.php?term=borked" target="_blank">borked</a> (attempts to run it will only result in a 0x8000FFFF error code, which is a generic code for &#8220;Something is broken, but we don&#8217;t know what&#8221;). Based on my own experience, and that of others, there is really no way to fix it. Sorry. <a href="http://support.microsoft.com/kb/946414" target="_blank">Microsoft KB article 946414</a> that suggests that this error state can be fixed by deleting the <em>PendingXmlIdentifier</em> value from HKEY_LOCAL_MACHINECOMPONENTS, however it doesn&#8217;t work in this case, as the entire Windows Update backend is full of half-completed operations that can&#8217;t be cleared or rolled back.</p>
<p>In short, if this has happened to you, I regret to inform you that your server is basically <a href="http://en.wikipedia.org/wiki/FUBAR" target="_blank">FUBAR</a> &#8211; the only upshot of this is that as the server will now boot entirely to the desktop, and (unless something is <em>really</em> broken) all services should be working (note: I did have to reboot any Hyper-V virtual machines that were suspended during the reboot in order to regain network access to them). As such, you should be able to do whatever is needed to backup the server before reformatting it. Even in the event you could get Windows Update working again, I wouldn&#8217;t trust the server in a production environment.</p>
<p><strong>TL;DR Version: If this happens to you, rename <em>c:windowswinsxspending.xml</em> using a Windows DVD to boot from, and then backup the server in prep for a reinstall.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/12/29/server-2008-x64-please-wait-for-the-windows-modules-installer-and-boot-looping/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Stupid Mistake: &#8220;The requested session access is denied&#8221; When Logging In</title>
		<link>http://laslow.net/2010/09/21/stupid-mistake-the-requested-session-access-is-denied-when-logging-in/</link>
		<comments>http://laslow.net/2010/09/21/stupid-mistake-the-requested-session-access-is-denied-when-logging-in/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 16:23:30 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Makes Sense]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1027</guid>
		<description><![CDATA[I was trying to assist another admin with a login issue on a Windows Server 2008 terminal server when I encountered a slightly different login error than the one he was describing. When attempting to connect to the terminal server with a user not in the Domain Administrators security group I received the following message: [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to assist another admin with a login issue on a Windows Server 2008 terminal server when I encountered a slightly different login error than the one he was describing. When attempting to connect to the terminal server with a user not in the Domain Administrators security group I received the following message:</p>
<blockquote><p>&#8220;The requested session access is denied&#8221;</p></blockquote>
<p>The problem, it turns out, was me. When connecting, I used a desktop shortcut for Remote Desktop Connect that had the &#8220;/admin&#8221; switch applied, which instructs Remote Desktop to connect to the Console session, which is restricted to administrators only. Using a regular shortcut without said switch solved the problem.</p>
<p>D&#8217;oh.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/09/21/stupid-mistake-the-requested-session-access-is-denied-when-logging-in/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Old-ish News: Micorosoft Kills Off SteadyState</title>
		<link>http://laslow.net/2010/09/16/old-ish-news-micorosoft-kills-off-steadystate/</link>
		<comments>http://laslow.net/2010/09/16/old-ish-news-micorosoft-kills-off-steadystate/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 05:22:00 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Deep Freeze]]></category>
		<category><![CDATA[SteadyState]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1013</guid>
		<description><![CDATA[I&#8217;ve only used Microsoft SteadyState a few times, but it&#8217;s a great product if you can&#8217;t afford the per-seat licenses for Faronics Deep Freeze. So when I was given the task of putting together a small lab environment with old computers and no funding, SteadyState was the first thing that came to mind. Unfortunately, when [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve only used <a href="http://technet.microsoft.com/en-us/magazine/2008.01.desktopfiles.aspx" target="_blank">Microsoft SteadyState</a> a few times, but it&#8217;s a great product if you can&#8217;t afford the per-seat licenses for <a href="http://faronics.com" target="_blank">Faronics Deep Freeze</a>. So when I was given the task of putting together a small lab environment with old computers and no funding, SteadyState was the first thing that came to mind.</p>
<p>Unfortunately, when I went to download the latest version of it, 2.5, I found this notice on the download page:</p>
<blockquote><p><strong>ANNOUNCEMENT:  Windows SteadyState will continue to be  available for download through December 31, 2010.  Support for Windows  SteadyState will continue to be available through the Microsoft  Knowledge Base portal through June 30, 2011. </strong></p>
<p><strong>This announcement does not affect your right to continue to use Windows SteadyState.</strong></p></blockquote>
<p>Wait, what? Further digging revealed almost no information other than a vague statement saying that SteadyState wouldn&#8217;t be updated to support Windows 7. Additionally, while the system requirements state that Windows XP SP3 is supported, there are no references to IE8 &#8212; only IE7. Even worse is the list of Windows Vista supported versions &#8212; RTM and SP1 only.</p>
<p>I decided to try it out on a Virtualbox VM running XP SP3 and Internet Explorer 8 (although it technically isn&#8217;t supported), as that&#8217;s what my little lab will be running, and the results were actually pretty surprising. SteadyState actually works quite well with IE8 &#8211; all of the restrictions/settings function as expected, and it&#8217;s very easy to lock everything down.</p>
<p>So if you&#8217;re looking for a free alternative to Deep Freeze, and running Windows XP, then SteadyState is the way to go &#8211; just make sure to grab it before December 31st of 2010, or you&#8217;re out-of-luck. If you&#8217;ve moved on to Windows 7, though, prepare to pay up for a few Deep Freeze licenses (which, to be fair, are worth the cost if you can work it in to a budget).</p>
<p><strong><em>Update</em><span style="font-weight: normal;">: Microsoft has published <a href="http://windowsteamblog.com/windows/b/springboard/archive/2010/09/27/steady-state-for-windows-7.aspx" target="_blank">a posting on the Windows Team Blog about why SteadyState wasn&#8217;t updated for Windows 7</a>. As some of the comments say, the whitepapers provided fall short of what most admins who use[d] SteadyState want &#8212; disk protection that isn&#8217;t available in Windows 7.</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/09/16/old-ish-news-micorosoft-kills-off-steadystate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apple Needs to Attend (to) Bootcamp</title>
		<link>http://laslow.net/2010/09/15/apple-needs-to-attend-to-bootcamp/</link>
		<comments>http://laslow.net/2010/09/15/apple-needs-to-attend-to-bootcamp/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 22:41:47 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1021</guid>
		<description><![CDATA[My primary workstation at work is an Apple iMac 9,1 (in Apple terms, an &#8216;early-2009&#8242; model), and spends 99% of its uptime running Windows 7 x64 (which actually isn&#8217;t supported on this model &#8211; you need to manually run the x64 Bootcamp .msi on the disk to install, as the setup.exe reports that 64-bit Windows [...]]]></description>
			<content:encoded><![CDATA[<p>My primary workstation at work is an Apple iMac 9,1 (in Apple terms, an &#8216;early-2009&#8242; model), and spends 99% of its uptime running Windows 7 x64 (which actually isn&#8217;t supported on this model &#8211; you need to manually run the x64 Bootcamp .msi on the disk to install, as the setup.exe reports that 64-bit Windows isn&#8217;t supported).</p>
<p>During the installation of Bootcamp, though I noticed something &#8212; Apple although Apple appears to check which model of computer you&#8217;re using for compatibility purposes, it doesn&#8217;t do the same when determining which drivers to install. As such, the installation take approximately <em><strong>eight-billion</strong></em> times longer to complete than it should (sorry, I&#8217;m no good with numbers), and leaves <em>Programs and Features </em>looking like this:</p>
<p style="text-align: center;"><a href="http://www.laslow.net/wp-content/uploads/2010/09/Apple_Drivers.png"><img class="size-medium wp-image-1022 aligncenter" title="Apple's Leftovers" src="http://www.laslow.net/wp-content/uploads/2010/09/Apple_Drivers-300x228.png" alt="Apple's Leftovers" width="300" height="228" /></a></p>
<p style="text-align: left;">I mean, really Apple? Is it really that hard to add a simple WMI call (﻿<em>WMIC BIOS Get SMBIOSBIOSVersion</em>, perhaps?) and compare it to a simple <a href="http://en.wikipedia.org/wiki/Comma-separated_values" target="_blank">CSV-file</a> and only install the drivers required for that system?</p>
<p style="text-align: left;">It&#8217;s a good thing they stopped making the <em>I&#8217;m a Mac</em> commercials, or Justin Long would need to put on fifty pounds to account for Apple&#8217;s bloat.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/09/15/apple-needs-to-attend-to-bootcamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2007 OWA/ActiveSync with Two SSL Certificates</title>
		<link>http://laslow.net/2010/07/20/exchange-2007-owaactivesync-with-two-ssl-certificates/</link>
		<comments>http://laslow.net/2010/07/20/exchange-2007-owaactivesync-with-two-ssl-certificates/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 18:12:43 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=955</guid>
		<description><![CDATA[Yes, it is possible. It&#8217;s not pretty by any means (a proper Class 2 SSL Certificate is the best way to go), but it can be done. Click Continue Reading for the process. Background I work for a non-profit organisation that&#8217;s primarily funded by the government. As such, we receive only a little funding for [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it is possible. It&#8217;s not pretty by any means (a proper Class 2 SSL Certificate is the best way to go), but it can be done. Click <em>Continue Reading</em> for the process.</p>
<p><span id="more-955"></span></p>
<p><strong><span style="text-decoration: underline;">Background</span></strong><br />
<span style="font-weight: normal;">I work for a non-profit organisation that&#8217;s primarily funded by the government. As such, we receive only a little funding for &#8216;technical extras&#8217;, and sadly even a cheap Class 2 SSL cert is out of financial reach at this time. The has caused a bit of a problem.</span></p>
<p><span style="font-weight: normal;">We run an Exchange 2007 server on a Windows Server 2003 box with Active Directory in along side the primary and secondary domain controllers. Our internal network was setup (by my predecessor) as <em>foo.local</em>. Our email, on the other hand, is hosted externally (as our ISP does not allow email servers on business accounts &#8211; go figure) on the domain <em>mail.bar.com.</em> Because of <em>foo </em>and <em>bar, </em>a single Class 1 Cert can&#8217;t be used &#8211; and therein lies the problem.</span></p>
<p><span style="font-weight: normal;">When I access OWA (Outlook Web App) internally, I can use the internal name of the mailserver (<em>mail.foo.local</em>), which uses a self-signed Class 1 Server SSL cert by the Windows Server built-in certificate authority.  Of course, when accessed externally, my browser flips out because it doesn&#8217;t recognize my own certificate authority as valid and the name on the cert itself doesn&#8217;t match (<em>mail.foo.local</em> compared to the external domain <em>exchange.bar.com</em>). Although this is technically alright, because I know enough to verify the cert manually, this confuses my users and can potentially lead to man-in-the-middle attacks.</span></p>
<p><strong><span style="text-decoration: underline;">The Solution</span></strong><br />
<span style="font-weight: normal;">IIS only allows one SSL cert per Web Site. Without a Class 2 SSL cert (they allow for multiple domains to be specified) it isn&#8217;t technically possible to have two domains SSL-protected. If I apply a valid Class 1 cert for the external domain, the internal Outlook clients will throw the SSL error instead, which is much more of a problem.</span></p>
<p><span style="font-weight: normal;">Therefore, the solution is two create a second Web Site (with different port assignments, otherwise you need a second NIC and IP address) in IIS and mirror the OWA and ActiveSync Virtual Directories. This is actually easier than it sounds. Note that the following instructions are for IIS on </span><span style="font-weight: normal;"><strong>Windows Server 2003</strong>, and <strong>Exchange 2007</strong>.</span></p>
<ol>
<li>Open IIS, then expand the Web Sites entry.</li>
<li>Right-click on the Web Sites entry and choose &#8220;New&#8221; -&gt; &#8220;Web Site&#8221;.</li>
<li>Choose &#8220;Next&#8221;, then give it a name (and remember it &#8211; I chose &#8220;OWA-External&#8221;), and &#8220;Next&#8221; again.</li>
<li>If you have a second NIC/IP address on the server, specify it. Otherwise, change Port 80 to an unused port (I choose 82), then click &#8220;Next&#8221;.</li>
<li>Choose a new folder to be the root of the website. It&#8217;ll stay empty, so it doesn&#8217;t matter where you put it. I created <em>C:\inetpub2</em>. Click &#8220;Next&#8221; again.</li>
<li>Leave the defaults selected (Read), then click &#8220;Next&#8221; and &#8220;Finish&#8221;.</li>
<li>Right click on the new website (&#8220;OWA-External&#8221; in this example&#8221;) and choose &#8220;Permissions&#8221;.</li>
<li>Add the &#8220;Internet Guest Account&#8221; for your server (typically, <em>DOMAINIUSR_SERVERNAME</em>) and give it Read, Read &amp; Execute, and List permissions.</li>
<li>Click OK and close IIS.</li>
</ol>
<p>Now that the website is setup, we need to tell Exchange to create the Virtual Directories. If you try to manually create them in IIS by mirroring the settings from the existing entries under the Default Web Site, you won&#8217;t be able to access OWA.</p>
<ol>
<li>Open the Exchange Management Shell.</li>
<li>Type <em>Get-OwaVirtualDirectory</em> and press Enter. This will show the existing Virtual Directories.</li>
<li>Now type <em>New-OwaVirtualDirectory -WebSiteName &#8220;OWA-External&#8221;</em> (replacing <em>OWA-External</em> with your website name) and hit Enter. It make take a minute or two to process, depending on the speed/load of your server.</li>
<li>If you don&#8217;t get any errors, type <em>Get-OwaVirtualDirectory</em> again and you should see a new <em>owa</em> entry in the list.</li>
<li>Next is to create a new ActiveSync Virtual Directory in the new site. The command to do that is <em>New-ActiveSyncVirtualDirectory -WebSiteName &#8220;OWA-External&#8221; -ExternalURL &#8220;http://exchange.bar.com/Microsoft-Server-ActiveSync&#8221; </em>(replacing <em>OWA-External</em> and the URL with your own, of course).</li>
</ol>
<p>Now open up the Exchange Management Console. Browse to <em>Server Configuration</em> -&gt; <em>Client Access</em>. Under the <em>Outlook Web Access</em> and <em>Exchange ActiveSync</em>, you should now have two entries each &#8211; one for the original Web Site (usually <em>Default Web Site</em>), then one for the one you just created.</p>
<p>Now you&#8217;re almost done. Back in IIS, open the Properties for the new Web Site and set your SSL port to something other than 443 (unless you have two IP addresses on the server), then install your valid Class 1 SSL cert for your external domain (<em>exchange.bar.com</em>, in this example &#8211; I got my Class 1 cert free from <a href="http://www.startssl.com" target="_blank">www.startssl.com</a>). The only thing left to do now is to port forward. On your router/gateway/firewall/whatever, forward port 443 to your Exchange server&#8217;s IP (or second IP if you&#8217;ve set it up that way) and, if appropriate the correct port. In my case, I forward port 443 to port 444, as well as port 444 to 444. Both are necessary if you&#8217;re using a port other than 443.</p>
<p>Once all this is done, restart IIS on your server and all should be ready. You&#8217;ll now have a valid cert internally and externally!</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/07/20/exchange-2007-owaactivesync-with-two-ssl-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

