<?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>Steve Goodman&#039;s Tech Blog</title>
	<atom:link href="http://www.stevieg.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevieg.org</link>
	<description>Exchange, AD and VMware News, Hints and Tips</description>
	<lastBuildDate>Fri, 19 Feb 2010 20:55: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>
			<item>
		<title>Writing Powershell scripts that target Exchange 2007 and 2010</title>
		<link>http://www.stevieg.org/2010/02/writing-powershell-scripts-that-target-exchange-2007-and-2010/</link>
		<comments>http://www.stevieg.org/2010/02/writing-powershell-scripts-that-target-exchange-2007-and-2010/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:55:38 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Outlook Live]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange2007]]></category>
		<category><![CDATA[outlook live]]></category>
		<category><![CDATA[Remote Powershell]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/2010/02/writing-powershell-scripts-that-target-exchange-2007-and-2010/</guid>
		<description><![CDATA[If you’re planning a migration to Exchange 2010 that won’t be completed overnight, you may want to be able to run Exchange Powershell scripts that execute both Exchange 2007 and 2010 cmdlets from the same script. There’s a few reasons for doing this, including:

If you use logic to determine where to place new user mailboxes, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fwriting-powershell-scripts-that-target-exchange-2007-and-2010%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fwriting-powershell-scripts-that-target-exchange-2007-and-2010%2F" height="61" width="51" /></a></div><p>If you’re planning a migration to Exchange 2010 that won’t be completed overnight, you may want to be able to run Exchange Powershell scripts that execute both Exchange 2007 <strong>and</strong> 2010 cmdlets from the same script. There’s a few reasons for doing this, including:</p>
<ul>
<li>If you use logic to determine where to place new user mailboxes, and some mailboxes will be on 2007 and some on 2010.</li>
<li>If you create new mailboxes on Exchange 2007 and then add the new mailbox to a Exchange 2010 distribution group (for example, if you use moderated distribution groups). </li>
<li>If you’re using Outlook Live (<a href="mailto:Live@EDU">Live@EDU</a> hosted Exchange 2010) and create MailUsers on-premise and Mailboxes in the hosted environment. </li>
<li>You are using the Transporter suite to migrate mail and need to create mailboxes on a temporary Exchange 2007 server, migrate mail, and then move mailboxes to Exchange 2010.</li>
</ul>
<p>OK – so my examples are mostly about provisioning and these are real-life examples of where I’ve used this method, but I’m sure you can think of other examples where it might be useful to you. So – what do you need? </p>
<ul>
<li>Exchange 2007 SP2 management tools on any OS that supports them.</li>
<li>Powershell 2.0 </li>
<li>Remote Powershell enabled on the account you run the script as (using <font face="Courier New">Set-User username –RemotePowerShellEnabled:$true</font>) </li>
</ul>
<p>You can use this on Windows Server 2003 R2, x86; no Exchange 2010 management tools are required. Enough of what you need – here’s what you need to put in your Powershell scripts to do Exchange 2007/2010:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 674px; padding-right: 5px; height: 316px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Add Exchange 2007. If you'll always run from the Exchange Management Shell, you don't need the next line.
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Exchange 2007 Commands Go Here - i.e.
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Get-MailboxDatabase
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Unload Exchange 2007
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Remove-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Create Remote Powershell session with Exchange 2010 - edit the server name <span style="color: #0000ff">in</span> ConnetionUri
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http:<span style="color: #008000">//exchange.contoso.com/powershell/ -Authentication Kerberos</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Import-PSSession $Session
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Exchange 2010 Commands Go Here - i.e.
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Get-MailboxDatabase
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># Unload Exchange 2010
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Remove-PSSession $Session</pre>
</pre>
<p>If you’re looking to connect to Outlook Live instead of Exchange 2010, simply replace the line beginning “<font face="Courier New">$Session =</font>” with a couple of lines similar to this:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">$LiveCred = New-Object System.Management.Automation.PSCredential &quot;<span style="color: #8b0000">yourliveadmin@contoso.edu</span>&quot;, (ConvertTo-SecureString &quot;<span style="color: #8b0000">password</span>&quot; -AsPlainText -Force)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https:<span style="color: #008000">//ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection -WarningAction SilentlyContinue</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
</pre>
<p>&#160;</p>
<p>Hope this helps!</p>
<p>Steve</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/02/writing-powershell-scripts-that-target-exchange-2007-and-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripted Shared Mailbox Creation on Exchange 2007/2010</title>
		<link>http://www.stevieg.org/2010/02/scripted-shared-mailbox-creation/</link>
		<comments>http://www.stevieg.org/2010/02/scripted-shared-mailbox-creation/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 23:07:16 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Shared Mailbox]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/2010/02/scripted-shared-mailbox-creation/</guid>
		<description><![CDATA[I thought I’d share one of the scripts we use for automating creation of Shared Mailboxes within our organisation. One of the more laborious parts of creating shared mailboxes after creation of the actual Mailbox, is setting the manager, department, and granting a (possibly long) list of users permissions and send-as rights.
This script is a [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fscripted-shared-mailbox-creation%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fscripted-shared-mailbox-creation%2F" height="61" width="51" /></a></div><p>I thought I’d share one of the scripts we use for automating creation of Shared Mailboxes within our organisation. One of the more laborious parts of creating shared mailboxes after creation of the actual Mailbox, is setting the manager, department, and granting a (possibly long) list of users permissions and send-as rights.</p>
<p>This script is a simple Powershell script that takes some of the pain out of the process. The assumption is that you want to achieve the following:</p>
<ul>
<li>Create a shared mailbox with a common alias, email address and username, checking input values before attempting to create the mailbox. </li>
<li>You would like to specify the Department at creation and use the Department AD attribute to generate Address Lists </li>
<li>You would like to attach a user as Manager for the Shared Mailbox so it is clear who manages it </li>
</ul>
<p>You can use the script with Parameters – e.g:</p>
<p>.\New-SharedMailbox.ps1 -Department &quot;Human Resources&quot; -Alias hr_test -DisplayName &quot;HR Test&quot; -Manager managerusername -Usernames &quot;username1,username2&quot;</p>
<p>–Department is the text to use for the department attribute    <br />–Alias is the Email Alias &amp; Username     <br />–DisplayName is the friendly textual name shown to users and recipients     <br />–Manager is the username, UPN or email address of the Manager (who will have full access + send as rights along with being set as Manager)     <br />–Usernames is a comma separated list of usernames of people who should also have full access and send-as rights.</p>
<p>Or - if that isn’t your thing, then you can just run the script without any options, and it will prompt you as you go along for the parameters. If you are using the Department attribute for Address List generation, you can hit enter when prompted for the department to get a list of in-use departments. As you go along values will be checked, to ensure the Alias and Display Name aren’t in use by Mailboxes or Mail Users and that the Manager and Usernames are attached to valid Mailboxes.</p>
<p>Before you get started with script it does need a little setup. </p>
<p>The setup is fairly straightforward, though. Open the script in a text editor, and change the values for <strong>$DomainController, $OU, $UPNDomain</strong> and<strong> $MailboxDatabase</strong> to values appropriate for your organisation. It goes without saying you should test this out on something not connected to your production environment. I won’t take any responsibility for any damage you do with this!</p>
<p>I’ve obviously taken some stuff out that is specific to our organisation (for example, we have a switch statement to determine the mailbox database and exchange server; and also generate Unix information) and if this <em>almost</em> does what you want let me know and I’ll be happy to help you customise it. </p>
<p>Download <strong><a href="http://www.stevieg.org/downloads/New-SharedMailbox.ps1" target="_blank">New-SharedMailbox.ps1</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/02/scripted-shared-mailbox-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Most useful VMware vSphere storage posts of the last year</title>
		<link>http://www.stevieg.org/2010/02/most-useful-vmware-vsphere-storage-posts-of-the-last-year/</link>
		<comments>http://www.stevieg.org/2010/02/most-useful-vmware-vsphere-storage-posts-of-the-last-year/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 22:19:23 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Storage]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vsphere]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/2010/02/most-useful-vmware-vsphere-storage-posts-of-the-last-year/</guid>
		<description><![CDATA[I’m on training this week with my team, on the vSphere Fast Track 4.0 course as a pre-requisite for the VCP 4 exam (I missed the upgrade window… !) and conversations with the trainer led me to dig out a number of posts I’ve found very useful since vSphere’s release:
From the Official VMware Performance Blog [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fmost-useful-vmware-vsphere-storage-posts-of-the-last-year%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fmost-useful-vmware-vsphere-storage-posts-of-the-last-year%2F" height="61" width="51" /></a></div><p>I’m on training this week with my team, on the vSphere Fast Track 4.0 course as a pre-requisite for the VCP 4 exam (I missed the upgrade window… !) and conversations with the trainer led me to dig out a number of posts I’ve found very useful since vSphere’s release:</p>
<p>From the Official VMware Performance Blog - <b><a href="http://blogs.vmware.com/performance/2009/11/performance-study-of-vmware-vstorage-thin-provisioning-.html">Performance Study of VMware vStorage Thin Provisioning</a> – </b>straight from the horses mouth a good doc on comparing thin vs thick vs eagerzero. Spoiler - Eagerzero wins!</p>
<p>Chad Sakac, VP of the VMware Tech Alliance at EMC is someone who has a lot of good contacts and seems to be able to get the best information on a subject concatenated into a single (albeit long post). Some interesting posts of his are <b><a href="http://virtualgeek.typepad.com/virtual_geek/2009/04/thin-on-thin-where-should-you-do-thin-provisioning-vsphere-40-or-array-level.html">Where should you thin provision</a></b> and the <b><a href="http://virtualgeek.typepad.com/virtual_geek/2009/09/a-multivendor-post-on-using-iscsi-with-vmware-vsphere.html">Multivendor iSCSI post</a></b> (which is by EMC, VMWare, HP, Netapp and Dell; there are NFS and VI3 ones also). </p>
<p>There’s also a couple of Thin Provisioning posts I’d found interesting over a VCritical -<b><a href="http://www.vcritical.com/2009/10/responsible-thin-provisioning-in-vmware-vsphere/"> Responsible Thin Provisioning in VMware vSphere</a> </b>and <b><a href="http://www.vcritical.com/2009/10/powershell-prevents-datastore-emergencies/">The Last Resort - PowerShell Prevents Datastore Emergencies</a>.</b> Though to be honest, I don’t see why one would need to worry about this at the Datastore level if they don’t overallocate at the vSphere layer and instead manage at the SAN instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/02/most-useful-vmware-vsphere-storage-posts-of-the-last-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling the Exchange 2010 ECP Performance Console</title>
		<link>http://www.stevieg.org/2010/02/enabling-the-exchange-2010-ecp-performance-console/</link>
		<comments>http://www.stevieg.org/2010/02/enabling-the-exchange-2010-ecp-performance-console/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 20:55:09 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[ecp]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[web.config]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/2010/02/enabling-the-exchange-2010-ecp-performance-console/</guid>
		<description><![CDATA[If you’ve been testing or even running Exchange 2010 in production, you will most certainly be aware of the Exchange Control Panel – which is now not only the user’s Options panel but provides access to a number of Administrative tools, such as basic user management and reporting/mailbox searches.
However one feature contained in the ECP [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fenabling-the-exchange-2010-ecp-performance-console%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fenabling-the-exchange-2010-ecp-performance-console%2F" height="61" width="51" /></a></div><p>If you’ve been testing or even running Exchange 2010 in production, you will most certainly be aware of the Exchange Control Panel – which is now not only the user’s Options panel but provides access to a number of Administrative tools, such as basic user management and reporting/mailbox searches.</p>
<p>However one feature contained in the ECP but isn’t visible immediately is the <em>ECP Performance Console.</em></p>
<p>The ECP Performance Console is ECP-specific in that it provides a whole wealth of information about how your Exchange Control Panel is performing – from how long client requests are taking, RPC latency down to what’s happening on the Powershell side. Although it is totally ECP specific the information can help you diagnose areas in which your client access server isn’t performing as it should and verifying improvements are working as they should. </p>
<p>The fields available in the ECP Performance console are as follows:</p>
<blockquote><p>Request URL     <br />Client Request Time (ms)      <br />Server Request Time (ms)      <br />RBAC Session      <br />RBAC Session Latency (ms)      <br />RPC Requests      <br />RPC Latency (ms)      <br />LDAP Requests      <br />LDAP Latency (ms)      <br />Serialization      <br />Serialization Time (ms)      <br />Runspace      <br />Runspace Latency (ms)      <br />Runspace Activations      <br />Runspace Active Time (ms)      <br />Windows PowerShell Invoke Count      <br />Windows PowerShell Invoke Time (ms)      <br />Cmdlets Instantiated      <br />Cmdlet Time (ms)      <br />Cmdlets Invoked      <br />BeginProcessing Time (ms)      <br />ProcessRecord Count      <br />Process Record Time (ms)      <br />EndProcessing Time (ms)      <br />Authentication (ms)      <br />Authorization (ms)      <br />Resolve Cache (ms)      <br />Map Request (ms)      <br />Acquire State (ms)      <br />Execute Handler (ms)      <br />Release State (ms)      <br />Update Cache (ms)      <br />Log Request (ms)      <br />Client Network Time (ms)      <br />UI Response (ms)</p>
</blockquote>
<p>To enable the ECP Performance Console, edit the ECP root directory’s <strong>web.config</strong> file on each Client Access server you wish to use this on. This is located at the following location:</p>
<blockquote><p>C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\web.config</p>
</blockquote>
<p>Look int he file for the following section:</p>
<pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #008000">&lt;!-- Set ShowPerformanceConsole to &quot;true&quot; to show ECP's Perf Console: --&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">key</span>=<span style="color: #0000ff">&quot;ShowPerformanceConsole&quot;</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">&quot;false&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
<p>Change the value for <strong>ShowPerformanceConsole</strong> to <strong>false</strong> to <strong>true </strong>as described in the preceding comment, and save the file.</p>
<p>Once you’ve made the change, run the customary <strong>iisreset /noforce</strong>&#160; to reset IIS then as normal login at your ECP URL (i.e. <a href="https://mail.contoso.com/ecp">https://mail.contoso.com/ecp</a>) and after login, click the drop-down to the right of the help icon:</p>
<p><a href="http://www.stevieg.org/wp-content/uploads/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.stevieg.org/wp-content/uploads/image_thumb.png" width="242" height="165" /></a> </p>
<p>You should see <strong>Performance Console</strong> now listed. Click it and voila – it should appear. </p>
<p><a href="http://www.stevieg.org/wp-content/uploads/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.stevieg.org/wp-content/uploads/image_thumb1.png" width="640" height="445" /></a> </p>
<p>If you want to export the data -&#160; simply press the <strong>Copy </strong>button in the top left corner. The data can then be pasted into Excel.</p>
<p>Hope you find this useful, at some point!</p>
<p>Steve</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/02/enabling-the-exchange-2010-ecp-performance-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically install Exchange 2010 pre-requisites</title>
		<link>http://www.stevieg.org/2010/02/automatically-install-exchange-2010-pre-requisites/</link>
		<comments>http://www.stevieg.org/2010/02/automatically-install-exchange-2010-pre-requisites/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 19:41:40 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Prereq]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/2010/02/automatically-install-exchange-2010-pre-requisites/</guid>
		<description><![CDATA[This one’s a no-brainer even for those that don’t like the command line.
Exchange 2010 has a set of pre-requisites that although aren’t extensive, are a bit of a fiddle to install using the GUI. A quick way of getting them all on is to use the pre-packaged XML ServerManagerCmd Answer files provided in the scripts [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fautomatically-install-exchange-2010-pre-requisites%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F02%2Fautomatically-install-exchange-2010-pre-requisites%2F" height="61" width="51" /></a></div><p>This one’s a no-brainer even for those that don’t like the command line.</p>
<p>Exchange 2010 has a set of pre-requisites that although aren’t extensive, are a bit of a fiddle to install using the GUI. A quick way of getting them all on is to use the pre-packaged XML ServerManagerCmd Answer files provided in the scripts directory of installation media.&#160; I’ve provided a list of the most common answer files below with the respective command that can be run from inside the scripts directory .</p>
<p><strong>Install Exchange Server 2010 operating system prerequisites for all server roles (Client Access, Hub Transport, Mailbox and UM)</strong></p>
<p><font face="Courier New">ServerManagerCmd -ip Exchange-All.xml -Restart</font></p>
<p><strong>Install Exchange Server 2010 operating system prerequisites for a typical installation (Client Access, Hub Transport and Mailbox)</strong></p>
<p><font face="Courier New">ServerManagerCmd -ip Exchange-Typical.xml -Restart</font></p>
<p><strong>Install Exchange Server 2010 operating system prerequisites for the Client Access server role</strong></p>
<p><font face="courier new">ServerManagerCmd -ip Exchange-CAS.xml -Restart</font></p>
<p><strong>Install Exchange Server 2010 operating system prerequisites for the Hub transport server role</strong></p>
<p><font face="Courier New">ServerManagerCmd -ip Exchange-Hub.xml -Restart</font></p>
<p><strong>Install Exchange Server 2010 operating system prerequisites for the Mailbox server role (including Mailbox servers with Hub Transports)</strong></p>
<p><font face="Courier New">ServerManagerCmd -ip Exchange-MBX.xml -Restart</font></p>
<p>Don’t forget on servers that will host the Client Access role to set the .Net TCP Port Sharing service to start automatically:</p>
<p><font face="Courier New">sc config NetTcpPortSharing start=auto</font></p>
<p>And on Hub Transport and Mailbox servers, install the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60c92a37-719c-4077-b5c6-cac34f4227cc&amp;displaylang=en" target="_blank">Microsoft Filter Pack</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/02/automatically-install-exchange-2010-pre-requisites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 MCITP: EMA now available &#8211; my comments</title>
		<link>http://www.stevieg.org/2010/01/exchange-2010-mcitp-ema-now-available-my-comments/</link>
		<comments>http://www.stevieg.org/2010/01/exchange-2010-mcitp-ema-now-available-my-comments/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 21:33:37 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exams]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[EMA]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[MCITP]]></category>
		<category><![CDATA[MCTS]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/?p=84</guid>
		<description><![CDATA[As of today, exam 70-663 is now available to take at your local Prometic test centre. After passing 70-662, TS: Exchange 2010, Configuring this is the only exam you need to pass to become MCITP on Exchange 2010.
As someone lucky enough to take and pass the beta exam (they cancelled a LOT of places - [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fexchange-2010-mcitp-ema-now-available-my-comments%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fexchange-2010-mcitp-ema-now-available-my-comments%2F" height="61" width="51" /></a></div><p>As of today, exam <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-663">70-663</a> is now available to take at your local Prometic test centre. After passing <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-662">70-662, TS: Exchange 2010, Configuring</a> this is the only exam you need to pass to become MCITP on Exchange 2010.</p>
<p>As someone lucky enough to take and pass the beta exam (they cancelled a LOT of places - thankfully I booked mine for Dec 1st) I can say it's certainly no harder than the Exchange 2007 MCITP exams. If you have already passed those, although there is not a specific upgrade path you won't be too dissapointed as much of the same ground is covered apart from new features, like DAG, RBAC etc.</p>
<p>One area where I am disappointed with the MCITP in general is that they <em>aren't hard enough</em>.<em> </em>I'm not likely to win any friends by saying that, but personally I want to feel really satified after passing the exam. With exams like the VCP getting harder I think Microsoft should follow this example and make the MCITP something that is hard to achieve; there simply is too much of a gap between MCITP and MCM/MCA and too little of  a difference in skill level between MCTS and MCITP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/01/exchange-2010-mcitp-ema-now-available-my-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving iPhone and Exchange 2010/2007 coexistence issues</title>
		<link>http://www.stevieg.org/2010/01/solving-iphone-and-exchange-20102007-coexistance-issues/</link>
		<comments>http://www.stevieg.org/2010/01/solving-iphone-and-exchange-20102007-coexistance-issues/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 21:12:27 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[activesync]]></category>
		<category><![CDATA[coexistance]]></category>
		<category><![CDATA[eas]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/?p=72</guid>
		<description><![CDATA[During my testing of our Exchange 2010 implementation I came across a rather annoying issue - iPhones users with Exchange 2007 mailboxes no longer can connect after moving the client access across to 2010.
So - what is supposed to happen? Well - as iPhone is supposed to implement EAS protocol version 12.1 (i.e. it supports [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fsolving-iphone-and-exchange-20102007-coexistance-issues%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fsolving-iphone-and-exchange-20102007-coexistance-issues%2F" height="61" width="51" /></a></div><p>During my testing of our Exchange 2010 implementation I came across a rather annoying issue - iPhones users with Exchange 2007 mailboxes no longer can connect after moving the client access across to 2010.</p>
<p>So - what is supposed to happen? Well - as iPhone is <em>supposed</em> to implement EAS protocol version 12.1 (i.e. it supports AutoDiscover), it should be redirected to the legacy Exchange 2007 Client Access array. Problem is, it doesn't work.</p>
<p>Of course not all ActiveSync clients support AutoDiscover and those that implement EAS protocol 12.0 or lower are automatically proxied by the Exchange 2010 Client Access array back to Exchange 2007 client access servers.</p>
<p>This is all explained in more detail (including an acknoledgement not all clients implement EAS protocol 12.1 correctly!) over at the Microsoft Exchange Team blog in their article, <a href="http://msexchangeteam.com/archive/2009/12/08/453472.aspx">Upgrading Exchange ActiveSync to Exchange 2010</a>.</p>
<p>Whilst looking for solutions, I've unfortunately only came across <a href="http://social.technet.microsoft.com/Forums/en/exchange2010/thread/2cfe2729-77ea-44d7-9880-71d50127be35">verification this is a known issue</a>, with the solution to simply wait for Apple to fix the iPhone. However I have a deadline to meet and getting IT staff to visit hundreds of iPhone users to change EAS settings isn't an option, it's not an option to move all those mailboxes at the same time, and we can't wait for a fix from Apple.</p>
<p>The most simple solution, as it stands - is to force all ActiveSync clients to be proxied. As noted in the MS Exchange Team blog article above, all non-internet facing site mailbox ActiveSync access is proxied anyway, so it will work. And thankfully, the proxying isn't based on AD sites. It's simply based on the ExternalURL on the ActiveSync virtual directory - if it's set to $null on the Client Access servers in the site of the user's Mailbox it will proxy instead of redirect.</p>
<p>If you want to do this via the Exchange Management Shell - it's simple - do this for each Internet facing client access server during the switchover:</p>
<pre>
<pre>Get-ActiveSyncVirtualDirectory -Server E2007CA | Set-ActiveSyncVirtualDirectory -ExternalURL:$null</pre>
</pre>
<p>The implication of this is that there will be extra overhead associated with proxying Exchange 2007 ActiveSync users, so this would need to be factored into your plans should you implement my solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/01/solving-iphone-and-exchange-20102007-coexistance-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup Multiple Exchange Accounts on your iPhone</title>
		<link>http://www.stevieg.org/2010/01/setup-multiple-iphone-exchange-accounts/</link>
		<comments>http://www.stevieg.org/2010/01/setup-multiple-iphone-exchange-accounts/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:41:40 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[second account]]></category>

		<guid isPermaLink="false">http://www.stevieg.org/?p=35</guid>
		<description><![CDATA[If like me you've got a work Exchange account, and another Exchange account somewhere else (or even a Gmail account which can use the same protocol) and sync these to your iPhone you'll share my frustration in that Apple only allow you to sync a single account. Thankfully those days are numbered as now it's [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fsetup-multiple-iphone-exchange-accounts%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fsetup-multiple-iphone-exchange-accounts%2F" height="61" width="51" /></a></div><p><a rel="attachment wp-att-36" href="http://www.stevieg.org/2010/01/setup-multiple-iphone-exchange-accounts/photo-2/"><img class="alignleft size-medium wp-image-36" title="Two Exchange Accounts on the iPhone" src="http://www.stevieg.org/wp-content/uploads/photo1-200x300.jpg" alt="" width="200" height="300" /></a>If like me you've got a work Exchange account, and another Exchange account somewhere else (or even a Gmail account which can use the same protocol) and sync these to your iPhone you'll share my frustration in that Apple only allow you to sync a single account. Thankfully those days are numbered as now it's possible to connect more than one account.</p>
<p>You'll have to Jailbreak you phone if you want to do this, but it's now pretty easy to add a second Exchange push email account to your iPhone.</p>
<p>First things first, Jailbreaking can be achieved fairly easily and safely using something like Blackra1n.  Once Jailbroken you need Cydia (an Apt repositary/gui for the iPhone) installed and using Cydia, search for <strong>AddExchange </strong>and install.</p>
<p>After you've installed AddExchange, fire it up and press the button to add your second account. A second account should appear with some default settings ready for you to change to your own.</p>
<p>Now you're up and running with the second account you can safely remove (via Cydia) AddExchange.</p>
<p>Another option is an app called <strong>MultiExchange</strong> which claims to do this in a much cleaner way - however it has to be purchased from the Cydia store for $0.99. As I've been happy with AddExchange I've not tried this but from what I've read it doesn't suffer from a two account limit.</p>
<p>More details <a href="http://appadvice.com/appnn/2010/01/jailbreak-only-add-a-second-exchange-account-to-your-iphone-with-addexchange/">over at AppAdvice</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/01/setup-multiple-iphone-exchange-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange &#8211; Bulk-add forwarding addresses</title>
		<link>http://www.stevieg.org/2010/01/exchange-bulk-add-fwd/</link>
		<comments>http://www.stevieg.org/2010/01/exchange-bulk-add-fwd/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 22:51:09 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[mailbox]]></category>
		<category><![CDATA[mailcontact]]></category>
		<category><![CDATA[outlook live]]></category>

		<guid isPermaLink="false">http://msexchange.stevieg.org/?p=12</guid>
		<description><![CDATA[There's not many circumstances where you'd want to set forwarding on lots of mailboxes at once - but if you're in that situation (perhaps you're moving mailboxes to a Cloud mail provider)  it's useful to know that it's fairly straightforward and can be accomplished with a little PowerShell.
In the example below, we're assuming that your [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fexchange-bulk-add-fwd%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fexchange-bulk-add-fwd%2F" height="61" width="51" /></a></div><p>There's not many circumstances where you'd want to set forwarding on lots of mailboxes at once - but if you're in that situation (perhaps you're moving mailboxes to a Cloud mail provider)  it's useful to know that it's fairly straightforward and can be accomplished with a little PowerShell.</p>
<p>In the example below, we're assuming that your on-premise Exchange 2007/2010 domain is contoso.com and all your mailboxes are in the Staff OU.</p>
<p>The Cloud provider you're moving your mail to will eventually take over the MX record for your domain, but will also accept mail to each user's Username@cloud.contoso.com. We'll keep mail contacts used for the forwarding in the OU CloudContacts.</p>
<p>To accomplish this, we quite simply need to get the mailboxes in the specific OU, create a mail contact for each one (with the external email address they will use on the cloud provider's domain) and then set the forwarding address on the mailbox:</p>
<pre># Loop though the object returned by Get-Mailbox with each element represented by $mailbox</pre>
<pre>foreach ($mailbox in (Get-MailBox -ResultSize Unlimited  -OrganizationalUnit contoso.com/Staff)</pre>
<pre style="padding-left: 30px;">{</pre>
<pre style="padding-left: 30px;"># Create the forwarding address string
$ForwardingAddress= $mailbox.SamAccountName + "@cloud.contoso.com"</pre>
<pre style="padding-left: 30px;"># Check there isn't a contact, then add one</pre>
<pre style="padding-left: 30px;">If (!(Get-MailContact $ForwardingAddress -ErrorAction SilentlyContinue))</pre>
<pre style="padding-left: 60px;">{</pre>
<pre style="padding-left: 60px;">New-MailContact $ForwardingAddress-ExternalEmailAddress $ForwardingAddress- OrganizationalUnit contoso.com/CloudContacts
}</pre>
<pre style="padding-left: 30px;"># Set the forwarding address
Set-Mailbox $mailbox -ForwardingAddress $ForwardingAddress</pre>
<pre style="padding-left: 30px;">}</pre>
<p>Of course, that's a fairly simple example.  What if the email addresses at the cloud provider don't match the Windows Logon ID or anything else that is an attribute of the Mailbox? Well the simple solution is to use something like a CSV file containing a mapping between an attribute on each Mailbox and the external email address for that user:</p>
<pre><strong>SamAccountName,ForwardingAddress</strong>
jamesw,jimbo@cloud.contoso.com
philipg,phil@cloud.contoso.com</pre>
<p>In this example, we'll save that file as input.csv and use that as are input to the foreach loop. Again CloudContacts OU will contain our new mail contact objects:</p>
<pre style="text-align: left;"># Loop through the object returned by Import-Csv with each element represented by $person</pre>
<pre style="text-align: left;">foreach ($person in (Import-Csv .\input.csv))</pre>
<pre style="text-align: left; padding-left: 30px;">{
# Check the Mailbox for the person exists
If ((Get-Mailbox $person.SamAccountName))</pre>
<pre style="text-align: left; padding-left: 60px;">{
# Check the mail contact doesn't exist and if not add it
If (!(Get-MailContact $person.ForwardingAddress))</pre>
<pre style="text-align: left; padding-left: 90px;">{</pre>
<pre style="text-align: left; padding-left: 90px;">New-MailContact $person.ForwardingAddress -OrganizationalUnit contoso.com/CloudContacts
}</pre>
<pre style="text-align: left; padding-left: 60px;"># Set the Forwarding Address on the Mailbox
Set-Mailbox $person.SamAccountName -ForwardingAddress $person.ForwardingAddress
}</pre>
<pre style="text-align: left; padding-left: 30px;">}</pre>
<p>Word of caution - it's worth (as always) running these commands in your test environment first - and of course consider appending -WhatIf to the New-MailContact and Set-Mailbox commands to check they'll do what you want in your production environment.</p>
<p>Hope this helps,</p>
<p>Steve</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/01/exchange-bulk-add-fwd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to my Tech Blog</title>
		<link>http://www.stevieg.org/2010/01/hello-world/</link>
		<comments>http://www.stevieg.org/2010/01/hello-world/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 00:52:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://msexchange.stevieg.org/?p=1</guid>
		<description><![CDATA[Hello and welcome to my tech blog! This blog is aimed at bringing you news, hints, tips and scripts to make your life as an Exchange, Ad or VMware administrator easier and to get to grips with new or unusual features.
A little about me - I work at a University in the UK in an [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fhello-world%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.stevieg.org%2F2010%2F01%2Fhello-world%2F" height="61" width="51" /></a></div><p><a rel="attachment wp-att-6" href="http://www.stevieg.org/2010/01/hello-world/photo/"><img class="alignleft size-full wp-image-6" title="Exchange Screen Photo" src="http://msexchange.stevieg.org/wp-content/uploads/photo.jpg" alt="" width="300" height="200" /></a>Hello and welcome to my tech blog! This blog is aimed at bringing you news, hints, tips and scripts to make your life as an Exchange, Ad or VMware administrator easier and to get to grips with new or unusual features.</p>
<p>A little about me - I work at a University in the UK in an architect type role responsible for Active Directory, Exchange, SAN technologies and our VMware infrastrure (AKA our internal Cloud).</p>
<p>As well as this blog, while you're here check out my <a href="http://www.stevieg.org/carpc"><strong>Car PC</strong></a> mini site. I've stopped working on the Car PC now but while I did it was featured in Custom PC magazine, Gigaherz Magazine, Computer Shopperand CNET.com. I worked on it from 2003 and you can read about how it was put together on my <a href="http://www.stevieg.org/blog/">old blog</a>.</p>
<p>If you're after any advise or want to network feel free to get in touch (more details on my <a href="http://www.stevieg.org/aboutme/">about me</a> pages) via email or <a href="http://twitter.com/stevegoodman">twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevieg.org/2010/01/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
