<?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; Microsoft</title>
	<atom:link href="http://laslow.net/category/microsoft/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>Deploying Email Signatures with a Login Script</title>
		<link>http://laslow.net/2012/04/13/deploying-email-signatures-with-a-login-script/</link>
		<comments>http://laslow.net/2012/04/13/deploying-email-signatures-with-a-login-script/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 17:23:42 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Batch Files]]></category>
		<category><![CDATA[Outlook]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1414</guid>
		<description><![CDATA[I work for an SMB, but we&#8217;re past the size where it&#8217;s &#8216;easy&#8217; to go around to everyone&#8217;s computers and deploy a new email signature. We also have prescribed branding, but staff inevitably will find a font they like better for their signature and will destroy that branding and consistency without hesitation. So the other, [...]]]></description>
			<content:encoded><![CDATA[<p>I work for an SMB, but we&#8217;re past the size where it&#8217;s &#8216;easy&#8217; to go around to everyone&#8217;s computers and deploy a new email signature. We also have prescribed branding, but staff inevitably will find a font they like better for their signature and will destroy that branding and consistency without hesitation.</p>
<p>So the other, I finally got around to making things easier for myself. Rather than try to convince everyone to leave their signatures alone, and rather than go around to everyone&#8217;s computer and have them login so I can change their signature, I sent out instructions on how to set your signature in Outlook (in Options, under the Mail Format tab), and then hammered out a few lines in to the existing login script:</p>
<blockquote>
<div>REM Copy email signature</div>
<div>c:</div>
<div>cd \</div>
<div>if exist %appdata%\Microsoft\Signatures goto COPY</div>
<div>md %appdata%\Microsoft\Signatures</div>
<div>:COPY</div>
<div>cd  %appdata%\Microsoft\Signatures</div>
<div>del *.* /q</div>
<div>copy Q:\Marketing\EmailSignatures\%username%.* .\</div>
</blockquote>
<p>The first two lines (after the Remark) make sure that the script is in the root of the C: drive (other parts of the login script not listed here move around, and as we&#8217;re deleting files later on with a wildcard it&#8217;s worth it to make sure we&#8217;re in the right place).</p>
<p>Next, it checks to make sure that the Signatures folder exists. If you&#8217;ve already been in to the Signatures area in Outlook it will create the folder for you, however if this is the first time the user is logging in and their profile is just being created, that folder won&#8217;t be there, so we make Outlook create it.</p>
<p>After that, we delete the contents of the folder &#8212; I can do this because I know that our staff should only be using the one signature. If you&#8217;re in an environment where that isn&#8217;t the case, this is a Bad Idea.</p>
<p>Finally, we copy the new signature off the shared drive. In this case, we have a plain-text signature and and HTML version, and the filenames are prefixed with the users username, so I can make use of the username environmental variable to automatically select the right files.</p>
<p>The first time the script runs users had to go back in to Signature Options and select the new signature, but after that, because the filename doesn&#8217;t change, Outlook will remember the selection and staff will always have a copy of the (correct, consistently-branded) signature.</p>
<p>Like I said, very basic, and there are a few improvements that could be make to the batch script, but it works well enough for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2012/04/13/deploying-email-signatures-with-a-login-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Driver Signature Enforcement in Windows 8 CP</title>
		<link>http://laslow.net/2012/03/14/disable-driver-signature-enforcement-in-windows-8-cp/</link>
		<comments>http://laslow.net/2012/03/14/disable-driver-signature-enforcement-in-windows-8-cp/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 23:19:13 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Beta Testing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Support]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Drivers]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1406</guid>
		<description><![CDATA[So, one of the big issues I&#8217;ve had with the Windows 8 Consumer Preview is that Microsoft now not only forces you to use Digitally Signed Drivers (this isn&#8217;t new, as Windows 7 requires them as well), but also checks to see if the driver has been modified and will fail to install if it [...]]]></description>
			<content:encoded><![CDATA[<p>So, one of the big issues I&#8217;ve had with the Windows 8 Consumer Preview is that Microsoft now not only forces you to use Digitally Signed Drivers (this isn&#8217;t new, as Windows 7 requires them as well), but also checks to see if the driver has been modified and will fail to install if it has.</p>
<p>This is a problem for anyone who needs to modify a driver .INF to support their device (*cough*Android ADB Drivers*cough*). Fortunately, there is a (slightly complicated) workaround.</p>
<p>To get started:</p>
<ol>
<li>From the Metro Start Screen, open Settings (move your mouse to the bottom-right-corner of the screen and wait for the pop-out bar to appear, then click the Gear icon).</li>
<li>Click &#8216;More PC Settings&#8217;.</li>
<li>Click &#8216;General&#8217;.</li>
<li>Scroll down, and click &#8216;Restart now&#8217; under &#8216;Advanced startup&#8217;.</li>
<li>Wait a bit.</li>
<li>Click &#8216;Troubleshoot&#8217;.</li>
<li>Click &#8216;Advanced Options&#8217;</li>
<li>Click &#8216;Windows Startup Settings&#8217;</li>
<li>Click Restart.</li>
<li>???</li>
<li>Profit!</li>
</ol>
<p>When your computer restarts, select &#8216;<strong>Disable driver signature enforcement</strong>&#8216; from the list. You can now load your modified driver. Reboot again once the driver is installed and all will be well.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2012/03/14/disable-driver-signature-enforcement-in-windows-8-cp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PowerShell Script to Set AD User Password from List</title>
		<link>http://laslow.net/2012/03/05/powershell-script-to-set-ad-user-password-from-list/</link>
		<comments>http://laslow.net/2012/03/05/powershell-script-to-set-ad-user-password-from-list/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 17:59:58 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Short]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1398</guid>
		<description><![CDATA[We&#8217;re moving to a new system on our public access computers that will require that staff provide a password for clients to login to the computers. Rather than training staff to change the password daily, I decided it would be easier to write a PowerShell script that runs as a Scheduled Task on the server [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re moving to a new system on our public access computers that will require that staff provide a password for clients to login to the computers. Rather than training staff to change the password daily, I decided it would be easier to write a PowerShell script that runs as a Scheduled Task on the server every morning. It changes the password to one randomly selected from a word list (one word per line in a .txt file), and then writes the password to a file in a location only staff have access to so that they will know what it is.</p>
<p>To use this, copy the section below to a text file and save it as <em>ChangePass.ps1</em> - note that you will need to <a href="http://technet.microsoft.com/en-us/library/ee176949.aspx" target="_blank">allow scripts to be executed</a> before this will work. Information about running .ps1 as a scheduled task <a href="http://social.technet.microsoft.com/Forums/nl/winserverpowershell/thread/79c2e170-38be-4682-8533-77721c838abf" target="_blank">is available here</a>.</p>
<blockquote><p>#Import the Active Directory Module<br />
Import-Module ac*</p>
<p>#Grabs a random line from WordList.txt (enter the full path, in quotes if the path contains a space)<br />
$pwd = Get-Content C:\Script\WordList.txt | Get-Random</p>
<p>#Uncomment the next line to print the selected password to the console<br />
#Write-Host $pwd</p>
<p>#Convert the selected password to a Secure String so it can be accepted by the commandlet<br />
$secure = convertto-securestring $pwd -asplaintext -force</p>
<p>#Set the password &#8211; replace username<br />
Set-ADAccountPassword -Identity username -NewPassword $secure -reset</p>
<p>#Write the password to a file so the staff will know what it is &#8211; add your own path<br />
$pwd | Out-File &#8220;C:\Share\Todays Password.txt&#8221;</p></blockquote>
<p>So when the script is down, the text file located in C:\Share (or whatever you&#8217;ve changed it to) will contain the password. Be aware that this file will be overwritten every time the script is run, so don&#8217;t edit the file &#8211; you&#8217;re changes will be lost.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2012/03/05/powershell-script-to-set-ad-user-password-from-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>IPv6 over an IPv4 Tunnel on a Dlink DIR-825 Rev. B</title>
		<link>http://laslow.net/2011/06/27/ipv6-over-an-ipv4-tunnel-on-a-dlink-dir-825-rev-b/</link>
		<comments>http://laslow.net/2011/06/27/ipv6-over-an-ipv4-tunnel-on-a-dlink-dir-825-rev-b/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 04:52:53 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1254</guid>
		<description><![CDATA[Although I missed World IPv6 Day, I was bored the other night and decided to finally setup an IPv6 tunnel. To do this, I registered a free account with Hurricane Electric&#8217;s Tunnel Broker. The process was a breeze and in no time I had a regular tunnel created. From there, it was all up to [...]]]></description>
			<content:encoded><![CDATA[<p>Although I missed <a href="http://en.wikipedia.org/wiki/World_IPv6_Day" target="_blank">World IPv6 Day</a>, I was bored the other night and decided to finally setup an IPv6 tunnel. To do this, I registered a free account with <a href="http://www.he.net/" target="_blank">Hurricane Electric&#8217;s</a> <a href="http://tunnelbroker.com/" target="_blank">Tunnel Broker</a>. The process was a breeze and in no time I had a regular tunnel created. From there, it was all up to the Dlink router.</p>
<p>A few notes:</p>
<ol>
<li>Make sure you have the latest firmware for your DIR-825 Rev. B. At the time of writing, it&#8217;s version 2.05(NA).</li>
<li>You will need to enable &#8220;WAN Ping Respond&#8221; &#8211; this can be found under <strong>Advanced</strong> -&gt; <strong>Advanced Network</strong>. You can safely disable this after you finish complete the process and your tunnel is working. This is needed so that Tunnel Broker (TB, from here on out) can confirm your public-facing IP address and link it to your tunnel.</li>
</ol>
<p>So, that out of the way, once Tunnel Broker has confirmed your tunnel is available, login to your router and do the following:</p>
<ol>
<li>Under the main <strong>Setup</strong> tab, click <strong>IPv6</strong>.</li>
<li>Click the <strong>Manual IPv6 Internet Connection Setup</strong> button. <em>Do not</em> use the wizard.</li>
<li>For the <strong>IPv6 CONNECTION TYPE</strong>, choose <strong>IPv6 in IPv4 Tunnel</strong>.</li>
<li>In the <strong>Remote IPv4 Address</strong> box, enter the <strong>Server IPv4 Address</strong> provided by TB.</li>
<li>In the <strong>Remote IPv6 Address</strong> box, enter the <strong>Server IPv6 Address</strong> provided by TB.</li>
<li>The <strong>Local IPv6 Address</strong> is the <strong>Client IPv6 Address</strong> from TB.</li>
<li>Under the <strong>IPv6 DNS SETTINGS</strong> heading, choose <strong>Use the following IPv6 DNS servers</strong> and enter the <strong>Anycasted IPv6 Caching Nameserver</strong> provided by TB in the <strong>Primary IPv6 DNS Server</strong> box (TB did not provide me with a secondary DNS address).</li>
<li>Finally, uncheck <strong>Enable DHCP-PD</strong> under the <strong>LAN IPv6 ADDRESS SETTINGS</strong> heading.</li>
<li>Leave the settings under the <strong>ADDRESS AUTOCONFIGURATION SETTINGS</strong> heading as their defaults.</li>
<li>Click the <strong>Save Settings</strong> button at the top of the page and let the router do it&#8217;s thing. It will take some time to &#8216;measure the internet connection&#8217; &#8211; this is normal.</li>
</ol>
<p>You&#8217;re almost done. At this point, if you go to the <strong>Status </strong>tab and choose <strong>IPv6</strong> from the options down the left side of the page, you should see the TB information you entered, and <strong>Network Status</strong> should say <strong>Connected</strong>.</p>
<p>The rest of the work depends on your operating system. I use Windows 7 on my main PC, which natively supports IPv6 (as does OS X and most *nix distros). As IPv6 is enabled by default, I simply had to open an <strong>Elevated Command Prompt</strong> and type:</p>
<blockquote><p>ipconfig /release</p>
<p>ipconfig /renew</p></blockquote>
<p>After it finished thinking, ipconfig spat out the new network configuration which included the correct IPv4 and IPv6 addresses. I opened Firefox and browsed to <a href="http://ipv6.google.com" target="_blank">http://ipv6.google.com</a> &#8211; success! Everything works! You can also confirm that IPv6 is working by using the <strong>nslookup</strong> tool from a command prompt like so:</p>
<blockquote><p>C:\Users\Laslow&gt;nslookup<br />
Default Server:  ordns.he.net<br />
Address:  2001:470:20::2</p>
<p>&gt; xbox.com<br />
Server:  ordns.he.net<br />
Address:  2001:470:20::2</p>
<p>Non-authoritative answer:<br />
Name:    xbox.com<br />
Addresses:  2a01:111:f009::3b03<br />
65.55.42.140</p>
<p>&gt;</p></blockquote>
<p>As you can see, the IPv6 nameserver came back with an IPv6 AAAA record (2a01:111:f009::3b03) and an IPv4 A record (65.55.42.140) for <a href="http://xbox.com" target="_blank">xbox.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/06/27/ipv6-over-an-ipv4-tunnel-on-a-dlink-dir-825-rev-b/feed/</wfw:commentRss>
		<slash:comments>1</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>Short: Sneaky Microsoft Isn&#8217;t So Sneaky</title>
		<link>http://laslow.net/2011/03/22/short-sneaky-microsoft-isnt-so-sneaky/</link>
		<comments>http://laslow.net/2011/03/22/short-sneaky-microsoft-isnt-so-sneaky/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 18:47:45 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Short]]></category>
		<category><![CDATA[Fighting Dirty]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1169</guid>
		<description><![CDATA[&#160; As pointed out by @lukec on Twitter earlier today, Microsoft apparently paid to be listed as the top result when you search for &#8216;firefox&#8217; on Twitter. What an odd coincidence, considering Firefox 4 was just released. &#160;]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div id="attachment_1170" class="wp-caption aligncenter" style="width: 272px"><a href="http://www.laslow.net/wp-content/uploads/2011/03/sneaky_microsoft.png"><img class="size-medium wp-image-1170" title="Sneaky-Sneaky" src="http://www.laslow.net/wp-content/uploads/2011/03/sneaky_microsoft-262x300.png" alt="Sneaky-Sneaky" width="262" height="300" /></a><p class="wp-caption-text">They aren&#39;t subtle, either.</p></div>
<p><a href="https://twitter.com/#!/lukec/status/50265422263615488" target="_blank">As pointed out by @lukec on Twitter earlier today</a>, Microsoft apparently paid to be listed as the top result when you search for &#8216;firefox&#8217; on Twitter. What an odd coincidence, considering Firefox 4 was just released.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/03/22/short-sneaky-microsoft-isnt-so-sneaky/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>Solved: X-FI Xtreme Audio PCI-E, Windows 7 x64, and a Microphone == No Love</title>
		<link>http://laslow.net/2011/02/08/solved-x-fi-xtreme-audio-pci-e-windows-7-x64-and-a-microphone-no-love/</link>
		<comments>http://laslow.net/2011/02/08/solved-x-fi-xtreme-audio-pci-e-windows-7-x64-and-a-microphone-no-love/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 06:23:53 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA["It's a Feature"]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Creative]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1128</guid>
		<description><![CDATA[My Realtek HD Audio onboard sound card died the other day, and as my motherboard was out of warranty, I opted to do the laziest thing and simply bought a PCI-Express sound card instead (which was a challenge, as none of the stores where I live that were open on Sundays sold sound cards. Go [...]]]></description>
			<content:encoded><![CDATA[<p>My Realtek HD Audio onboard sound card died the other day, and as my motherboard was out of warranty, I opted to do the laziest thing and simply bought a PCI-Express sound card instead (which was a challenge, as none of the stores where I live that were open on Sundays sold sound cards. Go figure).</p>
<p>Being cheap (and considering that the onboard card did just fine), I opted for a Soundblaster X-FI Xtreme Audio PCI-E (SB1040). I didn&#8217;t do a lot of research before making the purchase, which I probably should have, because the &#8216;X-FI&#8217; in the name of the card is an out-right lie. As it turns out, this is the only card in the X-FI line to use a legacy Audigy-series processor instead of an X-FI one.</p>
<p>As such, there&#8217;s a rather large issue with driver support. I was able to install the latest driver from Creative&#8217;s website (Web Update 2), and the audio-out worked fine, however I couldn&#8217;t get my microphone to work. At all.</p>
<p>On the back of the card, there&#8217;s a blue port for Line In which doubles as the Mic port (known, apparently, as a FlexiJack or Flexi-Jack). By default, Windows 7 detects it as only a Line In port with no option to change it. There&#8217;s supposed to be an option in the Creative Console Launcher, however the driver update from the website doesn&#8217;t install that. No matter, there was a separate download for that. Unfortunately, even after installing it there wasn&#8217;t an option to change the Line In jack to a Mic jack.</p>
<p>As it turns out, there&#8217;s a specific way to get it working that no one blog or forum post out there has managed to nail down. Here&#8217;s the trick.</p>
<ol>
<li>Download and install the <a href="http://support.creative.com/downloads/download.aspx?nDownloadId=10962" target="_blank">latest driver from Creative</a> (1.04.0000)</li>
<li>Reboot.</li>
<li>Download and install the <a href="http://support.creative.com/downloads/download.aspx?nDownloadId=11584" target="_blank">Creative Console Launcher</a> (Beta &#8211; 2.61.49).</li>
<li>Reboot.</li>
<li>Open the Creative Console Launcher (should be in the Start Menu under All Programs -&gt; Creative)</li>
<li>Click on the last icon (shown below) called &#8216;Jacks&#8217;.</li>
<li>On this screen you should be able to change the &#8216;FlexiJack&#8217; mode to Microphone (also shown below).</li>
</ol>
<div id="attachment_1131" class="wp-caption aligncenter" style="width: 207px"><a href="http://www.laslow.net/wp-content/uploads/2011/02/CCL.png"><img class="size-medium wp-image-1131" title="Creative Console Launcher" src="http://www.laslow.net/wp-content/uploads/2011/02/CCL-197x300.png" alt="Creative Console Launcher" width="197" height="300" /></a><p class="wp-caption-text">The Two Missing Options</p></div>
<p>That should be it! If this doesn&#8217;t work, there&#8217;s one more thing to try. Remove all of the Creative software, then install Windows 7 Service Pack 1 (at the time of writing this, still in Release Candidate form) and try the above again &#8211; I already had the SP1 Release Candidate installed when I did this, so it may or may not be required.</p>
<p>Good luck!</p>
<p><span style="color: #ff0000;"><strong>Update: </strong>I ended up returning this card because it lacks some very basic features that even generic onboard Realtek audio chips have, like Stereo Mix and Microphone Boost support. If you&#8217;re thinking of buying this card, think again!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/02/08/solved-x-fi-xtreme-audio-pci-e-windows-7-x64-and-a-microphone-no-love/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

