<?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>Exchange Powershell</title>
	<atom:link href="http://www.exchange-powershell.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exchange-powershell.com</link>
	<description>Exchange and Powershell Helps, Tips, and Tricks</description>
	<lastBuildDate>Tue, 09 Mar 2010 13:57:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>(Windows PowerShell Blog) “Falling is Learning – Just Focus on Having Fun”</title>
		<link>http://www.exchange-powershell.com/2010/03/09/%e2%80%9cfalling-is-learning-%e2%80%93-just-focus-on-having-fun%e2%80%9d/</link>
		<comments>http://www.exchange-powershell.com/2010/03/09/%e2%80%9cfalling-is-learning-%e2%80%93-just-focus-on-having-fun%e2%80%9d/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 13:57:38 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Microsoft Blog]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9975461</guid>
		<description><![CDATA[FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/03/09/falling-is-learning-just-focus-on-having-fun.aspx">Windows PowerShell Blog</a> <p>Back in the days when our hair was on fire with security issues, we brought in a number of industry experts to educate us on developing secure software.&#160; This resulted in the <a href="http://msdn.microsoft.com/en-us/library/ms995349.aspx">Security Development Lifecycle</a> which all our products now use.&#160; One of the best talks was a from a guy from the NSA who had a talk that was something along the lines of, “The zen of secure software”.&#160; In this talk he argued against the all-or-nothing mindset in favor of a model of constantly expanding the envelope.&#160; Any given moment, you evaluate what you need to do (in this case – to address security issues),&#160; you do it and then … you do a bit more.&#160; Then do it again.&#160; And again.&#160; And again.&#160; And with constant vigilance and time, you would achieve excellence.</p>  <p>&#160;</p>  <p>And so it is with using PowerShell.&#160; I’ve recently had a number of engagements with people just getting started with PowerShell and getting frustrated with the syntax or some of the semantics and then they look at these thick PowerShell books and feel a bit overwhelmed.&#160; </p>  <p>&#160;</p>  <p>Don’t be overwhelmed.</p>  <p>&#160;</p>  <p>PowerShell is meant to be an fun environment to experiment with what is possible.&#160; That means&#160; you’ll try some things and they’ll fail – don’t let that freak you out (it is one of the reasons we added –WHATIF to everything!).&#160; I’ve been trying to learn to do yoga for a while now.&#160; In yoga there are lots of positions that require balance and I’m not particularly good at that.&#160; I used to get super frustrated with these poses until one day my teacher quoted someone saying,&#160; “falling is learning – just focus on having fun”.&#160; That phrase transformed my experience and while I wish I didn’t fall, now when I do, I smile, laugh and get up and try it again.</p>  <p>&#160;</p>  <p>All you need to do is to learn what you need to do to accomplish the task at hand … and a bit more. Then do it again.&#160; And again.&#160; And again.&#160; Have fun with it and push the envelope.</p>  <p>&#160;</p>  <p>Now I’m late for yoga – gotta run.&#160;&#160; Experiment!&#160; Enjoy!&#160; Engage! </p>  <p>Jeffrey Snover [MSFT]   <br />Distinguished Engineer    <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>    <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9975461" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/03/09/falling-is-learning-just-focus-on-having-fun.aspx">Windows PowerShell Blog</a></p>
<p>Back in the days when our hair was on fire with security issues, we brought in a number of industry experts to educate us on developing secure software.&#160; This resulted in the <a href="http://msdn.microsoft.com/en-us/library/ms995349.aspx">Security Development Lifecycle</a> which all our products now use.&#160; One of the best talks was a from a guy from the NSA who had a talk that was something along the lines of, “The zen of secure software”.&#160; In this talk he argued against the all-or-nothing mindset in favor of a model of constantly expanding the envelope.&#160; Any given moment, you evaluate what you need to do (in this case – to address security issues),&#160; you do it and then … you do a bit more.&#160; Then do it again.&#160; And again.&#160; And again.&#160; And with constant vigilance and time, you would achieve excellence.</p>  <p>&#160;</p>  <p>And so it is with using PowerShell.&#160; I’ve recently had a number of engagements with people just getting started with PowerShell and getting frustrated with the syntax or some of the semantics and then they look at these thick PowerShell books and feel a bit overwhelmed.&#160; </p>  <p>&#160;</p>  <p>Don’t be overwhelmed.</p>  <p>&#160;</p>  <p>PowerShell is meant to be an fun environment to experiment with what is possible.&#160; That means&#160; you’ll try some things and they’ll fail – don’t let that freak you out (it is one of the reasons we added –WHATIF to everything!).&#160; I’ve been trying to learn to do yoga for a while now.&#160; In yoga there are lots of positions that require balance and I’m not particularly good at that.&#160; I used to get super frustrated with these poses until one day my teacher quoted someone saying,&#160; “falling is learning – just focus on having fun”.&#160; That phrase transformed my experience and while I wish I didn’t fall, now when I do, I smile, laugh and get up and try it again.</p>  <p>&#160;</p>  <p>All you need to do is to learn what you need to do to accomplish the task at hand … and a bit more. Then do it again.&#160; And again.&#160; And again.&#160; Have fun with it and push the envelope.</p>  <p>&#160;</p>  <p>Now I’m late for yoga – gotta run.&#160;&#160; Experiment!&#160; Enjoy!&#160; Engage! </p>  <p>Jeffrey Snover [MSFT]   <br />Distinguished Engineer    <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>    <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9975461" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/09/%e2%80%9cfalling-is-learning-%e2%80%93-just-focus-on-having-fun%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Dude, where&#8217;s my rollup?</title>
		<link>http://www.exchange-powershell.com/2010/03/08/dude-wheres-my-rollup/</link>
		<comments>http://www.exchange-powershell.com/2010/03/08/dude-wheres-my-rollup/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:57:18 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[Tips 'n Tricks]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454188</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/03/08/454188.aspx">You Had Me At EHLO...</a> <p><font size="2">So I just installed RU1 on my brand new Exchange 2010 server and then I issue a Get-Exchangeserver -Identity MyExchangeServer and get the following output for AdminsDisplayVersion and ExchangeVersion:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454182/original.aspx"> <p><font size="2">Ok that looks a little familiar for some reason. I go to my Exchange 2010 RTM server and issue the same CMDlet and get:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454183/original.aspx"> <p><font size="2">...The same result! But one server has RU1 installed and the other is RTM. Shouldn't I get a different version number back?</font> <p><font size="2">Well... no. Exchange 2007 and forward do not reflect the version number either in the value for AdminDisplayVersion, ExchangeVersion, or at this registry key HKLM\SOFTWARE\Microsoft\v8.0\&#60;Role&#62;\ConfiguredVersion as influenced by roll ups. This is a common misconception. </font> <p><font size="2">The most conclusive way to get the version of your exchange server, rollup and all, is to check the file version of ExSetup.exe in the BIN folder.</font> <p><font size="2">Here is Exchange 2010 RU1 version:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454184/original.aspx"> <p><font size="2">And here is Exchange 2010 RTM:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454185/original.aspx"> <p><font size="2">Another way of getting this information is to run the following PowerShell one-liner:</font> <p><font size="2">GCM exsetup &#124;%{$_.Fileversioninfo}</font> <p><font size="2">The below output is from an exchange 2010 server running RU1:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454186/original.aspx"> <p><font size="2">Here is an exchange 2010 RTM server:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454187/original.aspx"> <p><font size="2">You can then correlate the version number you find with those listed </font><a href="http://technet.microsoft.com/en-us/library/bb232170(EXCHG.80).aspx"><font size="2">here</font></a><font size="2">, </font><a href="http://support.microsoft.com/kb/158530"><font size="2">here</font></a><font size="2"> or on the actual rollup update download pages.</font> <p><font size="2">Hope this post reduces some confusion out there!</font> <p><font size="2">- </font><a href="http://msexchangeteam.com/archive/2009/06/03/451540.aspx"><font size="2">Tom Kern</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454188" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/03/08/454188.aspx">You Had Me At EHLO...</a></p>
<p><font size="2">So I just installed RU1 on my brand new Exchange 2010 server and then I issue a Get-Exchangeserver -Identity MyExchangeServer and get the following output for AdminsDisplayVersion and ExchangeVersion:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454182/original.aspx"> <p><font size="2">Ok that looks a little familiar for some reason. I go to my Exchange 2010 RTM server and issue the same CMDlet and get:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454183/original.aspx"> <p><font size="2">...The same result! But one server has RU1 installed and the other is RTM. Shouldn't I get a different version number back?</font> <p><font size="2">Well... no. Exchange 2007 and forward do not reflect the version number either in the value for AdminDisplayVersion, ExchangeVersion, or at this registry key HKLM\SOFTWARE\Microsoft\v8.0\&lt;Role&gt;\ConfiguredVersion as influenced by roll ups. This is a common misconception. </font> <p><font size="2">The most conclusive way to get the version of your exchange server, rollup and all, is to check the file version of ExSetup.exe in the BIN folder.</font> <p><font size="2">Here is Exchange 2010 RU1 version:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454184/original.aspx"> <p><font size="2">And here is Exchange 2010 RTM:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454185/original.aspx"> <p><font size="2">Another way of getting this information is to run the following PowerShell one-liner:</font> <p><font size="2">GCM exsetup |%{$_.Fileversioninfo}</font> <p><font size="2">The below output is from an exchange 2010 server running RU1:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454186/original.aspx"> <p><font size="2">Here is an exchange 2010 RTM server:</font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454187/original.aspx"> <p><font size="2">You can then correlate the version number you find with those listed </font><a href="http://technet.microsoft.com/en-us/library/bb232170(EXCHG.80).aspx"><font size="2">here</font></a><font size="2">, </font><a href="http://support.microsoft.com/kb/158530"><font size="2">here</font></a><font size="2"> or on the actual rollup update download pages.</font> <p><font size="2">Hope this post reduces some confusion out there!</font> <p><font size="2">- </font><a href="http://msexchangeteam.com/archive/2009/06/03/451540.aspx"><font size="2">Tom Kern</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454188" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/08/dude-wheres-my-rollup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Windows PowerShell Blog) Fun – Is W7 Too Good?</title>
		<link>http://www.exchange-powershell.com/2010/03/07/fun-%e2%80%93-is-w7-too-good/</link>
		<comments>http://www.exchange-powershell.com/2010/03/07/fun-%e2%80%93-is-w7-too-good/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 17:12:50 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Microsoft Blog]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9974421</guid>
		<description><![CDATA[FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/03/07/fun-is-w7-too-good.aspx">Windows PowerShell Blog</a> <p>Sean Kearney (aka Ye110beard of <a href="http://www.youtube.com/watch?v=MWWzrp3xkYY" target="_blank">Highway to PowersHell</a> fame ) sent me a pointer to a fun video which posits that maybe W7 is TOO good.&#160; Just maybe it is so good that it will put IT Pros out of business.&#160; I think the exact opposite is true - I think PowerShell and the ability script the OS and products allows IT Pros to generate a ton of value and increase their integrated lifetime earnings.&#160; Still it is a fun video.&#160; You can catch it <a href="http://www.infrastructure2010.com/splash.aspx" target="_blank">HERE</a>.</p>  <p>Enjoy! </p>  <p>Jeffrey Snover [MSFT]   <br />Distinguished Engineer    <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>    <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9974421" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/03/07/fun-is-w7-too-good.aspx">Windows PowerShell Blog</a></p>
<p>Sean Kearney (aka Ye110beard of <a href="http://www.youtube.com/watch?v=MWWzrp3xkYY" >Highway to PowersHell</a> fame ) sent me a pointer to a fun video which posits that maybe W7 is TOO good.&#160; Just maybe it is so good that it will put IT Pros out of business.&#160; I think the exact opposite is true - I think PowerShell and the ability script the OS and products allows IT Pros to generate a ton of value and increase their integrated lifetime earnings.&#160; Still it is a fun video.&#160; You can catch it <a href="http://www.infrastructure2010.com/splash.aspx" >HERE</a>.</p>  <p>Enjoy! </p>  <p>Jeffrey Snover [MSFT]   <br />Distinguished Engineer    <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>    <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9974421" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/07/fun-%e2%80%93-is-w7-too-good/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Released: Update Rollup 2 for Exchange Server 2010</title>
		<link>http://www.exchange-powershell.com/2010/03/05/released-update-rollup-2-for-exchange-server-2010/</link>
		<comments>http://www.exchange-powershell.com/2010/03/05/released-update-rollup-2-for-exchange-server-2010/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:58:00 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454155</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/03/05/454155.aspx">You Had Me At EHLO...</a> <div style="font:normal 1.2em 'Calibri',Helvetica,Arial,sans-serif"><p>Exchange CXP team has released Update Rollup 2 for Exchange Server 2010 RTM (KB 979611) to the download center. </p>
<p><a href="http://support.microsoft.com/?kbid=979611">KB 979611</a> lists all the fixes included in this rollup.   Here are some of the product improvements and critical bug fixes we'd like to call out starting with a couple of IMAP improvements: </p><ol>
<li><a href="http://support.microsoft.com/?kbid=977633">KB 977633</a>  This fixes IMAP4 clients ability to log on to their mailboxes if the mailboxes are located on Exchange 2003  backend servers and if the clients are connecting via Exchange 2010 CAS servers.  
</li><li><a href="http://support.microsoft.com/?kbid=979480">KB 979480</a>  IMAPid was not working correctly after moving a lot of users from one Exchange 2010 server to another*. IMAP4 users complained about the inbox not being updated any more.  Old messages were still visible, but messages which were received after the mailbox move were not visible. The problem affected different IMAP Clients.  The problem did not affect MAPI clients and OWA.  Now it is fixed up.  
*(Specifically this occurred in the situation with same DAG, now local storage instead of iSCSI storage, all servers are Exchange 2010 with Update Rollup 1 installed on Windows Server 2008 R2).
</li><li><a href="http://support.microsoft.com/?kbid=979431">KB 979431</a>  When user migrated from Exchange Server 2003 to Exchange Server 2010, and that user connected via POP3, the POP3 service crashed.  This was fixed up so it will not crash.  
</li><li><a href="http://support.microsoft.com/?kbid=979563">KB 979563</a>  Push Notifications didn't work because Exchange Server 2010 was not sending SOAPAction header in the notify callback.  This caused Exchange to receive a HTTP 500 response from the notification client and the webservice failed.   Push notifications should now properly send that SOAP header.
</li><li><a href="http://support.microsoft.com/?kbid=980261">KB 980261</a>  We fixed passive page patching when diagnostic tracing code was needed for forensic analysis that was generating a -1022 error case.    
</li><li><a href="http://support.microsoft.com/?kbid=980262">KB 980262</a>  Source side log copier errors are more gracefully handled when the log has a bad block and the read fails.
</li><li><a href="http://support.microsoft.com/?kbid=979566">KB 979566</a>  Activesync proxy was failing for linked mailboxes in a CAS to CAS proxy scenario where the users token is serialized and sent in the request.  When attempting to create the client security context from the SID, a AuthZException was thrown because we did not have access to the token information of the linked account, so now for this it no longer throws exceptions. 
</li></ol>
<h3>Only the English Rollup?</h3>
<p>Customers may not install the rollup because they may feel that this should only be installed on an English Exchange Server. This was true for Exchange 2007 and is not true for Exchange 2010. When installing this rollup, the UI will be English and the “Add/Remove Programs” text will be English. We are expecting to release the other rollup installation language strings with the next rollup. We are finishing UI validation.</p>

<h3>Known Issue</h3>
<p>With Update Rollup 2 for Exchange Server 2010 RTM, we introduced a new parameter for the <a href="http://technet.microsoft.com/en-us/library/bb125157.aspx">Set-ClientAccessServer</a> cmdlet, <span style="font-family:normal .9em Consolas,'Courier New',Courier,monospace">CleanUpInvalidAlternateServiceAccountCredentials</span>. Unfornately, the parameter cannot be used at this time. However the Set-ClientAccessServer cmdlet still functions with all other available parameters. </p>
<p>The cmdlet functions but not the parameter because of how RBAC works at the Organization\Enterprise level. The change functions as expected, except for this one issue. This issue blocks some functionality offered by this particular fix. We have a work around and we are currently performing testing and ensuring that we document it correctly. It will require running “Install-CannedRbacRoles” on one server after the rollup is installed. Once replication happens across the AD, the parameter will be available for use for the servers that have the rollup installed.
<p><a title="Go to KB 979611" href="http://support.microsoft.com/kb/979611">KB 979611</a> has more details about this release and a complete list of all fixes included in this rollup. </p>
<p>-Exchange</p>
</div>
<img src="http://msexchangeteam.com/aggbug.aspx?PostID=454155" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/03/05/454155.aspx">You Had Me At EHLO...</a></p>
<div style="font:normal 1.2em 'Calibri',Helvetica,Arial,sans-serif;"><p>Exchange CXP team has released Update Rollup 2 for Exchange Server 2010 RTM (KB 979611) to the download center. </p>
<p><a href="http://support.microsoft.com/?kbid=979611">KB 979611</a> lists all the fixes included in this rollup.   Here are some of the product improvements and critical bug fixes we'd like to call out starting with a couple of IMAP improvements: </p><ol>
<li><a href="http://support.microsoft.com/?kbid=977633">KB 977633</a>  This fixes IMAP4 clients ability to log on to their mailboxes if the mailboxes are located on Exchange 2003  backend servers and if the clients are connecting via Exchange 2010 CAS servers.  
</li><li><a href="http://support.microsoft.com/?kbid=979480">KB 979480</a>  IMAPid was not working correctly after moving a lot of users from one Exchange 2010 server to another*. IMAP4 users complained about the inbox not being updated any more.  Old messages were still visible, but messages which were received after the mailbox move were not visible. The problem affected different IMAP Clients.  The problem did not affect MAPI clients and OWA.  Now it is fixed up.  
*(Specifically this occurred in the situation with same DAG, now local storage instead of iSCSI storage, all servers are Exchange 2010 with Update Rollup 1 installed on Windows Server 2008 R2).
</li><li><a href="http://support.microsoft.com/?kbid=979431">KB 979431</a>  When user migrated from Exchange Server 2003 to Exchange Server 2010, and that user connected via POP3, the POP3 service crashed.  This was fixed up so it will not crash.  
</li><li><a href="http://support.microsoft.com/?kbid=979563">KB 979563</a>  Push Notifications didn't work because Exchange Server 2010 was not sending SOAPAction header in the notify callback.  This caused Exchange to receive a HTTP 500 response from the notification client and the webservice failed.   Push notifications should now properly send that SOAP header.
</li><li><a href="http://support.microsoft.com/?kbid=980261">KB 980261</a>  We fixed passive page patching when diagnostic tracing code was needed for forensic analysis that was generating a -1022 error case.    
</li><li><a href="http://support.microsoft.com/?kbid=980262">KB 980262</a>  Source side log copier errors are more gracefully handled when the log has a bad block and the read fails.
</li><li><a href="http://support.microsoft.com/?kbid=979566">KB 979566</a>  Activesync proxy was failing for linked mailboxes in a CAS to CAS proxy scenario where the users token is serialized and sent in the request.  When attempting to create the client security context from the SID, a AuthZException was thrown because we did not have access to the token information of the linked account, so now for this it no longer throws exceptions. 
</li></ol>
<h3>Only the English Rollup?</h3>
<p>Customers may not install the rollup because they may feel that this should only be installed on an English Exchange Server. This was true for Exchange 2007 and is not true for Exchange 2010. When installing this rollup, the UI will be English and the “Add/Remove Programs” text will be English. We are expecting to release the other rollup installation language strings with the next rollup. We are finishing UI validation.</p>

<h3>Known Issue</h3>
<p>With Update Rollup 2 for Exchange Server 2010 RTM, we introduced a new parameter for the <a href="http://technet.microsoft.com/en-us/library/bb125157.aspx">Set-ClientAccessServer</a> cmdlet, <span style="font-family:normal .9em Consolas,'Courier New',Courier,monospace;font-stretch:condensed;">CleanUpInvalidAlternateServiceAccountCredentials</span>. Unfornately, the parameter cannot be used at this time. However the Set-ClientAccessServer cmdlet still functions with all other available parameters. </p>
<p>The cmdlet functions but not the parameter because of how RBAC works at the Organization\Enterprise level. The change functions as expected, except for this one issue. This issue blocks some functionality offered by this particular fix. We have a work around and we are currently performing testing and ensuring that we document it correctly. It will require running “Install-CannedRbacRoles” on one server after the rollup is installed. Once replication happens across the AD, the parameter will be available for use for the servers that have the rollup installed.
<p><a title="Go to KB 979611" href="http://support.microsoft.com/kb/979611">KB 979611</a> has more details about this release and a complete list of all fixes included in this rollup. </p>
<p>-Exchange</p>
</div>
<img src="http://msexchangeteam.com/aggbug.aspx?PostID=454155" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/05/released-update-rollup-2-for-exchange-server-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Removing a Feature From The Exchange Control Panel</title>
		<link>http://www.exchange-powershell.com/2010/03/04/removing-a-feature-from-the-exchange-control-panel/</link>
		<comments>http://www.exchange-powershell.com/2010/03/04/removing-a-feature-from-the-exchange-control-panel/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:00:00 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Role: Client Access]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tips 'n Tricks]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454148</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/03/04/454148.aspx">You Had Me At EHLO...</a> <div style="font: 1.2em 'Calibri',arial,helvetica,sans-serif"> <p>For various reasons, there are times when an administrator does not want a part of the ECP to be accessible by some users and they desire a features' tab or entry point to not be visible at all. The web.config file for the Exchange Control Panel (ECP) contains the requirements a logged in user must meet before the feature tab or configuration item may be displayed in the UI.  <p>Here we will step through an example of how to go through the process of determining what you must do to accomplish this task. </p> <blockquote><strong>IMPORTANT:</strong> Exchange Control Panel files are not modified to accomplish this — the process only involves changing the user's RBAC Role assignment. </blockquote> <blockquote><strong>SUPPORT NOTE:</strong> Modifying the Exchange Control Panel files to remove parts of the UI is not supported. Serious problems may occur if you modify web.config files. The only supported way of removing a feature from the ECP is by modifying the effective rights a user has using RBAC, as documented in this post. </blockquote> <p>In Exchange 2010, Role Based Access Control (RBAC) is the new permissions model that allows you to assign granular permissions based on management roles. To learn more about RBAC, see <a title="role" href="http://technet.microsoft.com/en-us/library/dd298183.aspx">Understanding Role Based Access Control</a> in Exchange 2010 documentation, and the previous post <a title="Read previous post 'RBAC and the Triangle of Power'" href="/archive/2009/11/16/453222.aspx">RBAC and the Triangle of Power</a>.  <p></p> <blockquote></blockquote> <h2>Remove the Delivery Reports tab for a user</h2>In Exchange 2010, the Delivery Reports tab in ECP allows users to retrieve delivery reports for messages sent to or received by them. In this example, the goal is to not display the Delivery Reports tab in ECP so it's not accessible by a user.<br /><br /><img src="/photos/postpictures3/images/454144/original.aspx"> <br /><strong>Figure 1:</strong> The Delivery Reports tab in ECP<br /> <ol> <li>To remove the Delivery Reports tab from ECP for a user, we need to determine what's needed for the tab to show. To get this information, we need to check the Web.Config file located in ECP's folder at ":\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\Reporting". ECP uses the authorization section of the Web.Config file to evaluate if the tab should be displayed. If the user is not allowed to run the cmdlet shown, the tab is not displayed. Let's view the Authorization section of the <strong>Deliveryreports.slab</strong> location path:<br /> <p style="font:normal 1em 'Consolas',courier,monospace">&#60;location path="DeliveryReports.slab"&#62;<br />       &#60;system.web&#62;<br />           &#60;authorization&#62;<br />                &#60;allow roles="Search-MessageTrackingReport@R:Organization" /&#62;<br />                &#60;!-Deny everyone else -&#62;<br />                &#60;deny users="*" /&#62;<br />            &#60;/authorization&#62;</p>
<p>As shown in the above figure, access to the <a title="Go to 'Search-MessageTrackingReport' cmdlet ref in Exchange 2010 docs" href="http://technet.microsoft.com/en-us/library/dd351138.aspx">Search-MessageTrackingReport</a> cmdlet is required to display the Delivery Reports tab. To disable the Delivery Reports tab, we need to determine which RBAC roles can run the Search-MessageTrackingReport cmdlet, so we can remove the permission for the user to run it. This ensures the tab will not be displayed to that user.<br /><br />To determine which RBAC roles can run the Search-MessageTrackingReport cmdlet, we use the <a title="Go to 'Get-ManagementRole' cmdlet reference in Exchange 2010 docs" href="http://technet.microsoft.com/en-us/library/dd351125.aspx">Get-ManagementRole</a> cmdlet: <br /> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em 'Consolas','Courier New',courier,monospace;padding-top: 0.3em">Get-ManagementRole -cmdlet Search-MessageTrackingReport</p>The result:<br /> <p style="padding-bottom: 0.25em;line-height: 1.44em;padding-left: 0.25em;padding-right: 0.25em;font-family: 'Consolas','Courier New',courier,monospace;background: #000;color: #ffff00;font-size: 1em;padding-top: 0.25em">Name                   RoleType <br />-------                -------------- <br />Message Tracking       MessageTracking <br />View-OnlyConfiguration ViewOnlyConfiguration <br />MyBaseOptions          MyBaseOptions </p> <p>Next we must determine which of the above roles the user is a member of and where it would make sense to remove the Search-MessageTrackingReport cmdlet from. For example, we wouldn't want to remove the cmdlet from the ViewOnly Configuration because that is an administrative role. The user is not an administrator, and therefore it's not likely that he/she has been assigned the MessageTracking role. This means that we will have to check to see what roles/assignments the user is a member of:</p> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">Get-RoleGroup &#124; where {$_.Members -like "*Display UserName*"} &#124; fl name</p>The command doesn't return any results because the user is not a member of any administrator type role. Next, we will check the management role assignments for this user:  <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">Get-ManagementRoleAssignment -RoleAssignee UserName</p> <p>Among other items you see the list of roles (note these are user/self configuration roles):  <p style="padding-bottom: 0.25em;line-height: 1.4em;padding-left: 0.25em;padding-right: 0.25em;font-family: 'Consolas','Courier New',courier,monospace;background: #000;color: #ffff00;font-size: 1em;padding-top: 0.25em">Name                                                         Role <br />--------                                                     --------- <br />MyBaseOptions-Default Role Assignment Policy                 MyBaseOptions <br />MyContactInformation-Default Role Assignment Policy          MyContactInformation <br />MyVoiceMail-Default Role Assignment Policy                   MyVoiceMail <br />MyDistributionGroupMembership-Default Role Assignment Policy MyDistributionGroupMembership <br />Custom Default Policy                                        MyDiagnostics </p> <p>It looks like the only one we are interested in here is the "MyBaseOptions" because we already know that the cmdlet we want to block is only available in that role that the user has anything to do with. The user is not an administrator so the other roles are not interesting to us for this scenario.</p> <p>To make sure the user is assigned to the role assignment policy we can verify:</p> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">Get-Mailbox UserName &#124; fl roleassignmentpolicy</p> <p style="padding-bottom: 0.25em;line-height: 1.4em;padding-left: 0.25em;padding-right: 0.25em;font-family: 'Consolas','Courier New',courier,monospace;background: #000;color: #ffff00;font-size: 1em;padding-top: 0.25em">RoleAssignmentPolicy: Default Role Assignment Policy</p>Tip: If you want to combine some of the above steps into one line to find out which role contains that cmdlet we are interested in (Search-MessageTrackingReport), you can use the following set of cmdlets: <br /> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,;padding-top: 0.3em">Get-ManagementRole -Cmdlet Search-MessageTrackingReport &#124; Get-ManagementRoleAssignment -RoleAssignee UserName -Delegating $False &#124; FT Role, RoleAssigneeName </p><br />The result: <br /> <p style="padding-bottom: 0.25em;line-height: 1.4em;padding-left: 0.25em;padding-right: 0.25em;font-family: 'Consolas','Courier New',courier,monospace;background: #000;color: #ffff00;font-size: 1em;padding-top: 0.25em">Role            RoleAssigneeName <br />----            ---------------- <br />MyBaseOptions   Default Role Assignment Policy </p> <p></p> <li> <p>Now, we know that we need to create a new <strong>Role Assignment Policy</strong> for the user and associate it with a new (customized) MyBaseOptions role. We will make a copy of the <strong>MyBaseOptions</strong> role so we can remove the <strong>Search-MessageTrackingReport</strong> cmdlet from it.</p> <p>First, we will create a new (end user) Role Assignment Policy called Alternate Assignment Policy, and leave the original policy unchanged (for other users who should still have access to the Delivery Reports tab).:</p> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">New-RoleAssignmentPolicy "Alternate Assignment Policy"</p>For this new policy, we need to turn on a few of the default options that the Default Policy had. For example, to add the ability for the user to edit their own contact information we add the <strong>MyContactInformation</strong> role to the policy: <br /> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyContactInformation-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyContactInformation</p><br />To add the ability for the user to manage their own distribution group membership, we add the <strong>MyDistributionGroupMembership</strong> role to the policy: <br /> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyDistributionGroupMembership-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyDistributionGroupMembership</p> <li> <p>Now we need to create a copy of the <strong>MyBaseOptions</strong> role so we can remove the Search-MessageTrackingReport cmdlet from it and then assign it to the new Role Assignment Policy. We can give it any name, preferably something with a good description.:</p> <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">New-ManagementRole "MyBaseOptionsWithoutMessageTracking" -Parent MyBaseOptions</p> <li>We remove the Search-MessageTrackingReport cmdlet from the "MyBaseOptionsWithoutMessageTracking" role:  <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">Remove-ManagementRoleEntry "MyBaseOptionsWithoutMessageTracking\Search-MessageTrackingReport"</p> <li>Next, we assign the newly created <strong>MyBaseOptionsWithoutMessageTracking</strong> role to the Role Assignment Policy:  <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyBaseOptionsWithoutMessageTracking-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyBaseOptionsWithoutMessageTracking</p> <li>Then, we assign the Role Assignment Policy to the user:  <p style="padding-bottom: 0.3em;background-color: #ccc;padding-left: 0.3em;padding-right: 0.3em;font: bold 1em consolas,'Courier New',courier,monospace;padding-top: 0.3em">Set-mailbox mod1user1 -RoleAssignmentPolicy "Alternate Assignment Policy"</p> <p>This can also be performed in the ECP, as shown in figure 2.</p><img src="/photos/postpictures3/images/454145/original.aspx"><br /><strong>Figure 2:</strong> Assigning the Role Assignment Policy to the user in ECP<br /></li></ol> <p>Done! Now we can test the user experience. As shown in figure 3, when UserName logs on, the Delivery Reports tab isn't visible.</p><img src="/photos/postpictures3/images/454146/original.aspx"><br /><strong>Figure 3:</strong> The Delivery Reports tab is removed for the user<br /> <p>After the Delivery Reports tab is removed, if your user tries to track a message from within Outlook Web App or Outlook, he/she will receive the following error:</p><img src="/photos/postpictures3/images/454147/original.aspx"><br /><strong>Figure 4:</strong> Error when user tries to track a message<br />  <ol></ol> <p>-<a href="/articles/454033.aspx">Perry Newman</a></p></div><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454148" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/03/04/454148.aspx">You Had Me At EHLO...</a></p>
<div style="font: 1.2em 'Calibri',arial,helvetica,sans-serif"> <p>For various reasons, there are times when an administrator does not want a part of the ECP to be accessible by some users and they desire a features' tab or entry point to not be visible at all. The web.config file for the Exchange Control Panel (ECP) contains the requirements a logged in user must meet before the feature tab or configuration item may be displayed in the UI.  <p>Here we will step through an example of how to go through the process of determining what you must do to accomplish this task. </p> <blockquote><strong>IMPORTANT:</strong> Exchange Control Panel files are not modified to accomplish this — the process only involves changing the user's RBAC Role assignment. </blockquote> <blockquote><strong>SUPPORT NOTE:</strong> Modifying the Exchange Control Panel files to remove parts of the UI is not supported. Serious problems may occur if you modify web.config files. The only supported way of removing a feature from the ECP is by modifying the effective rights a user has using RBAC, as documented in this post. </blockquote> <p>In Exchange 2010, Role Based Access Control (RBAC) is the new permissions model that allows you to assign granular permissions based on management roles. To learn more about RBAC, see <a title="role" href="http://technet.microsoft.com/en-us/library/dd298183.aspx">Understanding Role Based Access Control</a> in Exchange 2010 documentation, and the previous post <a title="Read previous post 'RBAC and the Triangle of Power'" href="http://msexchangeteam.com/archive/2009/11/16/453222.aspx">RBAC and the Triangle of Power</a>.  <p></p> <blockquote></blockquote> <h2>Remove the Delivery Reports tab for a user</h2>In Exchange 2010, the Delivery Reports tab in ECP allows users to retrieve delivery reports for messages sent to or received by them. In this example, the goal is to not display the Delivery Reports tab in ECP so it's not accessible by a user.<br><br><img src="http://msexchangeteam.com/photos/postpictures3/images/454144/original.aspx"> <br><strong>Figure 1:</strong> The Delivery Reports tab in ECP<br> <ol> <li>To remove the Delivery Reports tab from ECP for a user, we need to determine what's needed for the tab to show. To get this information, we need to check the Web.Config file located in ECP's folder at "<drive>:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\Reporting". ECP uses the authorization section of the Web.Config file to evaluate if the tab should be displayed. If the user is not allowed to run the cmdlet shown, the tab is not displayed. Let's view the Authorization section of the <strong>Deliveryreports.slab</strong> location path:<br> <p style="font:normal 1em 'Consolas',courier,monospace">&#60;location path="DeliveryReports.slab"&#62;<br>       &#60;system.web&#62;<br>           &#60;authorization&#62;<br>                &#60;allow roles="Search-MessageTrackingReport@R:Organization" /&#62;<br>                &#60;!-Deny everyone else -&#62;<br>                &#60;deny users="*" /&#62;<br>            &#60;/authorization&#62;</p>
<p>As shown in the above figure, access to the <a title="Go to 'Search-MessageTrackingReport' cmdlet ref in Exchange 2010 docs" href="http://technet.microsoft.com/en-us/library/dd351138.aspx">Search-MessageTrackingReport</a> cmdlet is required to display the Delivery Reports tab. To disable the Delivery Reports tab, we need to determine which RBAC roles can run the Search-MessageTrackingReport cmdlet, so we can remove the permission for the user to run it. This ensures the tab will not be displayed to that user.<br><br>To determine which RBAC roles can run the Search-MessageTrackingReport cmdlet, we use the <a title="Go to 'Get-ManagementRole' cmdlet reference in Exchange 2010 docs" href="http://technet.microsoft.com/en-us/library/dd351125.aspx">Get-ManagementRole</a> cmdlet: <br> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em 'Consolas','Courier New',courier,monospace; padding-top: 0.3em">Get-ManagementRole -cmdlet Search-MessageTrackingReport</p>The result:<br> <p style="padding-bottom: 0.25em; line-height: 1.44em; padding-left: 0.25em; padding-right: 0.25em; font-family: 'Consolas','Courier New',courier,monospace; background: #000; color: #ffff00; font-size: 1em; padding-top: 0.25em; backgrond: black; font-stretch: condensed">Name                   RoleType <br>-------                -------------- <br>Message Tracking       MessageTracking <br>View-OnlyConfiguration ViewOnlyConfiguration <br>MyBaseOptions          MyBaseOptions </p> <p>Next we must determine which of the above roles the user is a member of and where it would make sense to remove the Search-MessageTrackingReport cmdlet from. For example, we wouldn't want to remove the cmdlet from the ViewOnly Configuration because that is an administrative role. The user is not an administrator, and therefore it's not likely that he/she has been assigned the MessageTracking role. This means that we will have to check to see what roles/assignments the user is a member of:</p> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">Get-RoleGroup | where {$_.Members -like "*Display UserName*"} | fl name</p>The command doesn't return any results because the user is not a member of any administrator type role. Next, we will check the management role assignments for this user:  <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">Get-ManagementRoleAssignment -RoleAssignee UserName</p> <p>Among other items you see the list of roles (note these are user/self configuration roles):  <p style="padding-bottom: 0.25em; line-height: 1.4em; padding-left: 0.25em; padding-right: 0.25em; font-family: 'Consolas','Courier New',courier,monospace; background: #000; color: #ffff00; font-size: 1em; padding-top: 0.25em; font-stretch: condensed">Name                                                         Role <br>--------                                                     --------- <br>MyBaseOptions-Default Role Assignment Policy                 MyBaseOptions <br>MyContactInformation-Default Role Assignment Policy          MyContactInformation <br>MyVoiceMail-Default Role Assignment Policy                   MyVoiceMail <br>MyDistributionGroupMembership-Default Role Assignment Policy MyDistributionGroupMembership <br>Custom Default Policy                                        MyDiagnostics </p> <p>It looks like the only one we are interested in here is the "MyBaseOptions" because we already know that the cmdlet we want to block is only available in that role that the user has anything to do with. The user is not an administrator so the other roles are not interesting to us for this scenario.</p> <p>To make sure the user is assigned to the role assignment policy we can verify:</p> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">Get-Mailbox UserName | fl roleassignmentpolicy</p> <p style="padding-bottom: 0.25em; line-height: 1.4em; padding-left: 0.25em; padding-right: 0.25em; font-family: 'Consolas','Courier New',courier,monospace; background: #000; color: #ffff00; font-size: 1em; padding-top: 0.25em; font-stretch: condensed">RoleAssignmentPolicy: Default Role Assignment Policy</p>Tip: If you want to combine some of the above steps into one line to find out which role contains that cmdlet we are interested in (Search-MessageTrackingReport), you can use the following set of cmdlets: <br> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,; padding-top: 0.3em" new?,Courier,monospace;? courier>Get-ManagementRole -Cmdlet Search-MessageTrackingReport | Get-ManagementRoleAssignment -RoleAssignee UserName -Delegating $False | FT Role, RoleAssigneeName </p><br>The result: <br> <p style="padding-bottom: 0.25em; line-height: 1.4em; padding-left: 0.25em; padding-right: 0.25em; font-family: 'Consolas','Courier New',courier,monospace; background: #000; color: #ffff00; font-size: 1em; padding-top: 0.25em; font-stretch: condensed">Role            RoleAssigneeName <br>----            ---------------- <br>MyBaseOptions   Default Role Assignment Policy </p> <p></p> <li> <p>Now, we know that we need to create a new <strong>Role Assignment Policy</strong> for the user and associate it with a new (customized) MyBaseOptions role. We will make a copy of the <strong>MyBaseOptions</strong> role so we can remove the <strong>Search-MessageTrackingReport</strong> cmdlet from it.</p> <p>First, we will create a new (end user) Role Assignment Policy called Alternate Assignment Policy, and leave the original policy unchanged (for other users who should still have access to the Delivery Reports tab).:</p> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">New-RoleAssignmentPolicy "Alternate Assignment Policy"</p>For this new policy, we need to turn on a few of the default options that the Default Policy had. For example, to add the ability for the user to edit their own contact information we add the <strong>MyContactInformation</strong> role to the policy: <br> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyContactInformation-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyContactInformation</p><br>To add the ability for the user to manage their own distribution group membership, we add the <strong>MyDistributionGroupMembership</strong> role to the policy: <br> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyDistributionGroupMembership-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyDistributionGroupMembership</p> <li> <p>Now we need to create a copy of the <strong>MyBaseOptions</strong> role so we can remove the Search-MessageTrackingReport cmdlet from it and then assign it to the new Role Assignment Policy. We can give it any name, preferably something with a good description.:</p> <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">New-ManagementRole "MyBaseOptionsWithoutMessageTracking" -Parent MyBaseOptions</p> <li>We remove the Search-MessageTrackingReport cmdlet from the "MyBaseOptionsWithoutMessageTracking" role:  <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">Remove-ManagementRoleEntry "MyBaseOptionsWithoutMessageTracking\Search-MessageTrackingReport"</p> <li>Next, we assign the newly created <strong>MyBaseOptionsWithoutMessageTracking</strong> role to the Role Assignment Policy:  <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">New-ManagementRoleAssignment -Name "MyBaseOptionsWithoutMessageTracking-Alternate Assignment Policy" -policy "Alternate Assignment Policy" - role MyBaseOptionsWithoutMessageTracking</p> <li>Then, we assign the Role Assignment Policy to the user:  <p style="padding-bottom: 0.3em; background-color: #ccc; padding-left: 0.3em; padding-right: 0.3em; font: bold 1em consolas,'Courier New',courier,monospace; padding-top: 0.3em">Set-mailbox mod1user1 -RoleAssignmentPolicy "Alternate Assignment Policy"</p> <p>This can also be performed in the ECP, as shown in figure 2.</p><img src="http://msexchangeteam.com/photos/postpictures3/images/454145/original.aspx"><br><strong>Figure 2:</strong> Assigning the Role Assignment Policy to the user in ECP<br></li></ol> <p>Done! Now we can test the user experience. As shown in figure 3, when UserName logs on, the Delivery Reports tab isn't visible.</p><img src="http://msexchangeteam.com/photos/postpictures3/images/454146/original.aspx"><br><strong>Figure 3:</strong> The Delivery Reports tab is removed for the user<br> <p>After the Delivery Reports tab is removed, if your user tries to track a message from within Outlook Web App or Outlook, he/she will receive the following error:</p><img src="http://msexchangeteam.com/photos/postpictures3/images/454147/original.aspx"><br><strong>Figure 4:</strong> Error when user tries to track a message<br>  <ol></ol> <p>-<a href="http://msexchangeteam.com/articles/454033.aspx">Perry Newman</a></p></div><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454148" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/04/removing-a-feature-from-the-exchange-control-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Exchange Scalability Limits Worksheet Available</title>
		<link>http://www.exchange-powershell.com/2010/03/01/exchange-scalability-limits-worksheet-available/</link>
		<comments>http://www.exchange-powershell.com/2010/03/01/exchange-scalability-limits-worksheet-available/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:38:33 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454119</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/03/01/454119.aspx">You Had Me At EHLO...</a> <p>No matter how many lines of code, every software application has scalability limits. Some limits can be caused by limits that are external to the application itself, while others can be inherent within the application. As a software engineering team, it is important for us to understand the scalability limits of the solution as a whole; this includes the limits of both external dependencies and internal code. Not only does this enable us to document and communicate this information to our customers, but it also helps us make better software. It provides us with a deeper understanding of our application within the most demanding environments.  <p>Exchange 2010 is new and different from its predecessors in that, unlike all previous versions of Exchange, Exchange 2010 is the first version designed specifically to run as an on-premise application, as a hosted service in the cloud, and as a combination of both (cross-premise). At 20 million mailboxes and growing, it's more important than ever that our understanding of the limits of Exchange be crisp.  <p>A while ago, we began the process of documenting the scalability limits of both Exchange 2007 SP2 and Exchange 2010. We've looked at all areas: things like organization sizing, rules sizing, IRM messages, secure channels, named properties, load balancing, network latency, and more.  <p><a href="http://msexchangeteam.com/files/12/attachments/entry454118.aspx" target="_blank">Here</a> is our initial draft (version 0.2) of an Excel spreadsheet documenting our findings thus far. There's a lot of great information in there, including issue descriptions, mitigations, and links where appropriate.  <p>We hope you enjoy this first draft version. Please feel free to send us your comments and feedback.  <p>-- <a href="http://msexchangeteam.com/archive/2009/01/21/450492.aspx">Erin Bookey</a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454119" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/03/01/454119.aspx">You Had Me At EHLO...</a></p>
<p>No matter how many lines of code, every software application has scalability limits. Some limits can be caused by limits that are external to the application itself, while others can be inherent within the application. As a software engineering team, it is important for us to understand the scalability limits of the solution as a whole; this includes the limits of both external dependencies and internal code. Not only does this enable us to document and communicate this information to our customers, but it also helps us make better software. It provides us with a deeper understanding of our application within the most demanding environments.  <p>Exchange 2010 is new and different from its predecessors in that, unlike all previous versions of Exchange, Exchange 2010 is the first version designed specifically to run as an on-premise application, as a hosted service in the cloud, and as a combination of both (cross-premise). At 20 million mailboxes and growing, it's more important than ever that our understanding of the limits of Exchange be crisp.  <p>A while ago, we began the process of documenting the scalability limits of both Exchange 2007 SP2 and Exchange 2010. We've looked at all areas: things like organization sizing, rules sizing, IRM messages, secure channels, named properties, load balancing, network latency, and more.  <p><a href="http://msexchangeteam.com/files/12/attachments/entry454118.aspx" >Here</a> is our initial draft (version 0.2) of an Excel spreadsheet documenting our findings thus far. There's a lot of great information in there, including issue descriptions, mitigations, and links where appropriate.  <p>We hope you enjoy this first draft version. Please feel free to send us your comments and feedback.  <p>-- <a href="http://msexchangeteam.com/archive/2009/01/21/450492.aspx">Erin Bookey</a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454119" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/03/01/exchange-scalability-limits-worksheet-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Exchange Server in Depth: Master Concepts and Optimize Your Server Environment</title>
		<link>http://www.exchange-powershell.com/2010/02/27/exchange-server-in-depth-master-concepts-and-optimize-your-server-environment/</link>
		<comments>http://www.exchange-powershell.com/2010/02/27/exchange-server-in-depth-master-concepts-and-optimize-your-server-environment/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 13:06:00 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454111</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/02/27/454111.aspx">You Had Me At EHLO...</a> <div style="font: 1.2em/1.2em 'Calibri',helvetica,arial,sans-serif"> <p>The latest release of Microsoft Exchange can help you achieve better business outcomes while controlling the costs of deployment, administration, and compliance. Exchange 2010 delivers a wide range of deployment options, integrated information leakage protection, and advanced compliance capabilities. Check out our free webcasts and podcasts, and then try Exchange 2010 for yourself by taking one of our virtual labs or labcasts.  <ul> <li><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441269&#38;Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Management and Operations (Level 200)</a></b></span><br /><b>Thursday, March 11, 2010</b> <br /><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br /> <li><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032442907&#38;Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Unified Messaging (Level 300)</a></b> </span><br /><b>Tuesday, March 16, 2010</b> <br /><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br /> <li><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440901&#38;Culture=en-US">TechNet Webcast: Calendar Sharing and Federation in Microsoft Exchange Server 2010 (Level 300)</a></b></span><br /><b>Thursday, March 18, 2010</b> <br /><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br /> <li><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441274&#38;Culture=en-US">TechNet Webcast: Deploying and Managing Microsoft Exchange Server 2010 Transport Servers (Level 200)</a></b> </span><br /><b>Tuesday, March 23, 2010</b></span> <br /><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br /> <li><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032442911&#38;Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Storage Architecture (Level 300)</a></b></span> <br /><b>Thursday, March 25, 2010</b> <br /><i>11:00 A.M.-12:30 P.M. Pacific Time</i><br /></li></ul></div><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454111" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/02/27/454111.aspx">You Had Me At EHLO...</a></p>
<div style="font: 1.2em/1.2em 'Calibri',helvetica,arial,sans-serif"> <p>The latest release of Microsoft Exchange can help you achieve better business outcomes while controlling the costs of deployment, administration, and compliance. Exchange 2010 delivers a wide range of deployment options, integrated information leakage protection, and advanced compliance capabilities. Check out our free webcasts and podcasts, and then try Exchange 2010 for yourself by taking one of our virtual labs or labcasts.  <ul> <li style="padding-bottom: 1em"><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441269&Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Management and Operations (Level 200)</a></b></span><br><b>Thursday, March 11, 2010</b> <br><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br> <li style="padding-bottom: 1em"><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032442907&Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Unified Messaging (Level 300)</a></b> </span><br><b>Tuesday, March 16, 2010</b> <br><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br> <li style="padding-bottom: 1em"><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440901&Culture=en-US">TechNet Webcast: Calendar Sharing and Federation in Microsoft Exchange Server 2010 (Level 300)</a></b></span><br><b>Thursday, March 18, 2010</b> <br><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br> <li style="padding-bottom: 1em"><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441274&Culture=en-US">TechNet Webcast: Deploying and Managing Microsoft Exchange Server 2010 Transport Servers (Level 200)</a></b> </span><br><b>Tuesday, March 23, 2010</b></span> <br><i>11:00 A.M.-12:30 P.M. Pacific Time</i> <br> <li style="padding-bottom: 1em"><span style="font-size: 1.2em"><b><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032442911&Culture=en-US">TechNet Webcast: Microsoft Exchange Server 2010 Storage Architecture (Level 300)</a></b></span> <br><b>Thursday, March 25, 2010</b> <br><i>11:00 A.M.-12:30 P.M. Pacific Time</i><br></li></ul></div><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454111" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/02/27/exchange-server-in-depth-master-concepts-and-optimize-your-server-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Announcing the Release of the Exchange Server Pre-Deployment Analyzer</title>
		<link>http://www.exchange-powershell.com/2010/02/24/announcing-the-release-of-the-exchange-server-pre-deployment-analyzer/</link>
		<comments>http://www.exchange-powershell.com/2010/02/24/announcing-the-release-of-the-exchange-server-pre-deployment-analyzer/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 17:33:00 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454083</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/02/24/454083.aspx">You Had Me At EHLO...</a> <p><font size="2">Today I am pleased to announce the release of the </font><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&#38;displaylang=en"><font size="2">Exchange Server Pre-Deployment Analyzer</font></a><font size="2"> (ExPDA).</font>  <p><font size="2">You can use the Exchange Pre-Deployment Analyzer to perform an overall topology readiness scan of your environment. When you run the Exchange Pre-Deployment Analyzer, it provides a detailed report that will alert you if there are any issues within your organization, which could prevent you from deploying Exchange 2010. For example, the Exchange Pre-Deployment Analyzer will notify you if you haven't deployed the minimum required Exchange service pack on all your existing Exchange servers. </font> <p><font size="2">The checks performed by ExPDA are similar to the pre-requisite checks implemented (via Exchange Best Practices Analyzer) in the Exchange 2010 Setup program; in fact ExPDA is based off the Exchange Best Practices Analyzer (ExBPA) engine. However, unlike Exchange 2010 setup, this tool focuses only on overall topology readiness and not the ability to run Exchange 2010 on the local computer. The scan also performs a deep analysis of each existing Exchange 2003/2007 server to verify that it has the necessary updates and configuration in-place to support Exchange 2010. The end report is structured as follows:</font>  <ul> <li><font size="2"><b>Critical</b> - A configuration problem that will prevent Exchange 2010 from being deployed in the organization. For example, the Active Directory Forest is not operating in Windows Server 2003 Forest Functional Mode or higher.</font>  <li><font size="2"><b>Warning</b> - A configuration item that may prevent customers having the best possible experience with Exchange 2010. A warning may also reflect some functionality that is not available in Exchange 2010.</font></li></ul> <p><font size="2">ExPDA is another component in our vision to provide a seamless upgrade experience that reduces the complexities in deploying Exchange 2010. To start planning your upgrade, please utilize the </font><a href="http://technet.microsoft.com/en-us/exdeploy2010/default.aspx"><font size="2">Exchange Deployment Assistant</font></a><font size="2">. The Deployment Assistant allows a customer to create Exchange 2010 on-premises deployment instructions that are customized to their environment. The Assistant asks a small set of questions, and based on the answers, it <b><i>provides a finite set of instructions that are designed to get a customer up and running on Exchange 2010</i></b><i>.  </i>Running the Exchange Server Pre-Deployment Analyzer is now a recommended step within the pre-requisites section of the Deployment Assistant.</font>  <p><font size="2">You can download ExPDA at </font><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&#38;displaylang=en"><font size="2">http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&#38;displaylang=en</font></a><font size="2">.  ExPDA is supported on Windows 7, Windows Vista with Service Pack 2, Windows Server 2008 with Service Pack 2, Windows Server 2008 R2, and Windows Server 2003 with Service Pack 2.</font> <p><b><font size="2">Q&#38;A</font></b>  <ol> <li><font size="2"><i>Does this tool replace the Exchange Deployment Assistant?</i><b></b></font>  <p><font size="2">No, ExPDA is merely an additional tool that can be used as a step within the upgrade experience. The Exchange Deployment Assistant will walk you through all aspects of the upgrade, namely how to coexist properly with Exchange 2010 and legacy versions of Exchange, whereas, ExPDA is one step within that process and ensures that the environment is ready to have the first Exchange 2010 server deployed.</font></p> <li><font size="2"><i>I ran the scan and have questions about the results. What should I do?</i></font>  <p><font size="2">If you'd like to read more about the requirements of Exchange 2010, please see the </font><a href="http://technet.microsoft.com/en-us/library/aa996719.aspx"><font size="2">Planning for Exchange 2010</font></a><font size="2"> section on TechNet.</font> </p> <li><font size="2"><i>I ran the scan and received unexpected results. If I think there's a bug, who can I contact?</i></font>  <p><font size="2">If you need assistance, please visit the </font><a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/threads"><font size="2">Exchange Server Deployment Forum</font></a><font size="2"> or you can send mail to exbpafb AT Microsoft DOT com.</font></p> <li><font size="2"><i>Is this new functionality available in all languages?</i></font>  <p><font size="2">No. ExPDA is only available as a U.S. English version.</font></p> <li><font size="2"><i>I'd like to know if my organization is capable of running Exchange 2007. Can I use ExPDA to check this?</i></font>  <p><font size="2">No, ExPDA only verifies if an organization is ready to have the first Exchange 2010 server installed. If you need to determine whether your organization is ready to have Exchange 2007 deployed, you can utilize ExBPA v2.8 and the latest Exchange 2007 ExBPA.Readiness.xml:</font>  <ol> <li><font size="2">Install </font><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=dbab201f-4bee-4943-ac22-e2ddbd258df3"><font size="2">ExBPA 2.8</font></a><font size="2"> and the last </font><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=4f2f1339-cbcd-4d26-9174-f30c10d7ec4c"><font size="2">ExBPA 2.8 Update</font></a><font size="2">.</font>  <li><font size="2">Download the latest Exchange 2007 service pack rollup. At the time of this writing this is SP2 RU2.</font>  <li><font size="2">Extract the rollup binaries using this command: msiexec /a filepath to MSI file /qb TARGETDIR=filepath to target folder</font>  <li><font size="2">Copy the ExBPA.Readiness.xml to the <em>\en</em> folder.</font>  <li><font size="2">Launch ExBPA.</font> </li></ol> <p></p> <li><font size="2"><i>Where can I look at the list of checks made in this new scan?</i></font>  <p><font size="2">If you're familiar with the BPA XML files, the new check is wholly contained within the ExBPA.Readiness.xml file located within <em>%Program Files%\Microsoft\Exchange Server\V14\ExPDA\en</em> folder.</font>  <ul> <li><font size="2">Reporting the number of Active Directory trees, domains, sites, admin groups, routing groups, Exchange 5.5 servers, Exchange 2000 servers, Exchange 2003 servers, total mailboxes, Windows 2000 Active Directory servers, Windows Server Active Directory servers, Windows Server Active Directory servers. Report how many Active Directory domain/sites have Exchange servers installed. </font> <li><font size="2">Verifying that the Schema Master is Windows 2003 SP1 or later. </font> <li><font size="2">Identifying Active Directory domains that are not in native mode. </font> <li><font size="2">Identifying Active Directory sites that do not have a global catalog server running Windows 2003 SP1 or later. </font> <li><font size="2">Verifying that there are zero Active Directory Connector servers in existence. </font> <li><font size="2">Identifying any SMTP site links in existence. </font> <li><font size="2">Verifying that the Exchange organization is in native mode. </font> <li><font size="2">Identifying any non-standard proxy address generators. </font> <li><font size="2">Identifying whether you have any ambiguously defined email addresses in your recipient policies.</font>  <li><font size="2">Identifying any non-MAPI public folder hierarchies (a.k.a. AppTLH's) in use. </font> <li><font size="2">Identifying Routing Groups that span Active Directory sites. </font> <li><font size="2">Identifying any Active Directory sites that span Routing Groups. </font> <li><font size="2">Identifying any Routing Group Connectors that have specialized settings (activation, max size, accept/reject lists, restrict message type/priority). </font> <li><font size="2">Identifying any SMTP Connectors that support non-SMTP address spaces. </font> <li><font size="2">Identifying any SMTP Connectors that use inline domain-wildcarding for address spaces (e.g. *foo.com instead of *.foo.com). </font> <li><font size="2">Identifying any X.400 Connectors in the topology. </font> <li><font size="2">Identifying any EDK-based Connectors in the topology (excluding Notes). </font> <li><font size="2">Verifying that any servers running Exchange 2003 have SP2 or later.</font>  <li><font size="2">Verifying that any servers running Exchange 2007 have SP2 or later. </font> <li><font size="2">Identifying any SMTP virtual servers that are not using port 25 for incoming/outgoing. </font> <li><font size="2">Verifying that all Exchange 2003 servers have SuppressStateChanges set. </font> <li><font size="2">Identifying any Exchange 2003 servers that have active NNTP newsfeeds. </font> <li><font size="2">Identifying any Exchange 2003 servers that use the Event Scripting service. </font> <li><font size="2">Identifying any Exchange 2003 servers that have the ExIFS (a.k.a. M:) drive enabled. </font> <li><font size="2">Identifying any parts of Active Directory that have Access Control Entry inheritance disabled.</font> </li></ul></li></ol> <p><font size="2">Thanks for your continued support. Feel free to post feedback in comments of this blog post, or visit the </font><a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/threads"><font size="2">Exchange Server Deployment Forum</font></a><font size="2">.</font>  <p><font size="2">- </font><a href="/archive/2005/08/25/409819.aspx"><font size="2">Ross Smith IV</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454083" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/02/24/454083.aspx">You Had Me At EHLO...</a></p>
<p><font size="2">Today I am pleased to announce the release of the </font><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&displaylang=en"><font size="2">Exchange Server Pre-Deployment Analyzer</font></a><font size="2"> (ExPDA).</font>  <p><font size="2">You can use the Exchange Pre-Deployment Analyzer to perform an overall topology readiness scan of your environment. When you run the Exchange Pre-Deployment Analyzer, it provides a detailed report that will alert you if there are any issues within your organization, which could prevent you from deploying Exchange 2010. For example, the Exchange Pre-Deployment Analyzer will notify you if you haven't deployed the minimum required Exchange service pack on all your existing Exchange servers. </font> <p><font size="2">The checks performed by ExPDA are similar to the pre-requisite checks implemented (via Exchange Best Practices Analyzer) in the Exchange 2010 Setup program; in fact ExPDA is based off the Exchange Best Practices Analyzer (ExBPA) engine. However, unlike Exchange 2010 setup, this tool focuses only on overall topology readiness and not the ability to run Exchange 2010 on the local computer. The scan also performs a deep analysis of each existing Exchange 2003/2007 server to verify that it has the necessary updates and configuration in-place to support Exchange 2010. The end report is structured as follows:</font>  <ul> <li><font size="2"><b>Critical</b> - A configuration problem that will prevent Exchange 2010 from being deployed in the organization. For example, the Active Directory Forest is not operating in Windows Server 2003 Forest Functional Mode or higher.</font>  <li><font size="2"><b>Warning</b> - A configuration item that may prevent customers having the best possible experience with Exchange 2010. A warning may also reflect some functionality that is not available in Exchange 2010.</font></li></ul> <p><font size="2">ExPDA is another component in our vision to provide a seamless upgrade experience that reduces the complexities in deploying Exchange 2010. To start planning your upgrade, please utilize the </font><a href="http://technet.microsoft.com/en-us/exdeploy2010/default.aspx"><font size="2">Exchange Deployment Assistant</font></a><font size="2">. The Deployment Assistant allows a customer to create Exchange 2010 on-premises deployment instructions that are customized to their environment. The Assistant asks a small set of questions, and based on the answers, it <b><i>provides a finite set of instructions that are designed to get a customer up and running on Exchange 2010</i></b><i>.  </i>Running the Exchange Server Pre-Deployment Analyzer is now a recommended step within the pre-requisites section of the Deployment Assistant.</font>  <p><font size="2">You can download ExPDA at </font><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&displaylang=en"><font size="2">http://www.microsoft.com/downloads/details.aspx?FamilyID=88b304e7-9912-4cb0-8ead-7479dab1abf2&displaylang=en</font></a><font size="2">.  ExPDA is supported on Windows 7, Windows Vista with Service Pack 2, Windows Server 2008 with Service Pack 2, Windows Server 2008 R2, and Windows Server 2003 with Service Pack 2.</font> <p><b><font size="2">Q&A</font></b>  <ol> <li><font size="2"><i>Does this tool replace the Exchange Deployment Assistant?</i><b></b></font>  <p><font size="2">No, ExPDA is merely an additional tool that can be used as a step within the upgrade experience. The Exchange Deployment Assistant will walk you through all aspects of the upgrade, namely how to coexist properly with Exchange 2010 and legacy versions of Exchange, whereas, ExPDA is one step within that process and ensures that the environment is ready to have the first Exchange 2010 server deployed.</font></p> <li><font size="2"><i>I ran the scan and have questions about the results. What should I do?</i></font>  <p><font size="2">If you'd like to read more about the requirements of Exchange 2010, please see the </font><a href="http://technet.microsoft.com/en-us/library/aa996719.aspx"><font size="2">Planning for Exchange 2010</font></a><font size="2"> section on TechNet.</font> </p> <li><font size="2"><i>I ran the scan and received unexpected results. If I think there's a bug, who can I contact?</i></font>  <p><font size="2">If you need assistance, please visit the </font><a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/threads"><font size="2">Exchange Server Deployment Forum</font></a><font size="2"> or you can send mail to exbpafb AT Microsoft DOT com.</font></p> <li><font size="2"><i>Is this new functionality available in all languages?</i></font>  <p><font size="2">No. ExPDA is only available as a U.S. English version.</font></p> <li><font size="2"><i>I'd like to know if my organization is capable of running Exchange 2007. Can I use ExPDA to check this?</i></font>  <p><font size="2">No, ExPDA only verifies if an organization is ready to have the first Exchange 2010 server installed. If you need to determine whether your organization is ready to have Exchange 2007 deployed, you can utilize ExBPA v2.8 and the latest Exchange 2007 ExBPA.Readiness.xml:</font>  <ol> <li><font size="2">Install </font><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=dbab201f-4bee-4943-ac22-e2ddbd258df3"><font size="2">ExBPA 2.8</font></a><font size="2"> and the last </font><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4f2f1339-cbcd-4d26-9174-f30c10d7ec4c"><font size="2">ExBPA 2.8 Update</font></a><font size="2">.</font>  <li><font size="2">Download the latest Exchange 2007 service pack rollup. At the time of this writing this is SP2 RU2.</font>  <li><font size="2">Extract the rollup binaries using this command: msiexec /a filepath to MSI file /qb TARGETDIR=filepath to target folder</font>  <li><font size="2">Copy the ExBPA.Readiness.xml to the <em><ExBPA install location>\en</em> folder.</font>  <li><font size="2">Launch ExBPA.</font> </li></ol> <p></p> <li><font size="2"><i>Where can I look at the list of checks made in this new scan?</i></font>  <p><font size="2">If you're familiar with the BPA XML files, the new check is wholly contained within the ExBPA.Readiness.xml file located within <em>%Program Files%\Microsoft\Exchange Server\V14\ExPDA\en</em> folder.</font>  <ul> <li><font size="2">Reporting the number of Active Directory trees, domains, sites, admin groups, routing groups, Exchange 5.5 servers, Exchange 2000 servers, Exchange 2003 servers, total mailboxes, Windows 2000 Active Directory servers, Windows Server Active Directory servers, Windows Server Active Directory servers. Report how many Active Directory domain/sites have Exchange servers installed. </font> <li><font size="2">Verifying that the Schema Master is Windows 2003 SP1 or later. </font> <li><font size="2">Identifying Active Directory domains that are not in native mode. </font> <li><font size="2">Identifying Active Directory sites that do not have a global catalog server running Windows 2003 SP1 or later. </font> <li><font size="2">Verifying that there are zero Active Directory Connector servers in existence. </font> <li><font size="2">Identifying any SMTP site links in existence. </font> <li><font size="2">Verifying that the Exchange organization is in native mode. </font> <li><font size="2">Identifying any non-standard proxy address generators. </font> <li><font size="2">Identifying whether you have any ambiguously defined email addresses in your recipient policies.</font>  <li><font size="2">Identifying any non-MAPI public folder hierarchies (a.k.a. AppTLH's) in use. </font> <li><font size="2">Identifying Routing Groups that span Active Directory sites. </font> <li><font size="2">Identifying any Active Directory sites that span Routing Groups. </font> <li><font size="2">Identifying any Routing Group Connectors that have specialized settings (activation, max size, accept/reject lists, restrict message type/priority). </font> <li><font size="2">Identifying any SMTP Connectors that support non-SMTP address spaces. </font> <li><font size="2">Identifying any SMTP Connectors that use inline domain-wildcarding for address spaces (e.g. *foo.com instead of *.foo.com). </font> <li><font size="2">Identifying any X.400 Connectors in the topology. </font> <li><font size="2">Identifying any EDK-based Connectors in the topology (excluding Notes). </font> <li><font size="2">Verifying that any servers running Exchange 2003 have SP2 or later.</font>  <li><font size="2">Verifying that any servers running Exchange 2007 have SP2 or later. </font> <li><font size="2">Identifying any SMTP virtual servers that are not using port 25 for incoming/outgoing. </font> <li><font size="2">Verifying that all Exchange 2003 servers have SuppressStateChanges set. </font> <li><font size="2">Identifying any Exchange 2003 servers that have active NNTP newsfeeds. </font> <li><font size="2">Identifying any Exchange 2003 servers that use the Event Scripting service. </font> <li><font size="2">Identifying any Exchange 2003 servers that have the ExIFS (a.k.a. M:) drive enabled. </font> <li><font size="2">Identifying any parts of Active Directory that have Access Control Entry inheritance disabled.</font> </li></ul></li></ol> <p><font size="2">Thanks for your continued support. Feel free to post feedback in comments of this blog post, or visit the </font><a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/threads"><font size="2">Exchange Server Deployment Forum</font></a><font size="2">.</font>  <p><font size="2">- </font><a href="http://msexchangeteam.com/archive/2005/08/25/409819.aspx"><font size="2">Ross Smith IV</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454083" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/02/24/announcing-the-release-of-the-exchange-server-pre-deployment-analyzer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(You Had Me At EHLO...) Dude, Where&#8217;s My Single Instance?</title>
		<link>http://www.exchange-powershell.com/2010/02/22/dude-wheres-my-single-instance/</link>
		<comments>http://www.exchange-powershell.com/2010/02/22/dude-wheres-my-single-instance/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:49:05 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Microsoft Blog]]></category>
		<category><![CDATA[Role: Mailbox]]></category>
		<category><![CDATA[Storage]]></category>

		<guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454051</guid>
		<description><![CDATA[FROM: <a href="http://msexchangeteam.com/archive/2010/02/22/454051.aspx">You Had Me At EHLO...</a> <p><font size="2">In Exchange Server 2010, there is no more single instance storage (SIS). To help understand why SIS is gone, let's review a brief history of Exchange.</font>  <p><font size="2">During the development of Exchange 4.0, we had two primary goals in mind, and SIS was borne out of these goals:</font>  <ol> <li><font size="2">Ensure that messages were delivered as fast and as efficient as possible.</font>  <li><font size="2">Reduce the amount of disk space required to store messages, as disk capacity was premium.</font></li></ol> <p><font size="2">Exchange 4.0 (and, to a certain extent, Exchange 5.0 and Exchange 5.5) was really designed as a departmental solution. Back then, users were typically placed on an Exchange server based on their organization structure (often, the entire company was on the same server).&#160; Since there was only one mailbox database, we maximized our use of SIS for both message delivery (only store the body and attachments once) and space efficiency. The only time we created another copy within the store was when the user modified their individual instance.</font>  <p><font size="2">For almost 19 years, the internal Exchange database table structure has remained relatively the same:</font>  <p><img src="/photos/postpictures3/images/454052/original.aspx">  <p><font size="2">Then came Exchange 2000.&#160; In Exchange 2000, we evolved considerably - we moved to SMTP for server-to-server connectivity, we added storage groups, and we increased the maximum number of databases per server.&#160; The result was a shift away from a departmental usage of Exchange to enterprise usage of Exchange.&#160; Moreover, the move to 20 databases reduced SIS effects on space efficiency, as the likelihood that multiple recipients were on the same database decreased.&#160; Similarly, message delivery was improved by our optimizations in transport, so transport no longer benefited as much from SIS either.</font>  <p><font size="2">With Exchange 2003, consolidation of servers took off in earnest due to features like Cached Exchange Mode.&#160; Again the move away from departmental usage continued.&#160; Many customers moved away from distributing mailboxes based on their organization structure to randomization of the user population across all databases in the organization.&#160; Once again, the space efficiency effects of SIS were further reduced.</font>  <p><font size="2">In Exchange 2007, we increased the number of databases you could deploy, which again reduced the space efficiency of SIS. We further optimized transport delivery and completely removed the need for SIS from a transport perspective.&#160; Finally, we made changes to the information store that removed the ability to single instance message bodies (but allowed single instancing of attachments). The result was that SIS no longer provided any real space savings - typically only about 0-20%.</font>  <p><font size="2">One of our main goals for Exchange 2010 was to provide very large mailboxes at a low cost. Disk capacity is no longer a premium; disk space is very inexpensive and IT shops can take advantage of larger, cheaper disks to reduce their overall cost. In order to leverage those larger capacity disks, you also need to increase mailbox sizes (and remove PSTs and leverage the personal archive and records management capabilities) so that you can ensure that you are designing your storage to be both IO efficient and capacity efficient.</font>  <p><font size="2">During the development of Exchange 2010, we realized that having a table structure optimized for SIS was holding us back from making the storage innovations that were necessary to achieve our goals. In order to improve the store and ESE, to change our IO profile (from many, small, random IOs to larger, fewer, more sequential IOs), and to resolve our inefficiencies around item count, we had to change the store schema. Specifically, we moved away from a per-database table structure to a per-mailbox table structure:</font>  <p><img src="/photos/postpictures3/images/454049/original.aspx">  <p><font size="2">This architecture, along with other changes to the ESE and store engines (lazy view updates, space hints, page size increase, b+ tree defrag, etc.), netted us not only a 70% reduction in IO over Exchange 2007, but also substantially increased our ability to store more items in critical path folders. </font> <p><font size="2">As a result of the new architecture and the other changes to the store and ESE, we had to deal with an unintended side effect.&#160; While these changes greatly improved our IO efficiency, they made our space efficiency worse.&#160; In fact, on average they increased the size of the Exchange database by about 20% over Exchange 2007. To overcome this bloating effect, we implemented a targeted compression mechanism (using either 7-bit or XPRESS, which is the Microsoft implementation of the </font><a href="http://go.microsoft.com/fwlink/?LinkId=179133"><font size="2">LZ77 algorithm</font></a><font size="2">) that specifically compresses message headers and bodies that are either text or HTML-based (attachments are not compressed as typically they exist in their most compressed state already).&#160; The result of this work is that we see database sizes on par with Exchange 2007.</font>  <p><font size="2">The below graph shows a comparison of database sizes for Exchange 2007 and Exchange 2010 with different types of message data: </font> <p><img src="/photos/postpictures3/images/454050/original.aspx">  <p><font size="2">As you can see, Exchange 2007 databases that contained 100% Rich Text Format (RTF) content was our baseline goal when implementing database compression in Exchange 2010. What we found is that with a mix of messaging data (77% HTML, 15% RTF, 8% Text, with an average message size of 50KB) that our compression algorithms are on par with Exchange 2007 database sizes. In other words, we mitigated most of the bloat caused by the lack of SIS.</font>  <p><font size="2">Is compression the answer to replacing single instancing all together? The answer to that question is that it really does depend. There are certain scenarios where SIS may be viable:</font>  <ul> <li><font size="2">Environments that only send Rich-Text Format messages. The compression algorithms in Exchange 2010 do not compress RTF message blobs because they already exist in their most compressible form.</font>  <li><font size="2">Sending large attachments to many users. For example, sending a large (30 MB+) attachment to 20 users.&#160; Even if there were only 5 recipients out of the 20 on the same database, in Exchange 2003 that meant the 30MB attachment was stored once instead of 5 times on that database. In Exchange 2010, that attachment is stored 5 times (150 MB for that database) and isn't compressed. But depending on your storage architecture, the capacity to handle this should be there. Also, your retention requirements will help here, by forcing the removal of the data after a certain period of time.</font>  <li><font size="2">Business or organizational archives that are used to maintain immutable copies of messaging data benefit from single instancing because the system only has to keep one copy of the data, which is useful when you need to maintain that data indefinitely for compliance purposes.</font> </li></ul> <p><font size="2">If you go back through our guidance over the past 10 years, you will never find a single reference to using SIS around capacity planning.&#160; We might mention it has an impact in terms of the database size, but that's it.&#160; All of our guidance has always dictated designing the storage without SIS in mind.&#160; And for those that are thinking about thin provisioning, SIS isn't a reason to do thin provisioning, nor is SIS a means to calculate your space requirements.&#160; Thin provisioning requires an operational maturity that can react quickly to changes in the messaging environment, as well as, a deep understanding of the how the user population behaves and grows over time to sufficiently allocate the right amount of storage upfront.</font>  <p><font size="2">In summary, Exchange 2010 changes the messaging landscape.&#160; The architectural changes we have implemented enable the commoditization of email - providing very large mailboxes at a low cost.&#160; Disk capacity is no longer a premium.&#160;&#160; Disk space is cheap and IT shops can take advantage of larger, cheaper disks to reduce their overall cost.&#160; With Exchange 2010 you can deploy a highly available system with a degree of storage efficiency without SIS at a fraction of the cost that was required with previous versions of Exchange.</font>  <p><font size="2">So, there you have it. SIS is gone.</font></p> <p><font size="2">- </font><a href="http://msexchangeteam.com/archive/2005/08/25/409819.aspx"><font size="2">Ross Smith IV</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454051" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://msexchangeteam.com/archive/2010/02/22/454051.aspx">You Had Me At EHLO...</a></p>
<p><font size="2">In Exchange Server 2010, there is no more single instance storage (SIS). To help understand why SIS is gone, let's review a brief history of Exchange.</font>  <p><font size="2">During the development of Exchange 4.0, we had two primary goals in mind, and SIS was borne out of these goals:</font>  <ol> <li><font size="2">Ensure that messages were delivered as fast and as efficient as possible.</font>  <li><font size="2">Reduce the amount of disk space required to store messages, as disk capacity was premium.</font></li></ol> <p><font size="2">Exchange 4.0 (and, to a certain extent, Exchange 5.0 and Exchange 5.5) was really designed as a departmental solution. Back then, users were typically placed on an Exchange server based on their organization structure (often, the entire company was on the same server).&nbsp; Since there was only one mailbox database, we maximized our use of SIS for both message delivery (only store the body and attachments once) and space efficiency. The only time we created another copy within the store was when the user modified their individual instance.</font>  <p><font size="2">For almost 19 years, the internal Exchange database table structure has remained relatively the same:</font>  <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454052/original.aspx">  <p><font size="2">Then came Exchange 2000.&nbsp; In Exchange 2000, we evolved considerably - we moved to SMTP for server-to-server connectivity, we added storage groups, and we increased the maximum number of databases per server.&nbsp; The result was a shift away from a departmental usage of Exchange to enterprise usage of Exchange.&nbsp; Moreover, the move to 20 databases reduced SIS effects on space efficiency, as the likelihood that multiple recipients were on the same database decreased.&nbsp; Similarly, message delivery was improved by our optimizations in transport, so transport no longer benefited as much from SIS either.</font>  <p><font size="2">With Exchange 2003, consolidation of servers took off in earnest due to features like Cached Exchange Mode.&nbsp; Again the move away from departmental usage continued.&nbsp; Many customers moved away from distributing mailboxes based on their organization structure to randomization of the user population across all databases in the organization.&nbsp; Once again, the space efficiency effects of SIS were further reduced.</font>  <p><font size="2">In Exchange 2007, we increased the number of databases you could deploy, which again reduced the space efficiency of SIS. We further optimized transport delivery and completely removed the need for SIS from a transport perspective.&nbsp; Finally, we made changes to the information store that removed the ability to single instance message bodies (but allowed single instancing of attachments). The result was that SIS no longer provided any real space savings - typically only about 0-20%.</font>  <p><font size="2">One of our main goals for Exchange 2010 was to provide very large mailboxes at a low cost. Disk capacity is no longer a premium; disk space is very inexpensive and IT shops can take advantage of larger, cheaper disks to reduce their overall cost. In order to leverage those larger capacity disks, you also need to increase mailbox sizes (and remove PSTs and leverage the personal archive and records management capabilities) so that you can ensure that you are designing your storage to be both IO efficient and capacity efficient.</font>  <p><font size="2">During the development of Exchange 2010, we realized that having a table structure optimized for SIS was holding us back from making the storage innovations that were necessary to achieve our goals. In order to improve the store and ESE, to change our IO profile (from many, small, random IOs to larger, fewer, more sequential IOs), and to resolve our inefficiencies around item count, we had to change the store schema. Specifically, we moved away from a per-database table structure to a per-mailbox table structure:</font>  <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454049/original.aspx">  <p><font size="2">This architecture, along with other changes to the ESE and store engines (lazy view updates, space hints, page size increase, b+ tree defrag, etc.), netted us not only a 70% reduction in IO over Exchange 2007, but also substantially increased our ability to store more items in critical path folders. </font> <p><font size="2">As a result of the new architecture and the other changes to the store and ESE, we had to deal with an unintended side effect.&nbsp; While these changes greatly improved our IO efficiency, they made our space efficiency worse.&nbsp; In fact, on average they increased the size of the Exchange database by about 20% over Exchange 2007. To overcome this bloating effect, we implemented a targeted compression mechanism (using either 7-bit or XPRESS, which is the Microsoft implementation of the </font><a href="http://go.microsoft.com/fwlink/?LinkId=179133"><font size="2">LZ77 algorithm</font></a><font size="2">) that specifically compresses message headers and bodies that are either text or HTML-based (attachments are not compressed as typically they exist in their most compressed state already).&nbsp; The result of this work is that we see database sizes on par with Exchange 2007.</font>  <p><font size="2">The below graph shows a comparison of database sizes for Exchange 2007 and Exchange 2010 with different types of message data: </font> <p><img src="http://msexchangeteam.com/photos/postpictures3/images/454050/original.aspx">  <p><font size="2">As you can see, Exchange 2007 databases that contained 100% Rich Text Format (RTF) content was our baseline goal when implementing database compression in Exchange 2010. What we found is that with a mix of messaging data (77% HTML, 15% RTF, 8% Text, with an average message size of 50KB) that our compression algorithms are on par with Exchange 2007 database sizes. In other words, we mitigated most of the bloat caused by the lack of SIS.</font>  <p><font size="2">Is compression the answer to replacing single instancing all together? The answer to that question is that it really does depend. There are certain scenarios where SIS may be viable:</font>  <ul> <li><font size="2">Environments that only send Rich-Text Format messages. The compression algorithms in Exchange 2010 do not compress RTF message blobs because they already exist in their most compressible form.</font>  <li><font size="2">Sending large attachments to many users. For example, sending a large (30 MB+) attachment to 20 users.&nbsp; Even if there were only 5 recipients out of the 20 on the same database, in Exchange 2003 that meant the 30MB attachment was stored once instead of 5 times on that database. In Exchange 2010, that attachment is stored 5 times (150 MB for that database) and isn't compressed. But depending on your storage architecture, the capacity to handle this should be there. Also, your retention requirements will help here, by forcing the removal of the data after a certain period of time.</font>  <li><font size="2">Business or organizational archives that are used to maintain immutable copies of messaging data benefit from single instancing because the system only has to keep one copy of the data, which is useful when you need to maintain that data indefinitely for compliance purposes.</font> </li></ul> <p><font size="2">If you go back through our guidance over the past 10 years, you will never find a single reference to using SIS around capacity planning.&nbsp; We might mention it has an impact in terms of the database size, but that's it.&nbsp; All of our guidance has always dictated designing the storage without SIS in mind.&nbsp; And for those that are thinking about thin provisioning, SIS isn't a reason to do thin provisioning, nor is SIS a means to calculate your space requirements.&nbsp; Thin provisioning requires an operational maturity that can react quickly to changes in the messaging environment, as well as, a deep understanding of the how the user population behaves and grows over time to sufficiently allocate the right amount of storage upfront.</font>  <p><font size="2">In summary, Exchange 2010 changes the messaging landscape.&nbsp; The architectural changes we have implemented enable the commoditization of email - providing very large mailboxes at a low cost.&nbsp; Disk capacity is no longer a premium.&nbsp;&nbsp; Disk space is cheap and IT shops can take advantage of larger, cheaper disks to reduce their overall cost.&nbsp; With Exchange 2010 you can deploy a highly available system with a degree of storage efficiency without SIS at a fraction of the cost that was required with previous versions of Exchange.</font>  <p><font size="2">So, there you have it. SIS is gone.</font></p> <p><font size="2">- </font><a href="http://msexchangeteam.com/archive/2005/08/25/409819.aspx"><font size="2">Ross Smith IV</font></a></p><img src="http://msexchangeteam.com/aggbug.aspx?PostID=454051" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/02/22/dude-wheres-my-single-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Windows PowerShell Blog) PSStandardMembers – The Stealth Property</title>
		<link>http://www.exchange-powershell.com/2010/02/18/psstandardmembers-%e2%80%93-the-stealth-property/</link>
		<comments>http://www.exchange-powershell.com/2010/02/18/psstandardmembers-%e2%80%93-the-stealth-property/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 17:16:52 +0000</pubDate>
		<dc:creator>Syndication</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Microsoft Blog]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9965825</guid>
		<description><![CDATA[FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/02/18/psstandardmembers-the-stealth-property.aspx">Windows PowerShell Blog</a> <p>Today I got the question</p>  <blockquote>   <p><em>I’ve looked into all of my.format.ps1xml files but I can’t find out where Format-List is getting its default view for, say, System.Diagnostics.Process:</em></p>    <p><font size="2" face="Courier New">PS&#62; <strong>ps &#124;select -first 1 &#124;fl</strong> </font></p>    <p><font size="2" face="Courier New">Id&#160;&#160;&#160;&#160;&#160; : 7616        <br />Handles : 543         <br />CPU&#160;&#160;&#160;&#160; : 10.6860685         <br />Name&#160;&#160;&#160; : CmdletDesigner</font></p>    <p><em>How does it know it should display just these four properties?        <br />It seems there isn’t any ListControl view selected by this type within those formatting files...</em></p> </blockquote>  <p>Excellent question!&#160; Let’s pick behind the curtain and see how it works.&#160; When an object gets to one of our formatting commands, we use its type to look and see if there is a VIEW defined for it.&#160; These views are defined in our formatting files in $PSHOME directory.&#160; They have filenames like xxx.Format.ps1xml .&#160; If we find it, we use it.&#160; If we don’t find it, we look to see whether this type has a DefaultDisplayPropertySet defined.&#160; If it does, we use it.&#160; If it doesn’t we emit all the properties either as a table or a list depending upon how many properties there are.</p>  <p>&#160;</p>  <p>But wait a minute – let’s go back and look at this DefaultDisplayPropertySet – what’s that all about?&#160; If you’ve been using PowerShell a while, you’ll realize that PowerShell uses a type mashup system.&#160; Mashups are really just an identity space and a mechanism for 3rd parties to add addition information into an identity space.&#160; For map mashups, the identity space is latitude/longitude and a mechanism for someone to provide the lat/long for all the Starbucks in the world.&#160; For PowerShell, we use TYPEs as an identity space and then have various mechanisms for 3rd parties to add extra information.&#160; One of those mechanisms is TYPE files (e.g. $pshome/types.ps1xml ).&#160; If you take a look at the file, you’ll see that we have a set of entries which are keyed off of a typename and can add extra information.&#160; If you search for System.Diagnostics.Process – you’ll see a bunch of stuff.&#160;&#160; One of the things you can add to a type is a MemberSet</p>  <p>&#160;</p>  <p>One of the things you’ll see is a super double secret MemberSet called PSStandardMembers.&#160;&#160; This is a hidden memberset that PowerShell uses for it’s own purposes.&#160; In that memberset, you (we) can define something called DefaultDisplayPropertertySet which provides a set of properties that should be displayed if there isn’t a view defined.&#160; Let me show you that it is really there (you can follow along at home):</p>  <p><font size="2" face="Courier New">PS&#62; <strong>$x = Get-Process &#124;Select -First 1        <br /></strong>PS&#62; <strong>$x &#124;Format-List</strong></font></p>  <p><font size="2" face="Courier New">Id&#160;&#160;&#160;&#160;&#160; : 7616      <br />Handles : 543       <br />CPU&#160;&#160;&#160;&#160; : 10.7172687       <br />Name&#160;&#160;&#160; : CmdletDesigner </font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New">PS&#62; # Let me prove to you that it is hidden      <br />PS&#62; <strong>$x &#124;Get-Member PSStandardMembers</strong>       <br /></font></p>  <p><font size="2" face="Courier New">     <br /></font></p>  <p><font size="2" face="Courier New">PS&#62; # It's really there, just hidden.&#160; You can show hidden things using -Force      <br />PS&#62; <strong>$x &#124;Get-Member PSStandardMembers -Force </strong></font></p>  <p><font size="2" face="Courier New">&#160;&#160; TypeName: System.Diagnostics.Process </font></p>  <p><font size="2" face="Courier New">Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MemberType Definition      <br />----&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ---------- ----------       <br />PSStandardMembers MemberSet&#160; PSStandardMembers {DefaultDisplayPropertySet}</font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New">PS&#62; <strong>$x.PSStandardMembers</strong>       <br />PSStandardMembers {DefaultDisplayPropertySet}       <br /></font></p>  <p><font size="2" face="Courier New">     <br />PS&#62; <strong>$x.PSStandardMembers.DefaultDisplayPropertySet</strong> </font></p>  <p><font size="2" face="Courier New">ReferencedPropertyNames : {Id, Handles, CPU, Name}      <br />MemberType&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : PropertySet       <br />Value&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : DefaultDisplayPropertySet {Id, Handles, CPU, Name}       <br />TypeNameOfValue&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : System.Management.Automation.PSPropertySet       <br />Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : DefaultDisplayPropertySet       <br />IsInstance&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False </font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New"></font></p>  <p>   <br />PS&#62; <strong>$x.PSStandardMembers.DefaultDisplayPropertySet.ReferencedPropertyNames      <br /></strong>Id     <br />Handles     <br />CPU     <br />Name     <br />PS&#62;</p>  <p></p>  <p>&#160;</p>  <p>Now it really isn’t secret we just haven’t talked about it much.&#160; It is documented @ MSDN <a href="http://msdn.microsoft.com/en-us/library/dd878267(VS.85).aspx">HERE</a> .</p>  <p>PSStandardMembers is used for a number of things in addition to DefaultDisplayProperties.&#160; In particular, it is used to control object serialization.&#160; You can find out more about that in my blog entry <a href="http://blogs.msdn.com/powershell/archive/2007/05/01/object-serialization-directives.aspx">HERE</a>.</p>  <p>&#160;</p>  <p>Enjoy! </p>  <p>Jeffrey Snover [MSFT]    <br />Distinguished Engineer     <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>     <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9965825" width="1" height="1">]]></description>
			<content:encoded><![CDATA[<p class="syndicated-attribution">FROM: <a href="http://blogs.msdn.com/powershell/archive/2010/02/18/psstandardmembers-the-stealth-property.aspx">Windows PowerShell Blog</a></p>
<p>Today I got the question</p>  <blockquote>   <p><em>I’ve looked into all of my.format.ps1xml files but I can’t find out where Format-List is getting its default view for, say, System.Diagnostics.Process:</em></p>    <p><font size="2" face="Courier New">PS&gt; <strong>ps |select -first 1 |fl</strong> </font></p>    <p><font size="2" face="Courier New">Id&#160;&#160;&#160;&#160;&#160; : 7616        <br />Handles : 543         <br />CPU&#160;&#160;&#160;&#160; : 10.6860685         <br />Name&#160;&#160;&#160; : CmdletDesigner</font></p>    <p><em>How does it know it should display just these four properties?        <br />It seems there isn’t any ListControl view selected by this type within those formatting files...</em></p> </blockquote>  <p>Excellent question!&#160; Let’s pick behind the curtain and see how it works.&#160; When an object gets to one of our formatting commands, we use its type to look and see if there is a VIEW defined for it.&#160; These views are defined in our formatting files in $PSHOME directory.&#160; They have filenames like xxx.Format.ps1xml .&#160; If we find it, we use it.&#160; If we don’t find it, we look to see whether this type has a DefaultDisplayPropertySet defined.&#160; If it does, we use it.&#160; If it doesn’t we emit all the properties either as a table or a list depending upon how many properties there are.</p>  <p>&#160;</p>  <p>But wait a minute – let’s go back and look at this DefaultDisplayPropertySet – what’s that all about?&#160; If you’ve been using PowerShell a while, you’ll realize that PowerShell uses a type mashup system.&#160; Mashups are really just an identity space and a mechanism for 3rd parties to add addition information into an identity space.&#160; For map mashups, the identity space is latitude/longitude and a mechanism for someone to provide the lat/long for all the Starbucks in the world.&#160; For PowerShell, we use TYPEs as an identity space and then have various mechanisms for 3rd parties to add extra information.&#160; One of those mechanisms is TYPE files (e.g. $pshome/types.ps1xml ).&#160; If you take a look at the file, you’ll see that we have a set of entries which are keyed off of a typename and can add extra information.&#160; If you search for System.Diagnostics.Process – you’ll see a bunch of stuff.&#160;&#160; One of the things you can add to a type is a MemberSet</p>  <p>&#160;</p>  <p>One of the things you’ll see is a super double secret MemberSet called PSStandardMembers.&#160;&#160; This is a hidden memberset that PowerShell uses for it’s own purposes.&#160; In that memberset, you (we) can define something called DefaultDisplayPropertertySet which provides a set of properties that should be displayed if there isn’t a view defined.&#160; Let me show you that it is really there (you can follow along at home):</p>  <p><font size="2" face="Courier New">PS&gt; <strong>$x = Get-Process |Select -First 1        <br /></strong>PS&gt; <strong>$x |Format-List</strong></font></p>  <p><font size="2" face="Courier New">Id&#160;&#160;&#160;&#160;&#160; : 7616      <br />Handles : 543       <br />CPU&#160;&#160;&#160;&#160; : 10.7172687       <br />Name&#160;&#160;&#160; : CmdletDesigner </font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New">PS&gt; # Let me prove to you that it is hidden      <br />PS&gt; <strong>$x |Get-Member PSStandardMembers</strong>       <br /></font></p>  <p><font size="2" face="Courier New">     <br /></font></p>  <p><font size="2" face="Courier New">PS&gt; # It's really there, just hidden.&#160; You can show hidden things using -Force      <br />PS&gt; <strong>$x |Get-Member PSStandardMembers -Force </strong></font></p>  <p><font size="2" face="Courier New">&#160;&#160; TypeName: System.Diagnostics.Process </font></p>  <p><font size="2" face="Courier New">Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MemberType Definition      <br />----&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ---------- ----------       <br />PSStandardMembers MemberSet&#160; PSStandardMembers {DefaultDisplayPropertySet}</font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New">PS&gt; <strong>$x.PSStandardMembers</strong>       <br />PSStandardMembers {DefaultDisplayPropertySet}       <br /></font></p>  <p><font size="2" face="Courier New">     <br />PS&gt; <strong>$x.PSStandardMembers.DefaultDisplayPropertySet</strong> </font></p>  <p><font size="2" face="Courier New">ReferencedPropertyNames : {Id, Handles, CPU, Name}      <br />MemberType&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : PropertySet       <br />Value&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : DefaultDisplayPropertySet {Id, Handles, CPU, Name}       <br />TypeNameOfValue&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : System.Management.Automation.PSPropertySet       <br />Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : DefaultDisplayPropertySet       <br />IsInstance&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False </font></p>  <p><font size="2" face="Courier New"></font></p>  <p><font size="2" face="Courier New"></font></p>  <p>   <br />PS&gt; <strong>$x.PSStandardMembers.DefaultDisplayPropertySet.ReferencedPropertyNames      <br /></strong>Id     <br />Handles     <br />CPU     <br />Name     <br />PS&gt;</p>  <p></p>  <p>&#160;</p>  <p>Now it really isn’t secret we just haven’t talked about it much.&#160; It is documented @ MSDN <a href="http://msdn.microsoft.com/en-us/library/dd878267(VS.85).aspx">HERE</a> .</p>  <p>PSStandardMembers is used for a number of things in addition to DefaultDisplayProperties.&#160; In particular, it is used to control object serialization.&#160; You can find out more about that in my blog entry <a href="http://blogs.msdn.com/powershell/archive/2007/05/01/object-serialization-directives.aspx">HERE</a>.</p>  <p>&#160;</p>  <p>Enjoy! </p>  <p>Jeffrey Snover [MSFT]    <br />Distinguished Engineer     <br />Visit the Windows PowerShell Team blog at:&#160;&#160;&#160; <a href="http://blogs.msdn.com/PowerShell">http://blogs.msdn.com/PowerShell</a>     <br />Visit the Windows PowerShell ScriptCenter at:&#160; <a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx">http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</a></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9965825" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://www.exchange-powershell.com/2010/02/18/psstandardmembers-%e2%80%93-the-stealth-property/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
