<?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>Evan Hoffman&#039;s silly writings. &#187; windows</title>
	<atom:link href="http://www.evanhoffman.com/evan/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.evanhoffman.com/evan</link>
	<description>When 3-nines uptime is just way too much.</description>
	<lastBuildDate>Mon, 06 Sep 2010 00:36:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Converting Exchange 2003 conference rooms to Exchange 2010</title>
		<link>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/</link>
		<comments>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 17:25:27 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2003]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[mailbox]]></category>
		<category><![CDATA[room]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=589</guid>
		<description><![CDATA[I&#8217;m wrapping up moving mailboxes to Exchange 2010. The last ones to be moved (except for BlackBerry users&#8230; thanks BES) are the conference rooms. So the first step was to move them using the Local Move tool, which was pretty simple. But I don&#8217;t want them in 2010 as user mailboxes if they can be [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m wrapping up moving mailboxes to Exchange 2010.  The last ones to be moved (except for BlackBerry users&#8230; thanks BES) are the conference rooms.  So the first step was to move them using the Local Move tool, which was pretty simple.  But I don&#8217;t want them in 2010 as user mailboxes if they can be designated as &#8220;rooms,&#8221; which they can.  So here&#8217;s how I&#8217;m doing it:</p>
<p><strong>Identify the mailboxes to be moved</strong></p>
<p>Once you figure out the syntax for the &#8220;-Filter&#8221; flag to get-mailbox, this is easy</p>
<pre>
[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*conference*") }

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Conference Room2          ConferenceRoom2      exch2010be1      unlimited
Production Conference ... productionconf       exch2010be1      unlimited
Conference Room 1         conference1          exch2010be1      unlimited
L&#038;D Conference Room       ldconference         exch2010be1      unlimited
Tech Conference Room      techconference       exch2010be1      unlimited
Client Services Confer... csconference         exch2010be1      unlimited
Suite 202 Conference Room 202conf              exch2010be1      unlimited
</pre>
<p><strong>Convert them to rooms</strong></p>
<p>As Microsoft says in <a href="http://technet.microsoft.com/en-us/library/bb201749.aspx">this story about converting mailboxes to rooms</a>, this can only be done via Exchange Management Shell (not EMC), so just pipe the output from the previous command to <code>Set-Mailbox -Type Room</code>:</p>
<pre>[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*confe
rence*") } | set-mailbox -type room
[PS] C:\Windows\system32>
</pre>
<p>Done!  Now when you create an appointment in Outlook 2007, in Scheduling Assistant, you can click the &#8220;Add Room&#8221; button to add a room.  Hooray.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ldapsearch on Active Directory</title>
		<link>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:40:18 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[ldapsearch]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=566</guid>
		<description><![CDATA[Just putting this here for safekeeping since I couldn&#8217;t remember the exact syntax. [evan@ehoffman 10:35:50 ~]$ ldapsearch -x -LLL -D "ldapuser@example.com" -w password -b "OU=Users,DC=example,DC=com" -s sub -H ldaps://activedirectory.example.com "(sn=hoffman)" cn mail displayName samaccountname dn: CN=Evan Hoffman,OU=Tech,OU=Users,DC=example,DC=com cn: Evan Hoffman displayName: Evan D. Hoffman sAMAccountName: ehoffman mail: Evan.Hoffman@example.com]]></description>
			<content:encoded><![CDATA[<p>Just putting this here for safekeeping since I couldn&#8217;t remember the exact syntax.</p>
<pre>
[evan@ehoffman 10:35:50 ~]$ ldapsearch -x -LLL -D "ldapuser@example.com" -w password -b "OU=Users,DC=example,DC=com" -s sub -H ldaps://activedirectory.example.com "(sn=hoffman)" cn mail displayName samaccountname
dn: CN=Evan Hoffman,OU=Tech,OU=Users,DC=example,DC=com
cn: Evan Hoffman
displayName: Evan D. Hoffman
sAMAccountName: ehoffman
mail: Evan.Hoffman@example.com
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 &#8211; Out-of-office response (OOF) won&#8217;t turn off?</title>
		<link>http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 16:44:34 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[Get-MailboxAutoReplyConfiguration]]></category>
		<category><![CDATA[oof]]></category>
		<category><![CDATA[out-of-office]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work turn off]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=506</guid>
		<description><![CDATA[Two users reported the same problem this week: they turned on their out-of-office reply while they were out, then came back and turned it off. Except even after they turned it off, the autoreply was still being sent out. I had them log in to OWA and make sure it was off (maybe some weird [...]]]></description>
			<content:encoded><![CDATA[<p>Two users reported the same problem this week: they turned on their out-of-office reply while they were out, then came back and turned it off.  Except even after they turned it off, the autoreply was still being sent out.  I had them log in to OWA and make sure it was off (maybe some weird bug with Outlook not registering the change in the server), which it was in both cases.  I Googled hard and fast and couldn&#8217;t find anyone with this same problem.</p>
<p>I went in with Powershell and checked their autoreply status via <strong>Get-MailboxAutoReplyConfiguration</strong> and it appears that it is, in fact, disabled:<br />
<code><br />
[PS] C:\Windows\system32>Get-mailbox -identity username | Get-MailboxAutoReplyConfiguration<br />
RunspaceId       : 7ad7e9af-cd57-4572-a4fd-c1e999e4b9a5<br />
AutoReplyState   : Disabled<br />
EndTime          : 8/12/2010 12:00:00 PM<br />
ExternalAudience : All<br />
ExternalMessage  :<br />
InternalMessage  :<br />
StartTime        : 8/11/2010 12:00:00 PM<br />
MailboxOwnerId   :  [removed]<br />
Identity         :  [removed]<br />
IsValid          : True<br />
</code></p>
<p>I used <strong>Set-MailboxAutoReplyConfiguration</strong> to set the messages to &#8220;&#8221; (empty string) and it&#8217;s <em>still</em> sending the user&#8217;s autoresponse, from <em>before</em> I blanked it out.  My working theory right now is that the out-of-office message was set on both the Exchange 2010 server <em>and</em> the Exchange 2003 server (where the mailboxes were before I migrated them to 2010).  </p>
<p>What a fun problem!  It&#8217;s hard to test whether I&#8217;ve fixed it, since each sender only receives the message once, so I have to keep creating new test email addresses to send test messages.  </p>
<p>Also, as an aside, why is &#8220;out-of-office&#8221; abbreviated &#8220;OOF&#8221; in Microsoft&#8217;s docs?  </p>
<p><strong>Edit 1:</strong>  I had one user verify the message was off in OWA and then start Outlook via Start -> Run&#8230; &#8220;outlook /cleanrules&#8221; and this seemed to resolve the issue.  Hopefully this isn&#8217;t required every time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Changing Active Directory Password in Browser through OWA 2010</title>
		<link>http://www.evanhoffman.com/evan/2010/08/05/changing-active-directory-password-in-browser-through-owa-2010/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/05/changing-active-directory-password-in-browser-through-owa-2010/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 15:29:41 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[change password]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[outlook web access]]></category>
		<category><![CDATA[owa]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=478</guid>
		<description><![CDATA[A few months ago I was on a quest to figure out how to change my Active Directory password via a browser (for Linux/Mac users). I finally figured it out, but since I&#8217;ve been working on this Exchange 2010 migration I noticed one of the features of OWA (Outlook Web App) in Exchange 2010 is [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I was on a quest to figure out how to change my Active Directory password via a browser (for Linux/Mac users).  I <a href="http://www.evanhoffman.com/evan/?p=321">finally figured it out</a>, but since I&#8217;ve been working on this Exchange 2010 migration I noticed one of the features of OWA (Outlook Web App) in Exchange 2010 is that you can change the AD password right in the browser from within the app:</p>
<p><a href="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/Change-Password-OWA.png"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/Change-Password-OWA.png" alt="" title="Change Password OWA" width="620" height="399" class="alignleft size-full wp-image-479" /></a></p>
<p>The new OWA has a zillion other awesome features, my favorite being that Firefox and Chrome are no longer second-class-citizens and can use the &#8220;full version&#8221; now, even on Linux.  So anyway, I guess all my work was for nothing.  Not the first time (or the last). <img src='http://www.evanhoffman.com/evan/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/05/changing-active-directory-password-in-browser-through-owa-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook 2007 &amp; Exchange 2010 Autodiscover SSL certificate error annoyance</title>
		<link>http://www.evanhoffman.com/evan/2010/07/27/outlook-2007-exchange-2010-autodiscover-ssl-certificate-error-annoyance/</link>
		<comments>http://www.evanhoffman.com/evan/2010/07/27/outlook-2007-exchange-2010-autodiscover-ssl-certificate-error-annoyance/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 15:51:54 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[autodiscover]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mismatch]]></category>
		<category><![CDATA[srv]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[_autodiscover]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=445</guid>
		<description><![CDATA[One of the more annoying side effects of migrating my mailbox to Exchange 2010 has been the nagging of Outlook 2007&#8242;s Autodiscovery feature. Now, every time I start Outlook I get hit with a certificate error for autodiscover.domain.com. Now, autodiscover.domain.com is a CNAME to mail.domain.com, which is the OWA URL for the CAS. The SSL [...]]]></description>
			<content:encoded><![CDATA[<p>One of the more annoying side effects of migrating my mailbox to Exchange 2010 has been the nagging of Outlook 2007&#8242;s Autodiscovery feature.  Now, every time I start Outlook I get hit with a certificate error for autodiscover.domain.com.  Now, autodiscover.domain.com is a CNAME to mail.domain.com, which is the OWA URL for the CAS.  The SSL certificate is valid &#8211; but it&#8217;s valid for mail.domain.com.  I could buy <a href="http://affiliate.godaddy.com/redirect/57C9CDCFC2D9286731DFC80559FF75B02AA47A2EADDA2D5CC2407E21C4FBC792" title="Go Daddy $12.99 SSL Sale!">a SSL certificate from GoDaddy for $12.99</a> (an insanely great price, btw) for &#8220;autodiscover&#8221; but that would also require using another IP address on the CAS (since you can can only bind one SSL certificate to an IP:port pair), and that seems like a waste of an IP address.</p>
<p>I found a possible solution in <a href="http://support.microsoft.com/kb/940726">KB 940726</a>.  Basically you use this cmdlet to change the Autodiscover URI for internal clients:</p>
<blockquote><p>Set-ClientAccessServer –AutodiscoverServiceInternalUri https://<strong>mail.contoso.com</strong>/autodiscover/autodiscover.xml </p></blockquote>
<p>You&#8217;d replace mail.contoso.com with the external URL of your OWA server (in my case, mail.domain.com).  I&#8217;ve made the changes but I think I need to wait for AD propagation.  Hopefully this will resolve it, because I don&#8217;t want to move everyone&#8217;s mailboxes over until this thing is &#8220;perfect,&#8221; whatever that means.</p>
<p><strong>Edit:</strong> I also needed to add a SRV record so Outlook would know what host to check for autodiscovery when outside the domain.</p>
<p><strong>Edit 2:</strong>: Also need to install a hotfix or be running Outlook 2007 SP1 or later for the SRV functionality.</p>
<p><strong>Edit 3</strong>: It occurs to me that a simpler fix for this issue may be simply to delete the DNS record for autodiscover entirely.  That way, when Outlook attempts to open the SSL connection to autodiscover.domain.com, it gets a NXDOMAIN error (should) silently skip it.  Unfortunately we have wildcard DNS active for our domain.</p>
<p>Other useful resources:</p>
<ul>
<li><a href="http://msexchangeteam.com/archive/2007/09/21/447067.aspx">MS Exchange Team blog post comparing the various autodiscover schemes.</a></li>
<li> <a href="http://technet.microsoft.com/en-us/library/bb125157.aspx">Set-ClientAccessServer</a>.</li>
<li><a href="https://www.testexchangeconnectivity.com/">Test Exchange Connectivity<a></li>
<li><a href="http://support.microsoft.com/kb/940881">Setting Autodiscover URL via DNS SRV record</a></li>
<li><a href="http://technet.microsoft.com/en-us/library/bb332063%28EXCHG.80%29.aspx">Autodiscover whitepaper</a>.
<li><a href="http://www.lengoldenstein.com/2008/09/29/creating-an-outlook-2007sp1-autodiscover-dns-record-with-bind/">Example Autodiscover BIND record</a> &#8211; <tt>_autodiscover._tcp.domain.com. SRV 0 0 443 webmail.domain.com.</tt></li>
<li><a href="http://blog.tiensivu.com/aaron/archives/1398-Little-known-Outlook-feature-Hold-down-Ctrl,-right-click-on-tray-icon-Connection-Status-appears.html">Debug Autodiscover</a> by right-clicking the Outlook icon in the system tray while holding down Ctrl</li>
<li><a href="http://support.microsoft.com/kb/816587">Verifying SRV records exist with nslookup</a></li>
<li><a href="http://support.microsoft.com/kb/928116">What version of Outlook am I running?</a>  You need SP1 or later for the SRV hack.</li>
<li><a href="http://support.microsoft.com/kb/939184/">Hotfix for Outlook 2007 (pre-SP1) to use SRV records for autodiscovery</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/07/27/outlook-2007-exchange-2010-autodiscover-ssl-certificate-error-annoyance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Joy of Migrating from Exchange 2003 to 2010</title>
		<link>http://www.evanhoffman.com/evan/2010/07/20/migrating-from-exchange-2003-to-2010-and-other-fun-bits/</link>
		<comments>http://www.evanhoffman.com/evan/2010/07/20/migrating-from-exchange-2003-to-2010-and-other-fun-bits/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 17:57:13 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coexistence]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2003]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[legacy]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[owa]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=436</guid>
		<description><![CDATA[I&#8217;ve been working on migrating from Exchange 2003 to Exchange 2010 for several weeks. Actually, at this point it feels like several months. Now that I think about it, I guess that&#8217;s because it&#8217;s actually been several months. Back in January or February, I got fed up with the Exchange setup I inherited: our Exchange [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on migrating from Exchange 2003 to Exchange 2010 for several weeks.  Actually, at this point it feels like several months.  Now that I think about it, I guess that&#8217;s because it&#8217;s actually <em>been</em> several months.  </p>
<p>Back in January or February, I got fed up with the Exchange setup I inherited: our Exchange 2003 server was running on a server in the basement of our office, on non-UPS power, with a power company that likes to pull shenanigans (like 3-4 hour outages every few months).  In addition, the physical machine itself has some weird bug where it would hang at the POST screen complaining about some USB device, even though there are no USB devices plugged in, and USB is disabled in the BIOS.  Meanwhile, in the datacenter, I had recently finished migrating most of our ancient physical servers to virtual machines on beautiful new hardware.  It didn&#8217;t take long to see the solution that seemed to be obvious: move Exchange to the datacenter, in a VM.  </p>
<p>There was a major wrinkle in this plan, however: there were no quota limits enforced in Exchange, and the average mailbox was 6-7 gigabytes, with 4 users over 10 gigs.  At the time, we only had a 5 mbit upload connection to the datacenter, and the total size of the mailboxes was around 400 gigs.  I didn&#8217;t want to spend weeks and weeks moving tons of mail over a slow pipe &#8211; and with mailboxes being so big, I wasn&#8217;t sure I could even complete some of them overnight.</p>
<p>At this point I brought up the idea of migrating the company to <a href="http://www.google.com/apps/">Google Apps</a>.  I&#8217;m a big fan of Gmail and moving off of Exchange would have certainly simplified some aspects of my job, and nobody would need Outlook (especially not me).  I knew it would be a tough sell internally, but the pricing certainly didn&#8217;t help; it came out to $83/user/year for Google Apps + document retention.  The price came out to about the same as upgrading to Exchange 2010.  If it had been half or a third the cost I may have pushed harder, but to make the story (a little) shorter, we ended up sticking with Exchange, and instituting quotas.</p>
<p>We phased in the quotas over the course of a month to give users time to archive and clean up their mailboxes.  Once that was done, I setup a new Exchange 2003 frontend server (in a VM) in the datacenter and pointed our webmail (OWA &#038; ActiveSync) there.  So we had the frontend in the datacenter and the backend &#8220;mailbox&#8221; server still in the office.  I then setup another VM running Exchange 2003 in the datacenter.  This enabled me to move mailboxes over one at a time with almost no interruption in service, except for the user whose mail was in transit.  Since we instituted quotas, the mailboxes were all under 2 GB, and I was able to do 6-10 mailboxes each night.</p>
<p>I can&#8217;t tell you how happy I was when we lost power yet everyone retained full connectivity to email via their phones (except BlackBerry users, since BES was still in the basement &#8212; note to RIM: ActiveSync!).</p>
<p>So phase 1 &#038; 2 (instituting quotas and moving email out of the basement) were complete.  Phase 3 was the bigger unknown &#8211; moving to Exchange 2010.  After lots of reading and planning, installing, configuring and testing, about two weeks ago I setup a Client Access Server to serve as the new webmail &#8220;frontend.&#8221;  Microsoft has some pretty great <a href="http://technet.microsoft.com/en-us/library/ee332348.aspx">instructions for setting up 2003 and 2010 in coexistence</a>, but basically you point your &#8220;real&#8221; webmail URL to the 2010 CAS and move your &#8220;old&#8221; Exchange 2003 webmail to another url (they suggest legacy.company.com).  Then people log in to the 2010 interface, and if their mailbox is housed on the 2003 server, it seamlessly redirects them to https://legacy.company.com/, and they <strong>don&#8217;t</strong> have to log in again.  Pretty slick, and I didn&#8217;t believe it would work until I saw it for myself (which, btw, it does).  So ActiveSync and Outlook Anywhere were working through the 2010 CAS even for the users housed on the 2003 server (which was all of them).</p>
<p>This week I started moving users over to Exchange 2010.  So far it&#8217;s been mostly positive.  We have several Mac users, so the ability for them to have native mail &#038; calendaring is pretty epic.  The Outlook Web App in Exchange 2010 is phenomenal.  I mean, it almost brings a tear to my eye, it&#8217;s so beautiful &#8211; especially when compared with 2003.  And being able to do server-side searching in OWA &#038; on my iPhone is fabulous.</p>
<p>All is not perfect, though.  I keep getting stupid certificate errors for Autodiscover when I open Outlook 2007.  I guess I&#8217;ll need to buy another SSL certificate and dedicate another IP to this service&#8230; ugh.  And now that I moved my mailbox to Exchange 2010, Outlook Anywhere appears not to work.  Oh well, almost there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/07/20/migrating-from-exchange-2003-to-2010-and-other-fun-bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vCenter: Error parsing the server &#8220;(server IP)&#8221; &#8220;clients.xml&#8221; file</title>
		<link>http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/</link>
		<comments>http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 16:18:59 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[clients.xml]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[error parsing the server]]></category>
		<category><![CDATA[vcenter]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vsphere]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=409</guid>
		<description><![CDATA[I got the above error today after running Windows Update on my XP VM a few days ago. A quick search showed that the error is caused by a Microsoft update to the .NET framework. To resolve it, remove update KB980773 (Add/Remove programs, make sure &#8220;Show Updates&#8221; is checked; KB980773 is under &#8220;Microsoft .NET Framework [...]]]></description>
			<content:encoded><![CDATA[<p>I got the above error today after running Windows Update on my XP VM a few days ago.  A quick search showed that the error is caused by a Microsoft update to the .NET framework.  To resolve it, remove update KB980773 (Add/Remove programs, make sure &#8220;Show Updates&#8221; is checked; KB980773 is under &#8220;Microsoft .NET Framework 2.0 Service Pack 2&#8243;).  I removed it and was able to log in without problems.</p>
<p>References:
<ul>
<li><a href="http://communities.vmware.com/message/1553296#1553296">http://communities.vmware.com/message/1553296#1553296</a></p>
<li><a href="http://www.experts-exchange.com/Software/VMWare/Q_26251559.html">http://www.experts-exchange.com/Software/VMWare/Q_26251559.html</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hygiene Management?</title>
		<link>http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/</link>
		<comments>http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 19:55:39 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[hygiene management]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=405</guid>
		<description><![CDATA[I&#8217;m installing Exchange 2010 and in the docs it shows a bunch of groups that get created in the AD Schema during the domain prep part. After running prep, I looked to see if the groups were there, and sure enough they were (yay). What caught my eye was that one of the groups is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m installing Exchange 2010 and in the docs it shows a bunch of groups that get created in the AD Schema during the domain prep part.  After running prep, I looked to see if the groups were there, and sure enough they were (yay).  What caught my eye was that one of the groups is called <b>Hygiene Management</b>.  I thought maybe this was an Easter Egg from MS, but <a href="http://technet.microsoft.com/en-us/library/dd776125.aspx">apparently</a> it&#8217;s just the name of the group of people who can manage the Exchange antivirus/antispam features.  Still funny though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving an Exchange 2003 server to another location with minimal risk and disruption?</title>
		<link>http://www.evanhoffman.com/evan/2010/04/14/moving-an-exchange-2003-server-to-another-location-with-minimal-risk-and-disruption/</link>
		<comments>http://www.evanhoffman.com/evan/2010/04/14/moving-an-exchange-2003-server-to-another-location-with-minimal-risk-and-disruption/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 05:38:51 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[500 5.3.3 Unrecognized command]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=367</guid>
		<description><![CDATA[So our Exchange server is located in our office building. This made sense at the time because that&#8217;s where the users are. Over time though, this has proved problematic for a few reasons. Primarily, our office is certainly not a datacenter and doesn&#8217;t offer the amenities of one &#8211; clean, reliable power, and redundant cooling. [...]]]></description>
			<content:encoded><![CDATA[<p>So our Exchange server is located in our office building.  This made sense at the time because that&#8217;s where the users are.  Over time though, this has proved problematic for a few reasons.  Primarily, our office is certainly not a datacenter and doesn&#8217;t offer the amenities of one &#8211; clean, reliable power, and redundant cooling.  In an average year we lose power probably 10-15 times, often for an hour or more.  The rest of our production environment is hosted in a top-tier datacenter, so after a while I started to wonder why our Exchange server wasn&#8217;t there, and making plans to move it there.  Oh, and did I mention I&#8217;m not an Exchange admin in any sense of the term?  I just inherited the Exchange server about 2 months ago.</p>
<p><span id="more-367"></span></p>
<p>The first step was to setup a VPN between the office and the datacenter so that users in the office would be able to connect seamlessly to the Exchange server once it was moved.  This turned out to be relatively easy.  The next step was basically to move the Exchange server.  This originally seemed like it would be an easy thing to do &#8212; having a long history with PostgreSQL I figured I could do essentially a &#8220;dump and restore&#8221; &#8211; run some command that would backup contents of the mail database to a file and then restore it to a new machine.  Well, I quickly learned that wasn&#8217;t possible, at least not given the factors involved.  </p>
<p><a href="http://support.microsoft.com/kb/822945">Microsoft suggests</a> two ways of moving an Exchange server to new hardware: 1) replacing a machine in-place with another one that takes its name and doing a restore, and 2) setting up the new server &#8220;next to&#8221; the old one and moving mailboxes over one at a time.  I ruled out the first method because it seemed like a total crapshoot with no easy &#8220;rollback&#8221; mechanism.  Plus I had no idea how long it would take to do a restore of our Exchange server &#8211; total mailbox size at the time was over 300 GB, and it took about 28 hours just to do the backup, so it seemed like it could easily take over 72 hours, meaning even if we started it Friday at 6 PM, it wouldn&#8217;t complete by Monday morning, and people would come in to work to find they had no email.  No good.</p>
<p>This left the second option &#8211; setting up another server and moving mailboxes one at a time.  This seemed pretty simple, except for the fact that people frequently use Outlook Web Access (webmail) to check their mail when out of the office, and ActiveSync to get mail on their phones.  We tested the 2-server setup a while back and while mail gets routed properly, and users in the office are able to connect to both Exchange servers without problems, when they try accessing their mail from outside the office it fails.  This is because if A is the old server (which people use for webmail) and B is the new server, if you log in to webmail (server A) but your mailbox is homed on server B, webmail will issue you a 302 redirect to http://B .  If that&#8217;s not a valid URL outside your office (as is the case with us) it won&#8217;t work.  If we could move everybody&#8217;s mailboxes from A to B overnight, and then make webmail point to B rather than A, that would solve the problem, but again, we had no way to know how long that would take, and I didn&#8217;t want to risk making anyone&#8217;s mail unavailable.</p>
<p>The plan I then came up with was to set up an Exchange frontend server in our office in front of our existing Exchange server.  The frontend server would handle all the OWA/ActiveSync stuff and abstract that away from the backend server (where the mailboxes live).  I could then set up an Exchange server in our office in a VM, migrate mailboxes over to them one at a time, and when it was done, copy the VM Exchange server to an external USB drive and drive it to the datacenter (about 25 miles away) and import the VM to our VMware production cluster, fiddle with its IP address and voila &#8211; the Exchange server would be moved.</p>
<p>But then I had a better idea: set up the frontend server and the new backend server in the datacenter in the VMware cluster from the get-go.  Then when people accessed webmail they&#8217;d be hitting a server in the datacenter, which would connect to the Exchange server in the office transparently and relay them their mail.  I could then move each mailbox from A to B with B being in the datacenter and the move taking place over the VPN.  </p>
<p>Well, this is what I ended up doing, and there have been some wrinkles in the process, but so far it&#8217;s generally been working as I expected.  I moved my mailbox to the new server today, and the move itself went fine &#8211; took about 90 minutes to move my 1.5 GB mailbox.  It wasn&#8217;t quite a seamless process &#8211; the mailbox was moved but I couldn&#8217;t send or receive mail from the other server or the Internet in general.  I managed to fix outbound SMTP pretty quickly (we relay mail through a smarthost in the datacenter) but inbound wasn&#8217;t working because the old server and new one couldn&#8217;t communicate for some reason, and all mail was being delivered to the old server.  Among the things I did in attempting to solve this problem were create a new routing group for the servers in the datacenter (since we only had one Exchange server before, we only had one routing group), and then setup a Routing Group Connector between the two.  This seemed like it should have resolved it but it didn&#8217;t.  From server A, I could &#8220;telnet B 25&#8243; and the connection would succeed, but if I issued a HELO I got <b>500 5.3.3 Unrecognized command</b>.  Same thing happened if I tried B -> A.  After hours of checking settings, I came across a <a href="http://www.experts-exchange.com/Networking/Protocols/Application_Protocols/Email/SMTP/Q_23147759.html">post on Experts Exchange</a> that suggested the problem may be with the firewall (Cisco ASA) inspecting SMTP traffic.  This was something that had flitted around in my head for a couple of seconds but I didn&#8217;t actually check it.  In the end though, that&#8217;s what it was &#8211; the ASA in the datacenter was mangling the SMTP packets somehow and preventing the two from communicating.  Once I issued the &#8220;no inspect esmtp&#8221; line, the whole day&#8217;s worth of mail came flooding through to my inbox (now on server B).  </p>
<p>For some reason, however, mail was still not going B->A.  I spent a while trying to figure out why &#8211; looking in logs, doing &#8220;telnet A 25&#8243; and everything seemed fine.  The mail queue kept showing queued messages though and an error like &#8220;remote server didn&#8217;t respond to the connection.&#8221;  What ended up solving it, though, was deleting the Routing Group Connector associated with the datacenter routing group and re-adding it.  For whatever reason, that cleared it right up.</p>
<p>So as of right now, we have Office and Datacenter, with Office having Exchange server A, and Datacenter having Exchange servers B and C &#8211; B being the new backend and C being the new frontend.  DNS has been updated so webmail points to C, and C connects to A or B to get the user&#8217;s mail for OWA/ActiveSync.  It works, it&#8217;s fast, I&#8217;m mostly happy.  </p>
<p>I should probably mention that we discussed moving to Google Apps in the midst of this project.  I was about 70% in favor of it, but in the end it seemed too expensive.  We&#8217;ve already paid for our Exchange licenses and a <a href="http://www.barracudanetworks.com/ns/products/archiver-overview.php">hardware message archiver</a>.  Google&#8217;s price for Google Apps is $83/person per year if you include their 10-year archival option.  If you don&#8217;t already have infrastructure in place, that might be cheap, but when you&#8217;re comparing it to &#8220;$0&#8243; (and yes, I realize projects like the one I mentioned above aren&#8217;t free), it is a lot when you have ~100 users.  In addition, most people at my company weren&#8217;t comfortable with the privacy/legal implications of having Google host our mail in the cloud &#8211; not to mention lots of people are Outlook addicts.  They offered 25 GB storage per user, which was pretty compelling, and I personally love the Gmail interface, but in the end we opted to stick with Exchange for the time being.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/04/14/moving-an-exchange-2003-server-to-another-location-with-minimal-risk-and-disruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Victory!  Change Active Directory Password via LDAP through browser</title>
		<link>http://www.evanhoffman.com/evan/2010/01/13/victory-change-active-directory-password-via-ldap-through-browser/</link>
		<comments>http://www.evanhoffman.com/evan/2010/01/13/victory-change-active-directory-password-via-ldap-through-browser/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 17:51:43 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[change password]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[unicodePwd]]></category>
		<category><![CDATA[victory]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=321</guid>
		<description><![CDATA[I had to give up on PHP and go to Perl, but it turned out not to be so bad. Users can now change their Active Directory passwords via a self-service web page that doesn&#8217;t require admin credentials. The Perl code is below.  Authentication to the script is done via .htaccess LDAP authentication, so the [...]]]></description>
			<content:encoded><![CDATA[<p>I had to give up on PHP and go to Perl, but it turned out not to be so bad.  Users can now change their Active Directory passwords via a self-service web page that doesn&#8217;t require admin credentials.  The Perl code is below.  Authentication to the script is done via .htaccess LDAP authentication, so the REMOTE_USER env variable is assumed to contain the user&#8217;s username (sAMAccountName) by the time this script is called.  There is a simple check for $ENV{HTTPS} to ensure the script is called via SSL, and AD requires password changes to be done via ldaps, so the whole thing <em>should</em> be encrypted end to end.</p>
<p>(Edited 5/14/2010 to replace the inlined Perl script with a link to the script as a text file.)</p>
<p><a href='http://www.evanhoffman.com/evan/wp-content/uploads/2010/01/changeadpasswd.pl_.txt'>changeadpasswd.pl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/01/13/victory-change-active-directory-password-via-ldap-through-browser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
