<?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>Looking for the paradigm &#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>So I can pass it off</description>
	<lastBuildDate>Thu, 26 Jan 2012 22:17:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Exchange (OWA) CAS crashes with 503 error &#8211; again</title>
		<link>http://www.evanhoffman.com/evan/2011/09/18/exchange-owa-cas-crashes-with-503-error-again/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-owa-cas-crashes-with-503-error-again</link>
		<comments>http://www.evanhoffman.com/evan/2011/09/18/exchange-owa-cas-crashes-with-503-error-again/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 16:22:46 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[0xe053534f]]></category>
		<category><![CDATA[503]]></category>
		<category><![CDATA[appcrash]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[KERNELBASE.dll]]></category>
		<category><![CDATA[MSExchangeOWAAppPool]]></category>
		<category><![CDATA[owa]]></category>
		<category><![CDATA[w3wp.exe]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=1599</guid>
		<description><![CDATA[TweetThis just started happening again, with these errors appearing in the event viewer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2011/09/18/exchange-owa-cas-crashes-with-503-error-again/&via=EvanHoffman&text=Exchange (OWA) CAS crashes with 503 error - again&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2011/09/18/exchange-owa-cas-crashes-with-503-error-again/"></g:plusone></div><p>This just started happening <a href="http://www.evanhoffman.com/evan/?p=986">again</a>, with these errors appearing in the event viewer:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">Log Name: System
Source: Microsoft-Windows-WAS
Date: 9/18/2011 11:16:33 AM
Event ID: 5011
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer: exch2010fe1
Description:
A process serving application pool 'MSExchangeOWAAppPool' suffered a
fatal communication error with the Windows Process Activation Service.
The process id was '3760'. The data field contains the error number.
&nbsp;
Log Name: System
Source: Microsoft-Windows-WAS
Date: 9/17/2011 6:47:07 AM
Event ID: 5009
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer: exch2010fe1
Description:
A process serving application pool 'MSExchangeOWAAppPool' terminated
unexpectedly. The process id was '3108'. The process exit code was
'0x800703e9'.
&nbsp;
Log Name: Application
Source: Application Error
Date: 9/17/2011 6:46:30 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: exch2010fe1
Description:
Faulting application name: w3wp.exe, version: 7.5.7600.16385, time
stamp: 0x4a5bd0eb
Faulting module name: KERNELBASE.dll, version: 6.1.7600.16385, time
stamp: 0x4a5bdfe0
Exception code: 0xe053534f
Fault offset: 0x000000000000aa7d
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13</pre></td></tr></table></div>

<p>After reviewing the IIS logs and the event logs, I think it has to do with the WebReady document viewer &#8211; the thing in OWA that renders and lets you view .doc attachments within the browser rather than forcing you to open Word or Excel.  I think users were attempting to open corrupted files and that was causing it to crash.  I&#8217;ve disabled Webready in EMC (Server Config -> CAS) and I&#8217;ll see what happens.  </p>
<p><a target="_blank" href="http://affiliate.godaddy.com/redirect/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC"><img src="http://affiliate.godaddy.com/ads/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC" border="0" width="468"  height="60" alt="Go Daddy $12.99 SSL Sale!"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2011/09/18/exchange-owa-cas-crashes-with-503-error-again/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Renaming a single-label domain to a FQDN</title>
		<link>http://www.evanhoffman.com/evan/2011/04/07/renaming-a-single-label-domain-to-a-fqdn/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=renaming-a-single-label-domain-to-a-fqdn</link>
		<comments>http://www.evanhoffman.com/evan/2011/04/07/renaming-a-single-label-domain-to-a-fqdn/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 21:56:54 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[dfs]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[rendom]]></category>
		<category><![CDATA[single-label]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=1144</guid>
		<description><![CDATA[TweetLong ago &#8212; eons, perhaps &#8212; before I had anything to do with the Windows environment here, someone created the AD domain in my company as a single-label domain (e.g. instead of &#8220;example.com&#8221; our domain is just &#8220;example&#8221;). Over the years this has led to lots of &#8220;fun&#8221; on the part of Windows admins who&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2011/04/07/renaming-a-single-label-domain-to-a-fqdn/&via=EvanHoffman&text=Renaming a single-label domain to a FQDN&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2011/04/07/renaming-a-single-label-domain-to-a-fqdn/"></g:plusone></div><p>Long ago &#8212; eons, perhaps &#8212; before I had anything to do with the Windows environment here, someone created the AD domain in my company as a single-label domain (e.g. instead of &#8220;example.com&#8221; our domain is just &#8220;example&#8221;).  Over the years this has led to lots of &#8220;fun&#8221; on the part of Windows admins who&#8217;ve worked here as the implications of this choice became more apparent.</p>
<p>Since I inherited this system about a year ago, I haven&#8217;t really bumped up against any problems stemming from the single-label domain issue&#8230; until now.  I recently attempted to add a new Windows 2008r2 file server to our DFS replication group/namespace.  This totally failed for some mysterious reason.  Well, I shouldn&#8217;t say &#8220;totally&#8221; failed, as I was able to add it to the DFS replication group, but unable to add it to the DFS namespace.  In my attempt to debug the namespace issue, I deleted the namespace and attempted to recreate it, but just kept getting this error: <b>The namespace cannot be queried.  The specified domain either does not exist or could not be contacted.</b>.  I couldn&#8217;t do anything with the namespace &#8211; even clicking on it in the DFS Management console brought up an error.  After some searching I found that this was likely due to having a single-label domain.  I wasn&#8217;t sure why the error was happening even on Windows 2003 machines though, maybe joining a 2008r2 box to the domain made some schema changes?  I tried a few suggestions like editing the hosts file but nothing seemed to resolve this.</p>
<p>Fortunately, we didn&#8217;t really need DFS namespaces and were able to just direct everybody to the fileserver via its DNS name, though as you can imagine this was clumsy.  However, since this has been a problem since time immemorial, I figured it was time to see if it was fixable.  After some quick searching, I found <a href="http://technet.microsoft.com/en-us/library/cc732097%28WS.10%29.aspx">RENDOM</a>.  However, after even more searching I discovered <a href="http://technet.microsoft.com/en-us/library/cc816848%28WS.10%29.aspx">this TechNet article</a> which says: </p>
<blockquote><p>The domain rename operation is not supported in Microsoft Exchange Server 2007 or Exchange Server 2010. DNS domain rename is supported in Exchange Server 2003. However, renaming of the NetBIOS domain name is not supported in any version of Exchange Server. Other non-Microsoft applications might also not support domain rename. </p></blockquote>
<p>Well.  We&#8217;re running Exchange 2010.  So now what?  I guess we&#8217;re going to have to create a second domain and migrate over to it.  We&#8217;d already discussed this as a likely way of implementing the rename anyway, since it didn&#8217;t seem like &#8220;RENDOM&#8221; had any rollback procedure &#8211; it either just works (hahaha) or semi-works and semi-fails, leaving a wake of destruction throughout AD.  Building a second domain seems like a lot of work, but at least we can move users over one at a time, and we get the side benefit of starting fresh, outgrowing the 5+ years of crud that&#8217;s accumulated in our AD.</p>
<p>Guess we&#8217;ll see what happens.  Neither option seems like much fun.  I guess the alternative is do nothing, but Microsoft clearly doesn&#8217;t think very highly of single-label domains, and anyone who asks about them gets looked at funny.  At least it gives us something to do!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2011/04/07/renaming-a-single-label-domain-to-a-fqdn/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Autodiscover mysteriously stopped working (Exchange 2010)</title>
		<link>http://www.evanhoffman.com/evan/2011/03/01/autodiscover-mysteriously-stopped-working-exchange-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=autodiscover-mysteriously-stopped-working-exchange-2010</link>
		<comments>http://www.evanhoffman.com/evan/2011/03/01/autodiscover-mysteriously-stopped-working-exchange-2010/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 17:30:30 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[autodiscover]]></category>
		<category><![CDATA[Autodiscover.xml]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[externalurl]]></category>
		<category><![CDATA[Get-AutodiscoverVirtualDirectory]]></category>
		<category><![CDATA[internalurl]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[Set-AutodiscoverVirtualDirectory]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[_autodiscover]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=1101</guid>
		<description><![CDATA[TweetI had Autodiscover working for months but recently it just stopped. I&#8217;m not sure why, but it may be related to removing the last Exchange 2003 servers from service recently. Maybe some setting got wiped from AD when I uninstalled Exchange 2003 (as per the procedure Microsoft gives). Basically what was happening was that the [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2011/03/01/autodiscover-mysteriously-stopped-working-exchange-2010/&via=EvanHoffman&text=Autodiscover mysteriously stopped working (Exchange 2010)&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2011/03/01/autodiscover-mysteriously-stopped-working-exchange-2010/"></g:plusone></div><p>I had <a href="http://technet.microsoft.com/en-us/library/bb124251.aspx">Autodiscover</a> working for months but recently it just stopped.  I&#8217;m not sure why, but it may be related to removing the last Exchange 2003 servers from service recently.  Maybe some setting got wiped from AD when I uninstalled Exchange 2003 (as per <a href="http://technet.microsoft.com/en-us/library/bb288905%28EXCHG.80%29.aspx">the procedure</a> Microsoft gives).  Basically what was happening was that the email address field was being autopopulated by the user&#8217;s UPN rather than their email address.  Since we have a <a href="http://support.microsoft.com/kb/300684">single label domain</a>, the UPN isn&#8217;t a valid email address, and autodiscovery fails.</p>
<p>Anyway, I ran Get-AutodiscoverVirtualDirectory and it looks like the autodiscover URL isn&#8217;t set.  Pretty sure I set this at some point.</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>AutodiscoverVirtualDirectory <span style="color: pink;">-</span>server exch2010fe1  <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">fl</span> InternalUrl<span style="color: pink;">,</span>ExternalUrl
&nbsp;
InternalUrl :
ExternalUrl :
&nbsp;
<span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span></pre></div></div>

<p>I just piped this to Set-AutodiscoverVirtualDirectory to correct the problem:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>AutodiscoverVirtualDirectory <span style="color: pink;">-</span>server exch2010fe1  <span style="color: pink;">|</span> Set<span style="color: pink;">-</span>AutodiscoverVirtualDirectory <span style="color: pink;">-</span>ExternalUrl <span style="color: #800000;">'https://webmail.example.com/Autodiscover/Autodiscover.xml'</span> <span style="color: pink;">-</span>InternalUrl <span style="color: #800000;">'https://webmail.example.com/Autodiscover/Autodiscover.xml'</span>
<span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>AutodiscoverVirtualDirectory <span style="color: pink;">-</span>server exch2010fe1  <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">fl</span> InternalUrl<span style="color: pink;">,</span>ExternalUrl
&nbsp;
&nbsp;
InternalUrl : https:<span style="color: pink;">//</span>webmail.example.com<span style="color: pink;">/</span>Autodiscover<span style="color: pink;">/</span>Autodiscover.xml
ExternalUrl : https:<span style="color: pink;">//</span>webmail.example.com<span style="color: pink;">/</span>Autodiscover<span style="color: pink;">/</span>Autodiscover.xml
&nbsp;
&nbsp;
<span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span></pre></div></div>

<p>After resetting the InternalURL and ExternalURL, autodiscover works again (we have <a href="http://www.evanhoffman.com/evan/?p=445">SRV records</a> that tell Outlook to look at webmail.example.com for the Autodiscover service).</p>
<p>Hooray!</p>
<p><a target="_blank" href="http://affiliate.godaddy.com/redirect/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC"><img src="http://affiliate.godaddy.com/ads/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC" border="0" width="468"  height="60" alt="Go Daddy $12.99 SSL Sale!"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2011/03/01/autodiscover-mysteriously-stopped-working-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wasted time with Exchange 2010, SquirrelMail, and IMAP-SSL</title>
		<link>http://www.evanhoffman.com/evan/2010/11/30/wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl</link>
		<comments>http://www.evanhoffman.com/evan/2010/11/30/wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 21:32:11 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[140790E5]]></category>
		<category><![CDATA[143]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[993]]></category>
		<category><![CDATA[995]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[connect]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[imap.rb]]></category>
		<category><![CDATA[imaps]]></category>
		<category><![CDATA[initialize]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[squirrelmail]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[SSL23_WRITE]]></category>
		<category><![CDATA[sslerror]]></category>
		<category><![CDATA[tls]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=941</guid>
		<description><![CDATA[TweetI&#8217;m setting up SquirrelMail to point to my Exchange 2010 server via IMAP (don&#8217;t ask) and couldn&#8217;t get SM to talk to Exchange on port 993 (imaps). Even though the servers on the same subnet, any time passwords are being sent over the network I like to opt for SSL. I found a couple of [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/11/30/wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl/&via=EvanHoffman&text=Wasted time with Exchange 2010, SquirrelMail, and IMAP-SSL&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/11/30/wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl/"></g:plusone></div><p>I&#8217;m setting up SquirrelMail to point to my Exchange 2010 server via IMAP (don&#8217;t ask) and couldn&#8217;t get SM to talk to Exchange on port 993 (imaps).  Even though the servers on the same subnet, any time passwords are being sent over the network I like to opt for SSL.  I found a couple of sites suggesting that the problem was that there was no SSL certificate installed, but I knew for a fact there was a valid certificate because I could get to https://webmail.example.com/ for OWA.</p>
<p>Some of the errors SquirrelMail was reporting were &#8220;Error connecting to IMAP server xxxx Server error: (0)&#8221; and &#8220;Error connecting to IMAP server: tls://xxxx:993. 0: &#8221;</p>
<p>Nothing would actually work on port 993.  Telnet to 993 got this:</p>
<pre>
$ telnet 10.0.20.18 993
Trying 10.0.20.18...
Connected to 10.0.20.18.
Escape character is '^]'.
* BYE Connection is closed. 14
Connection closed by foreign host.
</pre>
<p>After too much poking, I decided to go down to a lower level and do a simple openssl certificate retrieval and see what came back:</p>
<pre>

$ openssl s_client -connect 10.0.20.18:993
CONNECTED(00000003)
140281653434184:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:699:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 113 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
</pre>
<p>That didn&#8217;t look right, so I ran it against the same server on port 443 and got back a real certificate.  Same for port 995 (pop3s):</p>
<pre>
$ openssl s_client -connect 10.0.20.18:443
CONNECTED(00000003)
depth=3 L = ValiCert Validation Network, O = "ValiCert, Inc.", OU = ValiCert Class 2 Policy Validation Authority, CN = http://www.valicert.com/, emailAddress = info@valicert.com
verify return:1
depth=2 C = US, O = "The Go Daddy Group, Inc.", OU = Go Daddy Class 2 Certification Authority
verify return:1

(snip)
</pre>
<p>So there&#8217;s just something wrong with SSL on port 993.  To make a long story short, I had to use the <a href="http://technet.microsoft.com/en-us/library/aa997231.aspx">Enable-ExchangeCertificate</a> to apply the SSL certificate to port 993.  First, run &#8220;Get-ExchangeCertificate&#8221; to list the available certificates and retrieve the Thumbprint.</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>ExchangeCertificate
&nbsp;
Thumbprint                                Services   Subject
<span style="color: pink;">----------</span>                                <span style="color: pink;">--------</span>   <span style="color: pink;">-------</span>
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy  .P....     CN<span style="color: pink;">=</span>exch2010fe1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  I..W..     CN<span style="color: pink;">=</span>webmail.example.com<span style="color: pink;">,</span> OU<span style="color: pink;">=</span>Domain Control Validated<span style="color: pink;">,</span> O<span style="color: pink;">=</span>webmail.ex...</pre></div></div>

<p>Copy &#038; paste the thumbprint for whichever cert you want to use into Enable-ExchangeCertificate:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Enable<span style="color: pink;">-</span>ExchangeCertificate <span style="color: pink;">-</span>ThumbPrint xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span style="color: pink;">-</span>Services IIS<span style="color: pink;">,</span>P
OP<span style="color: pink;">,</span>IMAP <span style="color: pink;">-</span>DoNotRequireSSL
<span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>ExchangeCertificate
&nbsp;
Thumbprint                                Services   Subject
<span style="color: pink;">----------</span>                                <span style="color: pink;">--------</span>   <span style="color: pink;">-------</span>
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy  ......     CN<span style="color: pink;">=</span>exch2010fe1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  IP.W..     CN<span style="color: pink;">=</span>webmail.example.com<span style="color: pink;">,</span> OU<span style="color: pink;">=</span>Domain Control Validated<span style="color: pink;">,</span> O<span style="color: pink;">=</span>webmail.ex...</pre></div></div>

<p>After running that, imaps on port 993 worked perfectly.  I can connect to it with both SquirrelMail and Thunderbird.</p>
<p>The SquirrelMail config looks like this:</p>
<pre>
IMAP Settings
--------------
4.  IMAP Server            : webmail.example.com
5.  IMAP Port              : 993
6.  Authentication type    : login
7.  Secure IMAP (TLS)      : true
8.  Server software        : exchange
9.  Delimiter              : detect
</pre>
<p><b>Edit Feb 15, 2011</b>: I just renewed the SSL cert and ran into a problem with a Ruby script that was suddenly unable to check a mailbox over IMAPS.  The error received was:</p>
<pre>
/usr/lib/ruby/1.8/net/imap.rb:898:in `connect': unknown protocol (OpenSSL::SSL::SSLError)
        from /usr/lib/ruby/1.8/net/imap.rb:898:in `initialize'
</pre>
<p>After a few minutes, I remembered this blog post and ran Enable-ExchangeCertificate and it worked again.  Glad I wrote it down.</p>
<p>CONNECTED(00000003) 26831:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/11/30/wasted-time-with-exchange-2010-squirrelmail-and-imap-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Zabbix for SNMP monitoring disk usage percent for Windows hosts</title>
		<link>http://www.evanhoffman.com/evan/2010/11/05/using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts</link>
		<comments>http://www.evanhoffman.com/evan/2010/11/05/using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 13:44:22 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dskPercent]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=909</guid>
		<description><![CDATA[TweetA few years ago we moved from Nagios to Zabbix for our server monitoring needs. I wasn&#8217;t a big fan of Nagios, finding it a pain to manage with its myriad configuration files. It&#8217;s probably gotten better since I last toyed with it but since we moved to Zabbix I haven&#8217;t had much reason to [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/11/05/using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts/&via=EvanHoffman&text=Using Zabbix for SNMP monitoring disk usage percent for Windows hosts&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/11/05/using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts/"></g:plusone></div><p>A few years ago we moved from Nagios to Zabbix for our server monitoring needs.  I wasn&#8217;t a big fan of Nagios, finding it a pain to manage with its myriad configuration files.  It&#8217;s probably gotten better since I last toyed with it but since we moved to Zabbix I haven&#8217;t had much reason to look at Nagios again.<br />
<span id="more-909"></span></p>
<p>I also try to use SNMP monitoring for everything.  SNMP is widely supported &#8211; all sorts of hardware has SNMP support, and with the net-snmp package you can pretty easily create your own SNMP-monitorable stuff on Linux.  Since almost all of our stuff runs on Linux this has worked out pretty well, but our Exchange server is <i>probably</i> going to be running on Windows for the foreseeable future.  Windows has SNMP support, it&#8217;s just not on by default.  However, even when it&#8217;s enabled it doesn&#8217;t have the simple &#8220;dskPercent&#8221; monitoring I&#8217;ve come to know and love with net-snmp on Linux, which simply tells you how full a given disk is as a percent.  This makes it easy to set alerts when a disk reaches 80% full.</p>
<p>On Windows I found these objects that can be used to get something similar:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>evan<span style="color: #000000; font-weight: bold;">@</span>monitoring02 <span style="color: #000000;">14</span>:<span style="color: #000000;">41</span>:<span style="color: #000000;">24</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ snmpwalk <span style="color: #660033;">-v</span> 2c <span style="color: #660033;">-c</span> community 192.168.1.20 <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-i</span> storage
HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: <span style="color: #000000;">1</span>
HOST-RESOURCES-MIB::hrStorageIndex.2 = INTEGER: <span style="color: #000000;">2</span>
HOST-RESOURCES-MIB::hrStorageIndex.3 = INTEGER: <span style="color: #000000;">3</span>
HOST-RESOURCES-MIB::hrStorageIndex.4 = INTEGER: <span style="color: #000000;">4</span>
HOST-RESOURCES-MIB::hrStorageIndex.5 = INTEGER: <span style="color: #000000;">5</span>
HOST-RESOURCES-MIB::hrStorageIndex.6 = INTEGER: <span style="color: #000000;">6</span>
HOST-RESOURCES-MIB::hrStorageType.1 = OID: HOST-RESOURCES-TYPES::hrStorageRemovableDisk
HOST-RESOURCES-MIB::hrStorageType.2 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.3 = OID: HOST-RESOURCES-TYPES::hrStorageCompactDisc
HOST-RESOURCES-MIB::hrStorageType.4 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.5 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory
HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-TYPES::hrStorageRam
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: A:\
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: C:\ Label:  Serial Number b78d19
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: D:\ Label:EXCH201064  Serial Number xxxxxxxx
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: E:\ Label:Exchange2010  Serial Number xxxxxxxx
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: Virtual Memory
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Physical Memory
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: <span style="color: #000000;">0</span> Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: <span style="color: #000000;">4096</span> Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: <span style="color: #000000;">2048</span> Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: <span style="color: #000000;">4096</span> Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.5 = INTEGER: <span style="color: #000000;">65536</span> Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: <span style="color: #000000;">65536</span> Bytes
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: <span style="color: #000000;">0</span>
HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: <span style="color: #000000;">10459647</span>
HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: <span style="color: #000000;">546570</span>
HOST-RESOURCES-MIB::hrStorageSize.4 = INTEGER: <span style="color: #000000;">104824319</span>
HOST-RESOURCES-MIB::hrStorageSize.5 = INTEGER: <span style="color: #000000;">393172</span>
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: <span style="color: #000000;">196600</span>
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: <span style="color: #000000;">0</span>
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: <span style="color: #000000;">5885720</span>
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: <span style="color: #000000;">546570</span>
HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: <span style="color: #000000;">44650892</span>
HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: <span style="color: #000000;">166057</span>
HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: <span style="color: #000000;">152902</span></pre></div></div>

<p>I thought initially that the hrStorageUsed and hrStorageSize values were being reported in bytes, but according to <a href="http://msdn.microsoft.com/en-us/library/ms926911.aspx">this MSDN article,</a> the units are reported in &#8220;allocation units,&#8221; which I assume are being reported under hrStorageAllocationUnits, so you just need to multiply the values by the allocation units.</p>
<p>In Zabbix, I check hrStorageUsed every 15 minutes as &#8220;disk_1_used&#8221;.  I check hrStorageSize every 2 hours (since the actual size of the disk/partition isn&#8217;t likely to change that often) as &#8220;disk_1_size&#8221;.  To calculate the percentage, I created a &#8220;Calculated&#8221; item with this formula:</p>
<p><code>100*(last("disk_1_used") / last("disk_1_size"))</code></p>
<div id="attachment_912" class="wp-caption aligncenter" style="width: 579px"><a href="http://evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92032-AM.jpg"><img src="http://evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92032-AM.jpg" alt="Windows disk usage percent" title="Windows disk usage percent" width="569" height="433" class="size-full wp-image-912" /></a><p class="wp-caption-text">Windows disk usage percent</p></div>
<p>The values for disk_1_used and disk_1_size are in Storage Allocation Units, but since this is a percentage that doesn&#8217;t matter.  However, I do also like to get an idea of the actual disk space being consumed; luckily this is also relatively easy to obtain in Zabbix using Calculated items.  I monitor hrStorageAllocationUnits as &#8220;disk_1_allocunit&#8221; (every 7200 seconds since this too is unlikely to change much) and then the formula for the calculated used disk space is simply:</p>
<p><code>last("disk_1_used") * last("disk_1_allocunit")</code></p>
<div id="attachment_914" class="wp-caption aligncenter" style="width: 591px"><a href="http://evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92011-AM.jpg"><img src="http://evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92011-AM.jpg" alt="Windows disk used (bytes)" title="Windows disk used (bytes)" width="581" height="427" class="size-full wp-image-914" /></a><p class="wp-caption-text">Windows disk used (bytes)</p></div>
<p>Once all the work is done, here&#8217;s what the result looks like:</p>
<div id="attachment_916" class="wp-caption aligncenter" style="width: 310px"><a href="http://evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92648-AM.jpg"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/11/Fullscreen-capture-1152010-92648-AM-300x48.jpg" alt="Zabbix SNMP monitored Windows disk items" title="Zabbix SNMP monitored Windows disk items" width="300" height="48" class="size-medium wp-image-916" /></a><p class="wp-caption-text">Zabbix SNMP monitored Windows disk items</p></div>
<p>When I log in to the actual machine (my vCenter VM in this case) and check disk usage, the numbers match what Zabbix&#8217;s calculated values show, though Zabbix seems to be reporting values in &#8220;mebibytes&#8221; rather than &#8220;megabytes&#8221;:<br />
<div id="attachment_920" class="wp-caption aligncenter" style="width: 379px"><a href="http://evanhoffman.com/evan/wp-content/uploads/2010/11/vcenter-disk.png"><img src="http://evanhoffman.com/evan/wp-content/uploads/2010/11/vcenter-disk.png" alt="Actual Windows disk usage" title="Actual Windows disk usage" width="369" height="494" class="size-full wp-image-920" /></a><p class="wp-caption-text">Actual Windows disk usage</p></div></p>
<p>I created a template in Zabbix which monitors these data for disks 1-5 and then applied it to all Windows servers; now I just need to apply some alert triggers and mission accomplished.</p>
<p><b>Edit 2011-01-14</b>: here&#8217;s the template exported from Zabbix: <a href='http://www.evanhoffman.com/evan/wp-content/uploads/2010/11/zbx_template_windows_disk.xml_.gz'>Zabbix Windows disk usage template</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/11/05/using-zabbix-for-snmp-monitoring-disk-usage-percent-for-windows-hosts/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 Post-Upgrade weirdness: can&#039;t edit Mail Non-Universal Group or Security Group</title>
		<link>http://www.evanhoffman.com/evan/2010/10/21/exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group</link>
		<comments>http://www.evanhoffman.com/evan/2010/10/21/exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 02:29:38 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=850</guid>
		<description><![CDATA[TweetNow that everyone&#8217;s been moved to Exchange 2010 we&#8217;ve started using the 2010 Exchange Managment Console/Shell exclusively which has revealed some weirdness. First, we created a new group in AD using an old script (which used LDAP) and created a Mail-enabled Global Security group. We put people in the group, and everything seemed to be [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/10/21/exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group/&via=EvanHoffman&text=Exchange 2010 Post-Upgrade weirdness: can&#039;t edit Mail Non-Universal Group or Security Group&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/10/21/exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group/"></g:plusone></div><p>Now that everyone&#8217;s been moved to Exchange 2010 we&#8217;ve started using the 2010 Exchange Managment Console/Shell exclusively which has revealed some weirdness.  First, we created a new group in AD using an old script (which used LDAP) and created a Mail-enabled Global Security group.  We put people in the group, and everything seemed to be working fine until it was discovered that users in the group couldn&#8217;t see the group in the Global Address List.  Users not in the group had no problem seeing the group.  Additionally, users in the group couldn&#8217;t see <em>users</em> added directly in 2010.  This only appeared to affect the GAL; the users were able to send/receive email fine with the full SMTP addresses.</p>
<p><span id="more-850"></span><br />
My first guess was that I was being punished for having forgotten to upgrade the LDAP address lists to OPATH.  I don&#8217;t really know what that even means, but when I attempted to edit the address lists in EMC I&#8217;d get an error that they needed to be upgraded.  Fortunately, <a href="http://technet.microsoft.com/en-us/library/cc164366%28EXCHG.80%29.aspx">this Technet article</a> lists the commands needed to upgrade the lists.  I did it but this didn&#8217;t appear to resolve all the issues.</p>
<p>At this point, after some Googling, I came across this tidbit:</p>
<blockquote><p>If you&#8217;re moving from Exchange 2000/2003 to Exchange 2007 or Exchange 2010, you&#8217;re going to want to convert all your domain local and global distribution and mail-enabled security groups to universal groups so they can be managed using the Exchange management tools.</p></blockquote>
<p>This explains a few things we&#8217;ve noticed &#8211; inability to add Global (Non-Universal) groups to a newly created (Universal) group, for one.  So it appears what we should do is upgrade all the Global groups to Universal.  First, how do we get a list of all the Global groups?  EMS/PowerShell to the rescue:</p>
<pre>[PS] C:\Windows\system32>Get-Group  | Where {$_.GroupType -Like "Global*"  -AND $_.RecipientType -eq "MailNonUniversalGroup"} |
Export-Csv -encoding "utf8" -Path \\fileserver\Tech\groups1.csv</pre>
<p>You can refine the filter further, and when it looks correct you can just pipe the output to Set-Group:</p>
<pre>Get-Group  | Where {$_.GroupType -Like "Global*"  -AND $_.RecipientType -eq "MailNonUniversalGroup"} | Set-Group -Universal</pre>
<p>But now for the most important question: <strong>will this break anything?</strong>  I have no idea.  We only have a single domain in our AD forest so we&#8217;ve never had need to use Universal, and I don&#8217;t <em>think</em> there should be a problem, but I don&#8217;t really have any idea.</p>
<p>I ran the Get-Group/Set-Group commands and they seemed to work as intended for all but about 60 of the target groups.  The groups that didn&#8217;t get converted all had weird issues &#8211; aliases that contained illegal characters (which I fixed), or some of them complained that a particular user (I think the Owner of the group in AD) was not found (even though it was in the exact location it was saying it wasn&#8217;t, though the user was disabled).  I &#8220;manually&#8221; converted these groups to Universal via the radio button in the properties dialog in Active Dir Users &#038; Groups.  Not the most elegant solution but it worked.  So all the groups in question are now Universal Security groups.  Will this solve the problem?  Well, I&#8217;ll have to wait until tomorrow to find out.</p>
<p>Reference links:</p>
<ul>
<li><a href="http://blogs.technet.com/b/sfodel/archive/2008/08/04/need-to-convert-global-groups-to-universal-groups.aspx">Need to convert Global groups to Universal groups? Do you have messages to global groups disappearing?</a>
<li><a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvradmin/thread/c7d25d85-b246-45d2-b52b-a6539bc0edb2">  Changing Group Type via PowerShell</a>
<li><a href="http://www.expta.com/2009/10/how-to-convert-local-and-global-groups.html">How to Convert Local and Global Groups to Universal Groups</a>
<li><a href="http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/a587a97d-0d22-4540-aff0-5728b06e287c">Forum post about the &#8220;BypassSecurityGroupManagerCheck&#8221; security error</a>
<li><a href="http://theessentialexchange.com/blogs/michael/archive/2008/02/28/exchange-server-2007-and-universal-groups.aspx">Exchange Server 2007 and Universal Groups</a>
<li><a href="http://support.microsoft.com/kb/231273">KB 231273: Group Type and Scope Usage in Windows</a>
<li><a href="http://www.experts-exchange.com/Software/Server_Software/Email_Servers/Exchange/Q_24694362.html">Mail Universal Groups vs Mail Non-Universal Groups</a> on Experts Exchange
<li><a href="http://blogs.technet.com/b/msukucc/archive/2009/02/23/recipients-list.aspx">Technet blog: Recipients List</a>
<li><a href="http://social.technet.microsoft.com/forums/en-US/exchangesvrdeploy/thread/a6ed9be8-bae9-4c4d-b540-224e4911be1a">Technet forum: Mail enabled distribution groups in AD</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/10/21/exchange-2010-post-upgrade-weirdness-cant-edit-mail-non-universal-group-or-security-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally, all users moved from Exchange 2003 to Exchange 2010.</title>
		<link>http://www.evanhoffman.com/evan/2010/10/12/finally-all-users-moved-from-exchange-2003-to-exchange-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=finally-all-users-moved-from-exchange-2003-to-exchange-2010</link>
		<comments>http://www.evanhoffman.com/evan/2010/10/12/finally-all-users-moved-from-exchange-2003-to-exchange-2010/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 19:29:44 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bes]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2003]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=818</guid>
		<description><![CDATA[TweetI&#8217;ve been working on migrating our Exchange environment from 2003 to 2010 for several months. My first post about this is from April 14th, when I was just trying to virtualize our existing Exchange 2003 system. Once that was complete, I started playing around with Exchange 2010 around June or July, and had most of [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/10/12/finally-all-users-moved-from-exchange-2003-to-exchange-2010/&via=EvanHoffman&text=Finally, all users moved from Exchange 2003 to Exchange 2010.&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/10/12/finally-all-users-moved-from-exchange-2003-to-exchange-2010/"></g:plusone></div><p>I&#8217;ve been working on migrating our Exchange environment from 2003 to 2010 for several months.  My  <a href="http://www.evanhoffman.com/evan/?p=367">first post about this</a> is from April 14th, when I was just trying to virtualize our existing Exchange 2003 system.  Once that was complete, I started playing around with Exchange 2010 around June or July, and had most of the users moved over to 2010 by the end of August.  The last holdouts were Blackberry users.  I couldn&#8217;t move their mailboxes because our BES was hosted on our original Exchange 2003 server.</p>
<p>BES is another product that I inherited that I had no experience with.  It&#8217;s BES 4.1.x and while I wasn&#8217;t a fan of the UI it seemed to do its job.  However, when I started moving people to Exchange 2010 I learned that <a href="http://na.blackberry.com/eng/support/software/server_compatibility.jsp">BES 4.1 doesn&#8217;t support Exchange 2010</a>.  So, to cut the (absurdly long) story short, I setup BES Express on a new VM, pointed it at our Exchange 2010 server, tested it out (and it worked), and just last week was able (finally) to move the last few users over to Exchange 2010.  BES users had to have their phones wiped to join them to the BES Express server, which was the major sticking point.</p>
<p>I can&#8217;t believe it actually took that long to complete, but we managed to move all user mailboxes twice (Ex2003 physical -> Ex2003 VM, then Ex2003 VM -> Ex2010 VM) with no noticeable interruption to users (we did the moves at night).  OWA 2010 alone would make it worth the upgrade, but I&#8217;m actually loving the Exchange Management Shell too.</p>
<p>Anyway&#8230; nice to have it completed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/10/12/finally-all-users-moved-from-exchange-2003-to-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One reason I hate iTunes.</title>
		<link>http://www.evanhoffman.com/evan/2010/09/16/one-reason-i-hate-itunes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=one-reason-i-hate-itunes</link>
		<comments>http://www.evanhoffman.com/evan/2010/09/16/one-reason-i-hate-itunes/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 12:04:43 +0000</pubDate>
		<dc:creator>Evan Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[file could not be found]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[locate]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[sucks]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=615</guid>
		<description><![CDATA[TweetI&#8217;ve always hated iTunes. It&#8217;s a huge pile of bloatware and it&#8217;s slow as poo. It&#8217;s like 100 mb or more for an mp3 player. I remember winamp playing mp3s when it was a 500k download. Anyway. I keep all my music on a Linux machine running samba. This way it&#8217;s available to every machine [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/09/16/one-reason-i-hate-itunes/&via=EvanHoffman&text=One reason I hate iTunes.&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/09/16/one-reason-i-hate-itunes/"></g:plusone></div><p>I&#8217;ve always hated iTunes. It&#8217;s a huge pile of bloatware and it&#8217;s slow as poo. It&#8217;s like 100 mb or more for an mp3 player. I remember winamp playing mp3s when it was a 500k download. Anyway.</p>
<p>I keep all my music on a Linux machine running samba. This way it&#8217;s available to every machine in the house.  When I had Winamp on all my machines this was wonderful.  But now that I&#8217;m forced into iTunes (thanks to having an iPhone), it turns out to be a major pain.  In iTunes I unchecked the box for &#8220;let iTunes keep my libary organized&#8221; to prevent it from copying the entire library to each computer&#8217;s local disk.  Initially adding my library of ~4000 tracks to iTunes takes over an hour (100 mbit wire) &#8211; it would take about 5 minutes in Winamp, even reading the ID3 tags for each track as it was added (rather than lazily as the song was played).</p>
<p>But the thing that iTunes does that is so annoying it prompted me to write this whiny rant is:</p>
<div id="attachment_623" class="wp-caption aligncenter" style="width: 443px"><a href="http://evanhoffman.com/evan/wp-content/uploads/2010/09/Fullscreen-capture-9172010-92815-PM.jpg"><img src="http://evanhoffman.com/evan/wp-content/uploads/2010/09/Fullscreen-capture-9172010-92815-PM.jpg" alt="iTunes &quot;Song Not Found&quot;" title="iTunes &quot;Song Not Found&quot;" width="433" height="415" class="size-full wp-image-623" /></a><p class="wp-caption-text">iTunes 'Song Not Found'</p></div>
<p>If, for some reason, my M: drive (where the Samba share is mapped) is not connected when iTunes starts, every song in the library gets this &#8220;!&#8221; exclamation point of doom.  If I attempt to play any of these tracks, I am given the option to locate the file.  Nice in theory, but locating all 4000 tracks isn&#8217;t realistic.  If I quit iTunes, reconnect the M: drive, and reopen iTunes, the ! persists.  The only solution I&#8217;ve found to this is deleting the entire library from iTunes and re-adding it, which as I said, takes an extremely long time.</p>
<p>I have other reasons for hating iTunes, this is a blog, not a book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/09/16/one-reason-i-hate-itunes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetI&#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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/&via=EvanHoffman&text=Converting Exchange 2003 conference rooms to Exchange 2010&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/"></g:plusone></div><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>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>get<span style="color: pink;">-</span>mailbox <span style="color: pink;">-</span><span style="color: #0000FF;">filter</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#40;</span>RecipientTypeDetails <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;UserMailbox&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span> DisplayName <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*conference*&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#125;</span>
&nbsp;
Name                      Alias                ServerName       ProhibitSendQuota
<span style="color: pink;">----</span>                      <span style="color: pink;">-----</span>                <span style="color: pink;">----------</span>       <span style="color: pink;">-----------------</span>
Conference Room2          ConferenceRoom2      exch2010be1      unlimited
Production Conference ... productionconf       exch2010be1      unlimited
Conference Room <span style="color: #804000;">1</span>         conference1          exch2010be1      unlimited
L<span style="color: pink;">&amp;</span>D Conference Room       ldconference         exch2010be1      unlimited
Tech Conference Room      techconference       exch2010be1      unlimited
Client Services Confer... csconference         exch2010be1      unlimited
Suite <span style="color: #804000;">202</span> Conference Room 202conf              exch2010be1      unlimited</pre></div></div>

<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>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>get<span style="color: pink;">-</span>mailbox <span style="color: pink;">-</span><span style="color: #0000FF;">filter</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#40;</span>RecipientTypeDetails <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;UserMailbox&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span> DisplayName <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*conference*&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#125;</span> <span style="color: pink;">|</span> set<span style="color: pink;">-</span>mailbox <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> room
<span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span></pre></div></div>

<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 example on Active Directory</title>
		<link>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></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[TweetJust putting this here for safekeeping since I couldn&#8217;t remember the exact syntax. &#91;evan@ehoffman 10:35:50 ~&#93;$ ldapsearch -x -LLL -D &#34;ldapuser@example.com&#34; -w password -b &#34;OU=Users,DC=example,DC=com&#34; -s sub -H ldaps://activedirectory.example.com &#34;(sn=hoffman)&#34; 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 Explanation: Connect to activedirectory.example.com using ldaps (SSL) [...]]]></description>
			<content:encoded><![CDATA[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/&via=EvanHoffman&text=ldapsearch example on Active Directory&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/"></g:plusone></div><p>Just putting this here for safekeeping since I couldn&#8217;t remember the exact syntax.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>evan<span style="color: #000000; font-weight: bold;">@</span>ehoffman <span style="color: #000000;">10</span>:<span style="color: #000000;">35</span>:<span style="color: #000000;">50</span> ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ ldapsearch <span style="color: #660033;">-x</span> <span style="color: #660033;">-LLL</span> <span style="color: #660033;">-D</span> <span style="color: #ff0000;">&quot;ldapuser@example.com&quot;</span> <span style="color: #660033;">-w</span> password <span style="color: #660033;">-b</span> <span style="color: #ff0000;">&quot;OU=Users,DC=example,DC=com&quot;</span> <span style="color: #660033;">-s</span> sub <span style="color: #660033;">-H</span> ldaps:<span style="color: #000000; font-weight: bold;">//</span>activedirectory.example.com <span style="color: #ff0000;">&quot;(sn=hoffman)&quot;</span> cn mail displayName samaccountname
dn: <span style="color: #007800;">CN</span>=Evan Hoffman,<span style="color: #007800;">OU</span>=Tech,<span style="color: #007800;">OU</span>=Users,<span style="color: #007800;">DC</span>=example,<span style="color: #007800;">DC</span>=com
cn: Evan Hoffman
displayName: Evan D. Hoffman
sAMAccountName: ehoffman
mail: Evan.Hoffman<span style="color: #000000; font-weight: bold;">@</span>example.com</pre></div></div>

<p><ins datetime="2011-05-10T20:24:56+00:00">Explanation:</ins> Connect to <b>activedirectory.example.com</b> using ldaps (SSL) with simple authentication, binding as <b>ldapuser@example.com</b> with password <b>password</b>; search for <b>(sn=hoffman)</b> within the <b>OU=Users,DC=example,DC=com</b> search base (branch), and search the <b>sub</b>tree.  Return the <b>cn</b>, <b>displayName</b>, and <b>samaccountname</b> fields.</p>
<p>Refer to the <a href="http://linux.die.net/man/1/ldapsearch">ldapsearch</a> man page for more options.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 &#8211; Out-of-office response (OOF) won&#039;t turn off?</title>
		<link>http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[turn off]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=506</guid>
		<description><![CDATA[TweetTwo 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/&via=EvanHoffman&text=Exchange 2010 - Out-of-office response (OOF) won&#039;t turn off?&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/08/11/exchange-2010-out-of-office-response-oof-wont-turn-off/"></g:plusone></div><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:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #008080; font-weight: bold;">PS</span><span style="color: #000000;">&#93;</span> C:\Windows\system32<span style="color: pink;">&gt;</span>Get<span style="color: pink;">-</span>mailbox <span style="color: pink;">-</span>identity username <span style="color: pink;">|</span> Get<span style="color: pink;">-</span>MailboxAutoReplyConfiguration
RunspaceId       : 7ad7e9af<span style="color: pink;">-</span>cd57<span style="color: pink;">-</span><span style="color: #804000;">4572</span><span style="color: pink;">-</span>a4fd<span style="color: pink;">-</span>c1e999e4b9a5
AutoReplyState   : Disabled
EndTime          : <span style="color: #804000;">8</span><span style="color: pink;">/</span><span style="color: #804000;">12</span><span style="color: pink;">/</span><span style="color: #804000;">2010</span> <span style="color: #804000;">12</span>:00:00 PM
ExternalAudience : All
ExternalMessage  :
InternalMessage  :
StartTime        : <span style="color: #804000;">8</span><span style="color: pink;">/</span><span style="color: #804000;">11</span><span style="color: pink;">/</span><span style="color: #804000;">2010</span> <span style="color: #804000;">12</span>:00:00 PM
MailboxOwnerId   :  <span style="color: #000000;">&#91;</span>removed<span style="color: #000000;">&#93;</span>
Identity         :  <span style="color: #000000;">&#91;</span>removed<span style="color: #000000;">&#93;</span>
IsValid          : True</pre></div></div>

<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>8</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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetA 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/08/05/changing-active-directory-password-in-browser-through-owa-2010/&via=EvanHoffman&text=Changing Active Directory Password in Browser through OWA 2010&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/08/05/changing-active-directory-password-in-browser-through-owa-2010/"></g:plusone></div><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://evanhoffman.com/evan/wp-content/uploads/2010/08/Change-Password-OWA.png"><img src="http://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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetOne 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/07/27/outlook-2007-exchange-2010-autodiscover-ssl-certificate-error-annoyance/&via=EvanHoffman&text=Outlook 2007 &amp; Exchange 2010 Autodiscover SSL certificate error annoyance&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/07/27/outlook-2007-exchange-2010-autodiscover-ssl-certificate-error-annoyance/"></g:plusone></div><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://www.godaddy.com/ssl/ssl-certificates.aspx?ci=21754&#038;isc=IAPssl5" 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>
<p><a target="_blank" href="http://affiliate.godaddy.com/redirect/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC"><img src="http://affiliate.godaddy.com/ads/5F43C3ECBA841ACFC3859F4F4E6CA7DA64C271385B2D61A3AD6F3CCE83EB1DD8235E60DCD7D63BCD92E2429E79A75FAC" border="0" width="468"  height="60" alt="Go Daddy $12.99 SSL Sale!"/></a></p>
]]></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>6</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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetI&#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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/07/20/migrating-from-exchange-2003-to-2010-and-other-fun-bits/&via=EvanHoffman&text=The Joy of Migrating from Exchange 2003 to 2010&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/07/20/migrating-from-exchange-2003-to-2010-and-other-fun-bits/"></g:plusone></div><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 &quot;(server IP)&quot; &quot;clients.xml&quot; file</title>
		<link>http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetI 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/&via=EvanHoffman&text=vCenter: Error parsing the server &quot;(server IP)&quot; &quot;clients.xml&quot; file&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/06/23/vcenter-error-parsing-the-server-clients-xml-file/"></g:plusone></div><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>
<p><strong>Edit 10/22/2010:</strong> You can also resolve this by upgrading your vCenter client to 4.1, which I recently did.  4.1 is available on vmware.com.</p>
]]></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>10</slash:comments>
		</item>
		<item>
		<title>Hygiene Management?</title>
		<link>http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetI&#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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/&via=EvanHoffman&text=Hygiene Management?&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/06/03/hygiene-management/"></g:plusone></div><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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetSo 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/04/14/moving-an-exchange-2003-server-to-another-location-with-minimal-risk-and-disruption/&via=EvanHoffman&text=Moving an Exchange 2003 server to another location with minimal risk and disruption?&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/04/14/moving-an-exchange-2003-server-to-another-location-with-minimal-risk-and-disruption/"></g:plusone></div><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/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=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 Hoffman</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[TweetI 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[<div style="vertical-align: top; float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.evanhoffman.com/evan/2010/01/13/victory-change-active-directory-password-via-ldap-through-browser/&via=EvanHoffman&text=Victory!  Change Active Directory Password via LDAP through browser&related=EvanHoffman:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="plus-one-wrap"><g:plusone size="small" href="http://www.evanhoffman.com/evan/2010/01/13/victory-change-active-directory-password-via-ldap-through-browser/"></g:plusone></div><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><script src="https://gist.github.com/1268417.js?file=changeadpasswd.pl"></script></p>
<p>(Edited 5/14/2010 to replace the inlined Perl script with a link to the script as a text file.)</p>
<p>(<ins datetime="2011-10-06T19:39:21+00:00">Edited 10/6/2011 to replace link to script with link to gist</ins>)</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>8</slash:comments>
		</item>
	</channel>
</rss>

