<?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 Server Pro &#187; Mailbox Server</title>
	<atom:link href="http://exchangeserverpro.com/tag/mailbox-server/feed" rel="self" type="application/rss+xml" />
	<link>http://exchangeserverpro.com</link>
	<description>Microsoft Exchange Server News - Tips - Tutorials</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:00:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How to Health Check an Exchange 2010 Mailbox Server</title>
		<link>http://exchangeserverpro.com/health-check-exchange-2010-mailbox-server</link>
		<comments>http://exchangeserverpro.com/health-check-exchange-2010-mailbox-server#comments</comments>
		<pubDate>Mon, 21 Nov 2011 11:51:55 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=4275</guid>
		<description><![CDATA[Get this free PowerShell script for performing a quick health check of your Exchange Server 2010 mailbox servers.]]></description>
			<content:encoded><![CDATA[<p>How many times each day do you get asked, <em>&#8220;Is there a problem with the Exchange server?</em>&#8221;</p>
<p>If you&#8217;re like me then you get asked this question at least once per day. Of course there usually isn&#8217;t anything wrong with our Exchange servers <img src='http://exchangeserverpro.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  but once the question has been asked then you have no choice but to investigate and confirm that everything is okay.</p>
<p>In this article I&#8217;m going to demonstrate how you can quickly check the health of your <a href="http://exchangeserverpro.com">Exchange Server 2010</a> mailbox servers, and share a script with you that can help to speed up this task.</p>
<p>Exchange Server 2010 has a series of PowerShell cmdlets that make it easy to do a health check of <a href="http://exchangeserverpro.com/exchange-2010-server-roles">mailbox servers</a>. For example, we can:</p>
<ul>
<li>Run <a href="http://exchangeserverpro.com/exchange-2010-test-servicehealth">Test-Servicehealth</a> to check the required services are all running</li>
<li>Run <a href="http://technet.microsoft.com/en-us/library/bb124924.aspx">Get-MailboxDatabase</a> to check whether the mailbox databases are mounted</li>
<li>Run <a href="http://technet.microsoft.com/en-us/library/bb123681.aspx">Test-MapiConnectivity</a> to verify that the databases are responding to MAPI requests</li>
<li>Run <a href="http://technet.microsoft.com/en-us/library/aa995894.aspx">Test-MailFlow</a> to confirm that email is able to pass successfully between two servers</li>
<li>Run <a href="http://technet.microsoft.com/en-us/library/dd298044.aspx">Get-MailboxDatabaseCopyStatus</a> for <a href="http://exchangeserverpro.com/exchange-server-2010-database-availability-group-installation-step-by-step">DAG</a> members to check the database copy status, queues, and content indexes</li>
</ul>
<p>That&#8217;s quite a few cmdlets to run, especially if we&#8217;ve got more than one mailbox server in the organization. And of course each of those cmdlets needs to run and show you output that you need to interpret.</p>
<p>I like to make life a bit easier and use PowerShell scripts to speed up these types of tasks. So naturally I put together a script for performing all of the above tests (and a few more) on my mailbox servers and display a nice simple colour-coded output so that I can tell at a glance whether there might be a problem.</p>
<p>This isn&#8217;t designed to do a diagnosis of any problems, it just checks the fundamentals and gives me a simple pass/fail and a few other indicators that I can then troubleshoot further if necessary.</p>
<p class="alert"><strong>Download the script file here:</strong> <a class="downloadlink" href="http://exchangeserverpro.com/wp-content/plugins/download-monitor/download.php?id=Test-MailboxServer.zip" title="Version 1.1 downloaded 891 times" >Test-MailboxServer.ps1</a> (downloaded 891 times so far)</p>
<p>Extract <strong>Test-MailboxServer.ps1</strong> from the Zip file and run it in your Exchange Management Shell to see output such as this:</p>
<p><img class="aligncenter size-full wp-image-4276" title="exchange-2010-test-mailboxserver-health-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/exchange-2010-test-mailboxserver-health-01.jpg" alt="" width="580" height="446" /></p>
<p>If you have any questions or bugs to report please let me know in the comments below.</p>
<p><strong>Change log:</strong></p>
<ul>
<li>V1.0, 20/11/2011 &#8211; Initial version</li>
<li>V1.1, 10/01/2011 &#8211; Fixed $null&#8217;s, bugs with Recovery DBs, and ping failure scenarios</li>
</ul>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-mailbox-database-backup-time" title="PowerShell Script: Check Exchange Mailbox Database Last Backup Time">PowerShell Script: Check Exchange Mailbox Database Last Backup Time</a></li><li><a href="http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email" title="How to Set Up an Automated Exchange 2010 Database Backup Alert Email">How to Set Up an Automated Exchange 2010 Database Backup Alert Email</a></li><li><a href="http://exchangeserverpro.com/list-users-access-exchange-mailboxes" title="How to List all Users Who Have Access to Other Exchange Mailboxes">How to List all Users Who Have Access to Other Exchange Mailboxes</a></li><li><a href="http://exchangeserverpro.com/generate-html-report-exchange-2010-environment" title="How to Generate a HTML Report of Your Exchange 2010 Environment">How to Generate a HTML Report of Your Exchange 2010 Environment</a></li><li><a href="http://exchangeserverpro.com/clone-mailbox-database-configuration" title="Exchange 2007/2010: How to Clone a Mailbox Database Configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/health-check-exchange-2010-mailbox-server">How to Health Check an Exchange 2010 Mailbox Server</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/health-check-exchange-2010-mailbox-server/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>How to Install Updates on Exchange Server 2010 Database Availability Groups</title>
		<link>http://exchangeserverpro.com/how-to-install-updates-on-exchange-server-2010-database-availability-groups</link>
		<comments>http://exchangeserverpro.com/how-to-install-updates-on-exchange-server-2010-database-availability-groups#comments</comments>
		<pubDate>Wed, 16 Nov 2011 00:30:54 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[DAG]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[Updates]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=2074</guid>
		<description><![CDATA[This tutorial demonstrates how to update the servers in an Exchange Server 2010 Database Availability Group without causing the mailbox databases to go offline.]]></description>
			<content:encoded><![CDATA[<p>An <a href="http://exchangeserverpro.com">Exchange Server 2010</a> <a href="http://exchangeserverpro.com/exchange-server-2010-database-availability-group-installation-step-by-step">Database Availability Group</a> (DAG) provides several benefits to an organization, primarily that of continuous availability of mailbox databases.</p>
<p>To update the DAG members with new patches, update rollups or service packs, the update process should be managed to prevent all of the DAG members from being offline at the same time.</p>
<p>To do this you can move the active mailbox databases off a particular server so that it can be patched, and if necessary rebooted, without causing any downtime for mailbox users on that database.</p>
<p>This tutorial demonstrates how to update the servers in an Exchange Server 2010 Database Availability Group without causing downtime. Because this process differs depending on the version of Exchange Server 2010 you&#8217;re running I&#8217;ve covered each method here.</p>
<ul>
<li><a href="#preprtm">Preparing an Exchange Server 2010 RTM DAG member for updates</a>, or</li>
<li><a href="#prepsp1">Preparing an Exchange Server 2010 SP1 DAG member for updates</a></li>
<li><a href="#stop">Stopping Conflicting Services</a></li>
<li><a href="#disable">Disabling Server Monitoring</a></li>
<li><a href="#update">Updating the Server</a></li>
<li><a href="#verify">Verifying the Update</a></li>
<li><a href="#returnrtm">Returning an Exchange Server 2010 RTM DAG member to production</a>, or</li>
<li><a href="#returnsp1">Returning an Exchange Server 2010 SP1 DAG member to production</a></li>
</ul>
<p>For this tutorial Update Rollup 4 for Exchange Server 2010 is being installed.</p>
<h2><a name="preprtm">Preparing an Exchange Server 2010 RTM DAG Member for Updates</a></h2>
<p>The first step is to move active mailbox databases to another DAG member so that the server can be updated.</p>
<p>To see a list of mailbox databases and their current active server use the <a href="http://technet.microsoft.com/en-us/library/bb124924.aspx">Get-MailboxDatabase</a> cmdlet.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
Mailbox Database 02            EX1             False           Remote
Mailbox Database 01            EX2             False           Remote</pre>
<p>In this example I want to apply updates to server <strong>EX1</strong>, and I can see that it currently hosts the active copy of <strong>Mailbox Database 02</strong>.</p>
<p>If your environment has a lot of DAG members and mailbox databases you can refine this query to only show active mailbox databases for a specific server.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase | where {$_.Server -eq "EX1"}

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
Mailbox Database 02            EX1             False           Remote</pre>
<p>Move the mailbox databases using the <a href="http://technet.microsoft.com/en-us/library/dd298068.aspx">Move-ActiveMailboxDatabase</a> cmdlet.</p>
<pre>[PS] C:\&gt;Move-ActiveMailboxDatabase "Mailbox Database 02" -ActivateOnServer EX2

Confirm
Are you sure you want to perform this action?
Moving mailbox database "Mailbox Database 02" from server "ex1.exchangeserverpro.local" to server
"EX2.exchangeserverpro.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): y

Identity        ActiveServerAtS ActiveServerAtE Status     NumberOfLogsLost   RecoveryPoint MountStatus MountStatus
                tart            nd                                            Objective     AtMoveStart AtMoveEnd
--------        --------------- --------------- ------     ----------------   ------------- ----------- -----------
Mailbox Data... ex1             ex2             Succeeded  0                  14/09/2010... Mounted     Mounted</pre>
<p>All of the mailbox databases are now active on server EX2.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
Mailbox Database 02            EX2             False           Remote
Mailbox Database 01            EX2             False           Remote</pre>
<p>As another example, if there were multiple databases active on a server you can move all of them with a single command.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase | where {$_.Server -eq "EX1"} | Move-ActiveMailboxDatabase -ActivateOnServer EX2 -Confirm:$false

Identity        ActiveServerAtS ActiveServerAtE Status     NumberOfLogsLost   RecoveryPoint MountStatus MountStatus
                tart            nd                                            Objective     AtMoveStart AtMoveEnd
--------        --------------- --------------- ------     ----------------   ------------- ----------- -----------
Mailbox Data... ex1             ex2             Succeeded  0                  14/09/2010... Mounted     Mounted
Mailbox Data... ex1             ex2             Succeeded  0                  14/09/2010... Mounted     Mountede</pre>
<p>Note the use of <strong>-Confirm:$false</strong> to avoid having to confirm each move. Use this option with caution.</p>
<p>After moving all active mailbox databases off the server that you are planning to update, the final preparation step is to block activation on the server to prevent it from automatically reactiving a database copy while you are performing maintenance.</p>
<p>First check the current activation policy on the server using <a href="http://technet.microsoft.com/en-us/library/bb123539.aspx">Get-MailboxServer</a>.</p>
<pre>[PS] C:\&gt;Get-MailboxServer EX1 | fl Name,DatabaseCopyAutoActivationPolicy

Name                             : EX1
DatabaseCopyAutoActivationPolicy : Unrestricted</pre>
<p>Next, use <a href="http://technet.microsoft.com/en-us/library/aa998651.aspx">Set-MailboxServer</a> to block activation.</p>
<pre>[PS] C:\&gt;Set-MailboxServer EX1 -DatabaseCopyAutoActivationPolicy Blocked</pre>
<h2><a name="prepsp1">Preparing an Exchange Server 2010 SP1 DAG Member for Updates</a></h2>
<p>For Exchange 2010 with Service Pack 1 the process is a little easier thanks to some scripts provided by Microsoft. Open the Exchange Management Shell and navigate to the scripts folder on the Exchange server.</p>
<pre>cd $exscripts</pre>
<p>Next run the <strong>StartDagServerMaintenance.ps1</strong> PowerShell script.</p>
<pre>.\StartDagServerMaintenance.ps1 -serverName ho-ex2010-mb1</pre>
<p>The script will automatically do the following tasks for you:</p>
<ul>
<li>Calls <a href="http://technet.microsoft.com/en-us/library/dd351074.aspx">Suspend-MailboxDatabaseCopy</a> on the database copies.</li>
<li>Pauses the node in Failover Clustering so that it can not become the <a href="http://technet.microsoft.com/en-us/library/dd776123.aspx">Primary Active Manager</a>.</li>
<li>Suspends database activation on each mailbox database.</li>
<li>Sets the DatabaseCopyAutoActivationPolicy to Blocked on the server.</li>
<li>Moves databases and cluster group off of the designated server.</li>
</ul>
<h2><a name="stop">Stopping Conflicting Services</a></h2>
<p>If the mailbox server is running any Exchange-integrated services, such as antivirus software, these should be disabled prior to the update.</p>
<p>For example to disable Forefront use the FSUtility command.</p>
<pre>C:\&gt; fsutility /disable</pre>
<p>Another example is Data Protection Manager 2010, which may be configured to perform Copy backups from passive database copies at frequent intervals through the day. Make sure these jobs are paused to prevent errors or conflicts from occuring.</p>
<h2><a name="disable">Disabling Server Monitoring</a></h2>
<p>If the DAG members are monitored using SCOM or a similar system then this should also be disabled or placed into maintenance mode.</p>
<p>This will prevent alarms from being raised as well as prevent any automatic remediation actions from being run by the monitoring agent that may cause the server updates to fail.</p>
<h2><a name="update">Updating the Server</a></h2>
<p>Install the update following the deployment notes for that update type.</p>
<p>Update rollups come in the form of a .MSP file (Windows Installer Patch) that is applied to the server. Simply double-click the file or launch it from a command line window.</p>
<p>Service packs are a complete reissue of the Exchange Server setup files and are installed by running setup in upgrade mode, which can be run in either graphical or command line mode.</p>
<pre>C:\&gt; setup /m:upgrade</pre>
<p>Both update rollups and service packs can take some time to install, so plan a large window of time for these updates.</p>
<p><img class="aligncenter size-full wp-image-2082" title="updateinstall" src="http://exchangeserverpro.com/wp-content/uploads/2010/09/updateinstall.png" alt="" width="550" height="327" /></p>
<h2><a name="verify">Verifying the Update</a></h2>
<p>After the update has completed, and if necessary the server rebooted, you should check the server’s health before placing it back into production in the CAS array.</p>
<p><strong>Event Logs</strong> – look for error or warning events that have started since the update was applied.</p>
<p><strong>Setup Logs</strong> – service packs write a complete setup log file to C:\ExchangeSetupLogs</p>
<p><strong>Services</strong> – check the Exchange services are running (or at least those that you expect to be running, some such as IMAP and POP will be stopped if you have not explicitly enabled them)</p>
<pre>[PS] C:\&gt;Get-Service *exchange*

Status   Name               DisplayName
------   ----               -----------
Running  MSExchangeADTop... Microsoft Exchange Active Directory...
Running  MSExchangeIS       Microsoft Exchange Information Store
Running  MSExchangeMailb... Microsoft Exchange Mailbox Assistants
Running  MSExchangeMailS... Microsoft Exchange Mail Submission
Stopped  MSExchangeMonit... Microsoft Exchange Monitoring
Running  MSExchangeRepl     Microsoft Exchange Replication
Running  MSExchangeRPC      Microsoft Exchange RPC Client Access
Running  MSExchangeSA       Microsoft Exchange System Attendant
Running  MSExchangeSearch   Microsoft Exchange Search Indexer
Running  MSExchangeServi... Microsoft Exchange Service Host
Running  MSExchangeThrot... Microsoft Exchange Throttling
Running  MSExchangeTrans... Microsoft Exchange Transport Log Se...
Running  msftesql-Exchange  Microsoft Search  (Exchange)
Running  vmickvpexchange    Hyper-V Data Exchange Service
Stopped  wsbexchange        Microsoft Exchange Server Extension...</pre>
<h2><a name="returnrtm">Returning an Exchange Server 2010 RTM DAG Member to Production</a></h2>
<p>If the update was successful and the server healthy then it can be placed back into production.</p>
<p>Re-enable services such as Forefront Protection for Exchange.</p>
<pre>C:\&gt; fsutility /enable</pre>
<p>Re-enable monitoring agents and alarms for the server.</p>
<p>Set the server&#8217;s activation policy back to its original setting.</p>
<pre>[PS] C:\&gt;Set-MailboxServer EX1 -DatabaseCopyAutoActivationPolicy Unrestricted</pre>
<p>At this stage you might move all of the active mailbox databases to the server that was just updated so that you can update the other servers in the DAG. After all of the DAG members have been updated it is likely that mailbox databases will be active on servers that are not their first activation preference.</p>
<p>For Exchange Server 2010 RTM you can view the activation preferences for each database, and manually move active mailbox databases to their preferred server.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase | fl name,activationpreference

Name                 : Mailbox Database 02
ActivationPreference : {[EX2, 1], [EX1, 2]}

Name                 : Mailbox Database 01
ActivationPreference : {[EX1, 1], [EX2, 2]}</pre>
<pre>[PS] C:\&gt;Move-ActiveMailboxDatabase "Mailbox Database 01" -ActivateOnServer EX1

Confirm
Are you sure you want to perform this action?
Moving mailbox database "Mailbox Database 01" from server "EX2.exchangeserverpro.local" to server
"ex1.exchangeserverpro.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): y

Identity        ActiveServerAtS ActiveServerAtE Status     NumberOfLogsLost   RecoveryPoint MountStatus MountStatus
                tart            nd                                            Objective     AtMoveStart AtMoveEnd
--------        --------------- --------------- ------     ----------------   ------------- ----------- -----------
Mailbox Data... ex2             ex1             Succeeded  0                  14/09/2010... Mounted     Mounted</pre>
<h2><a name="returnsp1">Returning an Exchange Server 2010 RTM DAG Member to Production</a></h2>
<p>Once again Exchange 2010 with Service Pack 1 makes this task easier thanks to a script provided by Microsoft. Open the Exchange Management Shell and navigate to the scripts folder on the Exchange server.</p>
<pre>cd $exscripts</pre>
<p>Next run the <strong>StopDagServerMaintenance.ps1</strong> PowerShell script.</p>
<pre>.\StopDagServerMaintenance.ps1 -serverName ho-ex2010-mb1</pre>
<p>The script will automatically reverse each of the actions made by StartDagServerMaintenance.ps1 except that it will not move active mailbox databases back to the server.</p>
<p>To move the active mailbox databases you can continue to go to each mailbox server in the DAG and run StartDagServerMaintenance.ps1 and perform your updates. When all of the servers have been updated you can <a href="http://exchangeserverpro.com/how-to-rebalance-mailbox-databases-in-a-dag-with-exchange-server-2010-sp1">rebalance the DAG</a> automatically using a script from Microsoft which is demonstrated <a href="http://exchangeserverpro.com/how-to-rebalance-mailbox-databases-in-a-dag-with-exchange-server-2010-sp1">here</a>.</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members" title="Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?">Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?</a></li><li><a href="http://exchangeserverpro.com/exchange-recovery-failed-dag-member-exchange-server-2010" title="Exchange Recovery: Failed DAG Member in Exchange Server 2010">Exchange Recovery: Failed DAG Member in Exchange Server 2010</a></li><li><a href="http://exchangeserverpro.com/how-to-reseed-a-failed-mailbox-database-copy-in-exchange-server-2010" title="How to Reseed a Failed Mailbox Database Copy in Exchange Server 2010">How to Reseed a Failed Mailbox Database Copy in Exchange Server 2010</a></li><li><a href="http://exchangeserverpro.com/exchange-server-2010-database-availability-group-installation-step-by-step" title="Exchange Server 2010 Database Availability Group Installation Step by Step">Exchange Server 2010 Database Availability Group Installation Step by Step</a></li><li><a href="http://exchangeserverpro.com/upgrading-exchange-server-2010-service-pack-2" title="Upgrading to Exchange Server 2010 Service Pack 2">Upgrading to Exchange Server 2010 Service Pack 2</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/how-to-install-updates-on-exchange-server-2010-database-availability-groups">How to Install Updates on Exchange Server 2010 Database Availability Groups</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/how-to-install-updates-on-exchange-server-2010-database-availability-groups/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>How to Set Up an Automated Exchange 2010 Database Backup Alert Email</title>
		<link>http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email</link>
		<comments>http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email#comments</comments>
		<pubDate>Thu, 10 Nov 2011 11:50:21 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=4242</guid>
		<description><![CDATA[Learn how to use PowerShell to automatically monitor your Exchange Server 2010 database backups and send an alert email when recent backups have not been successful.]]></description>
			<content:encoded><![CDATA[<p>In recent articles I&#8217;ve taken you step by step through some techniques for <a href="http://exchangeserverpro.com/powershell-how-to-send-email">sending email from PowerShell scripts</a>. If you haven&#8217;t read those articles yet you can find them here:</p>
<ul>
<li><a href="http://exchangeserverpro.com/powershell-how-to-send-email">Part 1 – How to Send SMTP Email Using PowerShell</a></li>
<li><a href="http://exchangeserverpro.com/powershell-email-message-body">Part 2 - How to Add a Message Body to Emails Sent from Scripts</a></li>
<li><a href="http://exchangeserverpro.com/powershell-send-html-email">Part 3 - How to Add a HTML Message Body to Emails Sent from Scripts</a></li>
<li><a href="http://exchangeserverpro.com/powershell-html-email-formatting">Part 4 - How to Create Formatted HTML Output from Scripts</a></li>
</ul>
<p>I also shared with you a script that can be used to <a href="http://exchangeserverpro.com/powershell-script-check-exchange-2010-database-backups">check Exchange Server 2010 database backups</a> and alert you to any that have not had a recent backup.</p>
<p>Now it&#8217;s time to bring all of that information together and demonstrate how you can set up an automated database backup alert email for your <a href="http://exchangeserverpro.com">Exchange Server 2010</a> environment.</p>
<p>The two components of this are:</p>
<ul>
<li>The PowerShell script itself (we&#8217;ll use the one mentioned earlier but with some modifications to email-enable it)</li>
<li>Task Scheduler for automatically running the script each day</li>
</ul>
<h2>Script for Exchange Server 2010 Database Backup Email Alerts</h2>
<p>To email-enable the script I&#8217;ve made just a few modifications. The original script used this conditional logic to display the report in the PowerShell window.</p>
<pre>#If alert flag is true output the report
if ($alertflag -eq $true )
{
	Write-Host "The following databases have not been backed up in" $threshold "hours."
	$alerts | ft -AutoSize
}
else
{
	Write-Host "No backup alerts required."
}</pre>
<p>To change this to send an email alert we can use this code instead:</p>
<pre>#If alert flag is true send the email alert
if ($alertflag -eq $true )
{
	#HTML styles for nice formatting
        $style = "&lt;style&gt;BODY{font-family: Arial; font-size: 10pt;}"
	$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
	$style = $style + "TH{border: 1px solid black; background: #CC0000; padding: 5px; color: #FFFFFF;}"
	$style = $style + "TD{border: 1px solid black; padding: 5px; }"
	$style = $style + "&lt;/style&gt;"

        #SMTP options for sending the report email
	$smtpServer = "ho-ex2010-caht1.exchangeserverpro.net"
	$smtpFrom = "reports@exchangeserverpro.net"
	$smtpTo = "administrator@exchangeserverpro.net"
	$messageSubject = "Exchange Backup Alerts"

        $intro = "The following databases have not been backed up in " + $threshold + " hours.&lt;BR&gt;&lt;BR&gt;"
	$report = $alerts | ConvertTo-Html -Fragment

	#Get ready to send email message
	$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
	$message.Subject = $messageSubject
	$message.IsBodyHTML = $true
	$message.Body = ConvertTo-Html -Body "$intro $report" -Head $style

	#Send email message
	$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
	$smtp.Send($message)

}</pre>
<p>If any parts of that don&#8217;t make sense just refer to the previous tutorials on sending email with PowerShell.</p>
<p>Here is the full script code we&#8217;ll be using for this:</p>
<pre>#
#.SYNOPSIS
#Checks the backup timestamps for the servers
#and alerts if a database hasn't been backed up
#in the last 48 hours
#
#.EXAMPLE
#.\Check-DatabaseBackups.ps1
#

#...................................
# Variables
#...................................

#Suppress errors
$ErrorActionPreference = "SilentlyContinue"
$WarningPreference = "SilentlyContinue"

#Load the Exchange 2010 snap-in
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

#Array to hold alert objects
$alerts = @()

#Set alert threshold for hours since last successful backup
$day = (Get-Date).DayOfWeek
if ($day -eq "Monday")
{
	[int]$threshold = 72
}
else
{
	[int]$threshold = 48
}

#Current time stamp to compare with databases
$now = [DateTime]::Now

#...................................
# Functions
#...................................

#...................................
# Script
#...................................

#Get all Mailbox and Public Folder databases
Write-Host -ForegroundColor Gray "Getting database list..."
$dbs = Get-MailboxDatabase -Status
$dbs = $dbs += Get-PublicFolderDatabase -Status

#Check each database for most recent backup
foreach ($db in $dbs)
{
	Write-Host -ForegroundColor Gray "Checking" $db.name"..."

	$lastbackup = @{}
	$ago = @()
	[bool]$alertflag = $false

	if ( $db.LastFullBackup -eq $null -and $db.LastIncrementalBackup -eq $nul)
	{
		$lastbackup.time = "Never"
		$lastbackup.type = "Never"
		[string]$ago = "Never"
	}
	elseif ( $db.LastFullBackup -lt $db.LastIncrementalBackup )
	{
		$lastbackup.time = $db.LastIncrementalBackup
		$lastbackup.type = "Incremental"
		[int]$ago = ($now - $lastbackup.time).TotalHours
		$ago = "{0:N0}" -f $ago
	}
	elseif ( $db.LastIncrementalBackup -lt $db.LastFullBackup )
	{
		$lastbackup.time = $db.LastFullBackup
		$lastbackup.type = "Full"
		[int]$ago = ($now - $lastbackup.time).TotalHours
		$ago = "{0:N0}" -f $ago
	}

	if ($db.IsMailboxDatabase -eq $true) {$dbtype = "Mailbox"}
	if ($db.IsPublicFolderDatabase -eq $true) {$dbtype = "Public Folder"}

	#If backup time stamp older than threshold set alert flag and create object for alerting
	if ( $ago -gt $threshold -or $ago -eq "Never")
	{
		$alertflag = $true
		$dbObj = New-Object PSObject
		if ( $dbtype -eq "Public Folder")
		{
			$dbObj | Add-Member NoteProperty -Name "Server/DAG" -Value $db.Server
		}
		else
		{
			$dbObj | Add-Member NoteProperty -Name "Server/DAG" -Value $db.MasterServerOrAvailabilityGroup
		}
		$dbObj | Add-Member NoteProperty -Name "Database" -Value $db.name
		$dbObj | Add-Member NoteProperty -Name "Database Type" -Value $dbtype
		$dbObj | Add-Member NoteProperty -Name "Last Backup Type" -Value $lastbackup.type
		$dbObj | Add-Member NoteProperty -Name "Hrs Ago" -Value $ago
		$dbObj | Add-Member NoteProperty -Name "Time Stamp" -Value $lastbackup.time
		$dbObj | Add-Member NoteProperty -Name "Currently Running" -Value $db.backupinprogress
		$alerts = $alerts += $dbObj
	}
}

#If alert flag is true send the email alert
if ($alertflag -eq $true )
{
	#HTML styles for nice formatting
        $style = "&lt;style&gt;BODY{font-family: Arial; font-size: 10pt;}"
	$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
	$style = $style + "TH{border: 1px solid black; background: #CC0000; padding: 5px; color: #FFFFFF;}"
	$style = $style + "TD{border: 1px solid black; padding: 5px; }"
	$style = $style + "&lt;/style&gt;"

        #SMTP options for sending the report email
	$smtpServer = "ho-ex2010-caht1.exchangeserverpro.net"
	$smtpFrom = "reports@exchangeserverpro.net"
	$smtpTo = "administrator@exchangeserverpro.net"
	$messageSubject = "Exchange Backup Alerts"

        $intro = "The following databases have not been backed up in " + $threshold + " hours.&lt;BR&gt;&lt;BR&gt;"
	$report = $alerts | ConvertTo-Html -Fragment

	#Get ready to send email message
	$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
	$message.Subject = $messageSubject
	$message.IsBodyHTML = $true
	$message.Body = ConvertTo-Html -Body "$intro $report" -Head $style

	#Send email message
	$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
	$smtp.Send($message)

}</pre>
<p>If you&#8217;re using this script in your environment you will need to change the SMTP options to suit.</p>
<p>Save the script as Get-DailyBackupAlerts.ps1 in a folder called C:\Scripts on the server where you would like it to run each day. Note that the script depends on the Exchange Server 2010 management tools, so they will also need to be installed.</p>
<h2>Using Task Scheduler to Run PowerShell Scripts</h2>
<p>Now we need to configure the scheduled task in Task Scheduler. On a Windows Server 2008 server you&#8217;ll find this in the <strong>Administrative Tools</strong>. After you&#8217;ve launched Task Scheduler click on <strong>Create Task</strong>.</p>
<p><img class="aligncenter size-full wp-image-4243" title="task-scheduler-powershell-script-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/task-scheduler-powershell-script-01.jpg" alt="" width="305" height="290" />Give the task a meaningful name, set it to <strong>Run whether user is logged on or not</strong>, and also if necessary change the user account that it will run as (you may wish to create a special Exchange administrative account with a strong password for running these types of scripts).</p>
<p><img class="aligncenter size-full wp-image-4244" title="task-scheduler-powershell-script-02" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/task-scheduler-powershell-script-02.jpg" alt="" width="590" height="439" />On the <strong>Triggers</strong> tab click new and add a <strong>Weekly</strong> trigger for each of your normal business days that you want the script to run (eg Monday &#8211; Friday). Set the <strong>Start</strong> time to suit your normal backups finishing time and your own work schedule.</p>
<p><img class="aligncenter size-full wp-image-4245" title="task-scheduler-powershell-script-03" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/task-scheduler-powershell-script-03.jpg" alt="" width="556" height="439" /></p>
<p>On the <strong>Actions</strong> tab click <strong>New</strong> and add an action of Start a program. Configure the program of <strong>powershell.exe</strong> and the arguments <strong>-command &#8220;c:\scripts\get-dailybackupalerts.ps1&#8243;</strong></p>
<p><img class="aligncenter size-full wp-image-4248" title="task-scheduler-powershell-script-04" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/task-scheduler-powershell-script-04.jpg" alt="" width="552" height="428" /></p>
<p>&nbsp;</p>
<p>Click <strong>OK</strong> to finish creating the new task. You will be prompted to enter the credentials for the account that you configured the task to run as.</p>
<p>Now you can test the scheduled task by right-clicking on it in the Task Scheduler Library and choosing <strong>Run</strong>.</p>
<p><img class="aligncenter size-full wp-image-4247" title="task-scheduler-powershell-script-05" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/task-scheduler-powershell-script-05.jpg" alt="" width="503" height="244" />Assuming you have some databases that have not backed up recently you should receive an alert email shortly after running the scheduled task.</p>
<p><em>Note: if your backups are all up to date you can test the script by changing the <strong>$threshold</strong> variable to something very low such as <strong>1</strong>.</em></p>
<p><img class="aligncenter size-full wp-image-4249" title="exchange-2010-backup-alert-email" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/exchange-2010-backup-alert-email.jpg" alt="" width="590" height="229" /></p>
<p>&nbsp;</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-2010-database-backups" title="PowerShell Script: Check Exchange 2010 Database Backups">PowerShell Script: Check Exchange 2010 Database Backups</a></li><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-mailbox-database-backup-time" title="PowerShell Script: Check Exchange Mailbox Database Last Backup Time">PowerShell Script: Check Exchange Mailbox Database Last Backup Time</a></li><li><a href="http://exchangeserverpro.com/avoid-running-transaction-log-disk-space-exchange-servers" title="Avoid Running Out of Transaction Log Disk Space on Exchange Servers">Avoid Running Out of Transaction Log Disk Space on Exchange Servers</a></li><li><a href="http://exchangeserverpro.com/test-mailflow-exchange-2003-servers" title="Using Test-Mailflow with Exchange 2003 Servers">Using Test-Mailflow with Exchange 2003 Servers</a></li><li><a href="http://exchangeserverpro.com/health-check-exchange-2010-mailbox-server" title="How to Health Check an Exchange 2010 Mailbox Server">How to Health Check an Exchange 2010 Mailbox Server</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email">How to Set Up an Automated Exchange 2010 Database Backup Alert Email</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?</title>
		<link>http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members</link>
		<comments>http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members#comments</comments>
		<pubDate>Sun, 06 Nov 2011 04:23:45 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[DAG]]></category>
		<category><![CDATA[Disaster Recovery]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Databases]]></category>
		<category><![CDATA[Mailbox Server]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=4217</guid>
		<description><![CDATA[When an Exchange Server 2010 Mailbox server that is a member of a Database Availability Group is backed up, does the backup also include passive database copies?]]></description>
			<content:encoded><![CDATA[<p>In my article on backup error <a href="http://exchangeserverpro.com/event-id-2137-windows-server-backup-completed-warnings-exchange-2010-mailbox-server">event id 2137</a> and what it means for <a href="http://exchangeserverpro.com">Exchange 2010</a> a reader <a href="http://exchangeserverpro.com/event-id-2137-windows-server-backup-completed-warnings-exchange-2010-mailbox-server#comment-2450">asked</a> whether backups of Exchange 2010 DAG members include both the active and passive database copies.</p>
<p class="alert"><strong>Update:</strong> <a href="http://technet.microsoft.com/en-us/library/dd979802.aspx">according to Microsoft</a>, &#8220;<em>All database copies can be backed up using an Exchange-aware, Volume Shadow Copy Service (VSS)-based backup application. However, the built-in support for Windows Server Backup is for active copies only. You can&#8217;t use Windows Server Backup to back up passive copies.</em>&#8221; The rest of the article below has been left unedited, however be aware that the example demonstrated is of an unsupported scenario</p>
<p>The short answer is yes, however there are some important considerations to be aware of. From <a href="http://technet.microsoft.com/en-us/library/dd876874.aspx">Microsoft TechNet</a>:</p>
<blockquote><p>Passive mailbox database copies are backed up using a separate VSS writer in the Microsoft Exchange Replication service. The Microsoft Exchange Replication service VSS Writer doesn&#8217;t support restores. <strong>Although you can back up a passive mailbox database copy using Microsoft System Center Data Protection Manager or a third-party Exchange-aware VSS-based application, you can&#8217;t perform a VSS restore directly to a passive mailbox database copy.</strong> However, you can perform a VSS restore to an alternate location, suspend replication to the passive copy, and then copy the database and log files from the alternate location to the location of the passive database copy in the file system.</p></blockquote>
<p>To demonstrate this, here you can see the mailbox databases <strong>MB-HO-*</strong> that are currently active on server <strong>HO-EX2010-MB2</strong>. They have no <strong>LastFullBackup</strong> timestamp because they have never been backed up.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase -status | ft name,mounted*,lastfull* -auto

Name     MountedOnServer                     Mounted LastFullBackup
----     ---------------                     ------- --------------
MB-HO-01 HO-EX2010-MB2.exchangeserverpro.net    True
MB-HO-02 HO-EX2010-MB2.exchangeserverpro.net    True
MB-HO-03 HO-EX2010-MB2.exchangeserverpro.net    True
MB-BR-01 BR-EX2010-MB.exchangeserverpro.net     True</pre>
<p>On server HO-EX2010-MB1 I ran a <a href="http://exchangeserverpro.com/exchange-2010-mailbox-database-backup-restore-windows-server-backup">mailbox server backup using Windows Server Backup</a>.</p>
<p><img class="aligncenter size-full wp-image-4218" title="exchange-2010-dag-backup" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/exchange-2010-dag-backup.jpg" alt="" width="550" height="453" /></p>
<p>After the backup completed the following can be seen. First, the <strong>LastFullBackup</strong> time stamp has not been written.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase -status | ft name,mounted*,lastfull* -auto

Name     MountedOnServer                     Mounted LastFullBackup
----     ---------------                     ------- --------------
MB-HO-02 HO-EX2010-MB2.exchangeserverpro.net    True
MB-HO-01 HO-EX2010-MB2.exchangeserverpro.net    True
MB-HO-03 HO-EX2010-MB2.exchangeserverpro.net    True</pre>
<p>Next, the disk that the backups were written to contain VHD files matching the size of the data stored on the backed up volumes. For example, the F: (Data) drive holds about 2Gb of data, and the VHD for that volume is about the same size.</p>
<p><img class="aligncenter size-full wp-image-4219" title="exchange-2010-dag-backup-vhd-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/exchange-2010-dag-backup-vhd-01.jpg" alt="" width="590" height="71" />Because we can mount the VHD as a disk on the server we have the opportunity to inspect the contents inside of it.</p>
<p><img class="aligncenter size-full wp-image-4220" title="exchange-2010-dag-backup-vhd-02" src="http://exchangeserverpro.com/wp-content/uploads/2011/11/exchange-2010-dag-backup-vhd-02.jpg" alt="" width="343" height="198" />We can see that even though it was not the active databases at the time of the backup, the EDB file for database MB-HO-01 (and others) was still backed up by the server.</p>
<pre>[PS] C:\&gt;Get-ChildItem H:\ -Recurse | where {$_.name -like "*.edb"} | select name

Name
----
HO-PF-01.edb
MB-HO-01.edb
MB-HO-02.edb
MB-HO-03.edb
PF-HO-01.edb</pre>
<p>Next I&#8217;ll run another backup of HO-EX2010-MB1, but this time the mailbox database <strong>MB-HO-01</strong> has been made active on <strong>HO-EX2010-MB1</strong>.</p>
<p>This time the <strong>LastFullBackup</strong> time stamp is written to the database.</p>
<pre>[PS] C:\&gt;Get-MailboxDatabase -status | ft name,mounted*,lastfull* -auto

Name     MountedOnServer                     Mounted LastFullBackup
----     ---------------                     ------- --------------
MB-HO-01 HO-EX2010-MB1.exchangeserverpro.net    True 11/6/2011 1:40:19 PM
MB-HO-02 HO-EX2010-MB2.exchangeserverpro.net    True
MB-HO-03 HO-EX2010-MB2.exchangeserverpro.net    True
MB-BR-01 BR-EX2010-MB.exchangeserverpro.net     True</pre>
<p>So what do we learn from this?</p>
<p class="alert">Reminder, the below should be read in conjunction with the notice at the start of the article, as backing up passive database copies using Windows Server Backup is not a supported scenario</p>
<ul>
<li>Yes, passive database copies stored on a volume are backed up by Windows Server Backup</li>
<li>Yes, this allows backups of passive database copies to be restored, although not directly</li>
<li>Yes, this would allow a backup of a passive database copy to be used for disaster recovery of a database</li>
<li>No, the backup time stamp is not written when a passive database copy is backed up, so any monitoring of backups that involves checking that time stamp needs to take that into consideration</li>
</ul>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/exchange-recovery-failed-dag-member-exchange-server-2010" title="Exchange Recovery: Failed DAG Member in Exchange Server 2010">Exchange Recovery: Failed DAG Member in Exchange Server 2010</a></li><li><a href="http://exchangeserverpro.com/how-to-install-updates-on-exchange-server-2010-database-availability-groups" title="How to Install Updates on Exchange Server 2010 Database Availability Groups">How to Install Updates on Exchange Server 2010 Database Availability Groups</a></li><li><a href="http://exchangeserverpro.com/set-automated-exchange-2010-database-backup-alert-email" title="How to Set Up an Automated Exchange 2010 Database Backup Alert Email">How to Set Up an Automated Exchange 2010 Database Backup Alert Email</a></li><li><a href="http://exchangeserverpro.com/review-exchange-server-2010-backup-recovery-training" title="Review: Exchange Server 2010 Backup and Recovery Training">Review: Exchange Server 2010 Backup and Recovery Training</a></li><li><a href="http://exchangeserverpro.com/exchange-2010-database-portability-disaster-recovery" title="Exchange Server 2010: Using Database Portability for Disaster Recovery">Exchange Server 2010: Using Database Portability for Disaster Recovery</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members">Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007</title>
		<link>http://exchangeserverpro.com/exchange-2010-online-mailbox-moves</link>
		<comments>http://exchangeserverpro.com/exchange-2010-online-mailbox-moves#comments</comments>
		<pubDate>Tue, 27 Sep 2011 11:00:15 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Client Access]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[Mailboxes]]></category>
		<category><![CDATA[Migration]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3688</guid>
		<description><![CDATA[How to perform online mailbox moves using the Exchange Server 2010 management tools and shell.]]></description>
			<content:encoded><![CDATA[<p><em>Q: How can the mailbox migration from Exchange 2007 to Exchange 2010 be done with the minimum down time possible? Do users have to be offline during mailbox migration?</em></p>
<p><a href="http://exchangeserverpro.com">Exchange Server 2010</a> introduced the concept of online mailbox moves. An online mailbox move is a move operation during which the end user is able to connect to their mailbox for almost the entire move, except for the very end.</p>
<p>Online mailbox moves are only available when moving a mailbox from Exchange 2007 SP2 to Exchange 2010, or from Exchange 2010 to Exchange 2010.</p>
<p>The benefit of online mailbox moves is the minimal end user impact during the move. There are a lot of different scenarios in which the end user experiences an online move depending on the specific scenario and the method the user is connecting with at the time. You can read the full list of scenarios <a href="http://technet.microsoft.com/en-us/library/dd298174.aspx#ClientExp">here</a>.</p>
<p>For <a href="http://exchangeserverpro.com/exchange-2007-2010-migration-guide">migrating from Exchange 2007 to Exchange 2010</a> online mailbox moves can be used to minimise the downtime for end users.</p>
<p>During an online mailbox move from Exchange 2007 SP2 to Exchange 2010 the end user is not locked out of the mailbox for the full duration of the move. Instead, the Exchange server performs the move and then only at the final stage does the end user get locked out for the move request to be completed.</p>
<p>This can dramatically shorten the amount of time that the user mailbox, particular larger mailboxes, is unavailable during the migration.</p>
<p>Mailbox move requests are initiated using the <a title="Exchange 2010 FAQ: How Do I Install the Exchange 2010 Management Tools?" href="http://exchangeserverpro.com/exchange-2010-install-management-tools">Exchange 2010 management tools</a>.  Launch the Exchange Management Console and navigate to <strong>Recipient Configuration/Mailbox</strong>.</p>
<p>You can hold the CTRL key to select multiple mailboxes to move if you want to.</p>
<p><img class="aligncenter size-full wp-image-4109" title="pilot-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-01.jpg" alt="" width="600" height="432" /></p>
<p>In the Actions pane click on <strong>New Local Move Request</strong>.</p>
<p><img class="aligncenter size-full wp-image-4119" title="pilot02" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot02.png" alt="" width="296" height="198" /></p>
<p>Click the <strong>Browse</strong> button to choose a target mailbox database.</p>
<p><img class="aligncenter size-full wp-image-4110" title="pilot-02" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-02.jpg" alt="" width="475" height="330" /></p>
<p>Select the mailbox database to move the pilot group to and then click <strong>OK</strong>.  Click <strong>Next</strong> to continue.</p>
<p><img class="aligncenter size-full wp-image-4111" title="pilot-03" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-03.jpg" alt="" width="507" height="246" /></p>
<p>On the Move Settings dialog you’ll notice the option to suspend moves when they are ready to complete. This option allows you to more precisely manage the timeframe in which the user is unable to access their mailbox, thanks to how the online mailbox moves work.</p>
<p><img class="aligncenter size-full wp-image-4112" title="pilot-04" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-04.jpg" alt="" width="471" height="226" /></p>
<p>If you choose to suspend the move when it is ready for completion you can begin the mailbox move request at any time, and then have it sit in a suspended state until you are ready for it to be completed.</p>
<p>For this example I will check the box to suspend the moves to demonstrate this process. However if you wish to have the move requests continue to completion on their own do not check the box.</p>
<p>Review the list of mailboxes that will be moved and then click <strong>New</strong> to create the move requests.</p>
<p><img class="aligncenter size-full wp-image-4113" title="pilot-05" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-05.jpg" alt="" width="462" height="285" /></p>
<p>Click <strong>Finish</strong> to close the wizard.</p>
<p>The move requests are created and will be processed by an Exchange 2010 Client Access server.  While the mailbox is being moved the end user can continue to access it and send/receive email.</p>
<p>You can view the status of the move requests in the Exchange Management Console under <strong>Recipient Configuration/Move Request</strong>.</p>
<p><img class="aligncenter size-full wp-image-4114" title="pilot-06" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-06.jpg" alt="" width="600" height="192" /></p>
<p>Right-click a move request and choose <strong>Properties</strong> to see the status of that move request.</p>
<p><img class="aligncenter size-full wp-image-4115" title="pilot-07" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-07.jpg" alt="" width="444" height="351" /></p>
<p>When the move request is in this suspended state the user can still continue to access their mailbox on the original server. You can then notify them of the time you will be completing the move request, at which point they will be locked out of the mailbox and will need to restart Outlook afterwards.</p>
<p>When you are ready simply right-click on the move request and choose <strong>Complete Move Request</strong>. You can also hold the CTRL key to select multiple move requests and complete them all at once.</p>
<p><img class="aligncenter size-full wp-image-4116" title="pilot-08" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-08.jpg" alt="" width="582" height="182" /></p>
<p>Again you can monitor the status of the move requests in the Exchange Management Console.</p>
<p><img class="aligncenter size-full wp-image-4117" title="pilot-09" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-09.jpg" alt="" width="600" height="192" /></p>
<p>If the end users are still connected with Outlook they will see a message similar to this, and will need to restart Outlook to connect to their mailbox on the Exchange 2010 server.</p>
<p><img class="aligncenter size-medium wp-image-4118" title="pilot-10" src="http://exchangeserverpro.com/wp-content/uploads/2011/09/pilot-10-450x101.jpg" alt="" width="450" height="101" /></p>
<p>When the user restarts Outlook they&#8217;ll be connected to their mailbox in the new location.</p>
<p>As you can see using online mailbox moves in conjunction with suspending mailbox move requests allows you to perform a mailbox migration from Exchange 2007 to Exchange 2010 with minimal user downtime.</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/powershell-script-create-mailbox-size-report-exchange-server-2010" title="Get-MailboxReport.ps1 &#8211; PowerShell Script to Generate Mailbox Reports">Get-MailboxReport.ps1 &#8211; PowerShell Script to Generate Mailbox Reports</a></li><li><a href="http://exchangeserverpro.com/exchange-server-2007-2010-migration-guide" title="The Exchange Server 2007 to 2010 Migration Guide is Available Now">The Exchange Server 2007 to 2010 Migration Guide is Available Now</a></li><li><a href="http://exchangeserverpro.com/owa-error-mailbox-trying-access-not-currently-available" title="OWA Error: The Mailbox You&#8217;re Trying to Access Isn&#8217;t Currently Available">OWA Error: The Mailbox You&#8217;re Trying to Access Isn&#8217;t Currently Available</a></li><li><a href="http://exchangeserverpro.com/clone-mailbox-database-configuration" title="Exchange 2007/2010: How to Clone a Mailbox Database Configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a></li><li><a href="http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes" title="Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes">Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/exchange-2010-online-mailbox-moves">Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/exchange-2010-online-mailbox-moves/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange Server 2010: Using Database Portability for Disaster Recovery</title>
		<link>http://exchangeserverpro.com/exchange-2010-database-portability-disaster-recovery</link>
		<comments>http://exchangeserverpro.com/exchange-2010-database-portability-disaster-recovery#comments</comments>
		<pubDate>Wed, 13 Jul 2011 13:23:49 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Database Portability]]></category>
		<category><![CDATA[Disaster Recovery]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Mailbox Database]]></category>
		<category><![CDATA[Mailbox Server]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3744</guid>
		<description><![CDATA[How to use Exchange 2010 Database Portability in a disaster recovery scenario to mount a mailbox database on another Mailbox server.]]></description>
			<content:encoded><![CDATA[<p><a href="http://exchangeserverpro.com">Exchange Server 2010</a> has a feature called <a href="http://technet.microsoft.com/en-us/library/dd876873.aspx">Database Portability</a>. This is the capability for a mailbox database from one <a href="http://exchangeserverpro.com/exchange-2010-server-roles">Mailbox server</a> to be mounted on another Mailbox server within the same organization.</p>
<p>In this article I will demonstrate how you can use Database Portability in a disaster recovery situation.</p>
<p>First we need to understand a few key points about Database Portability:</p>
<ul>
<li>the mailbox database can only be mounted on another Mailbox server within the same Exchange organization</li>
<li>the mailbox database can&#8217;t be from an earlier version of Exchange Server</li>
<li>the database can&#8217;t be a public folder database</li>
</ul>
<p>In this example scenario a Mailbox server has failed, and another Mailbox server is available to mount the database from the failed server.</p>
<p>There are different approaches that could be taken instead of using Database Portability, such as:</p>
<ul>
<li>if the Mailbox server was in a <a href="http://exchangeserverpro.com/exchange-server-2010-database-availability-group-installation-step-by-step">Database Availability Group</a> then the database may be able to be activated on another DAG member that already holds a replica of the database</li>
<li>in some cases a <a href="http://exchangeserverpro.com/exchange-server-2010-mailbox-server-backup-recovery">Mailbox server recovery</a> may be more appropriate</li>
</ul>
<p>The first step is to get the database and log files onto the server where you want to mount them. This could be done by restoring them from backup, or by attaching the same storage that was on the old server to the new server.</p>
<p><img class="aligncenter size-full wp-image-3745" title="exchange-2010-database-portability-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/07/exchange-2010-database-portability-01.jpg" alt="" width="290" height="153" /></p>
<p>Before we proceed further we need to check what shutdown state the database is in. Open the Exchange Management Shell and navigate to the folder containing the database file. Then run the following command to check the database state.</p>
<pre>g:\Data\MB-HO-01&gt;eseutil /mh MB-HO-01.edb | findstr "State:"
            State: Dirty Shutdown</pre>
<p>With a database in a dirty shutdown state, and all of the transaction log files available, we can perform a <a href="http://technet.microsoft.com/en-us/library/aa998074(EXCHG.65).aspx">soft recovery</a> of the database. This commits any uncommitted transaction logs into the database so that there is no data loss. If you don&#8217;t have the transaction logs, or your database is in a clean shutdown state, then you can skip this step.</p>
<p>From the folder that contains the transaction logs run the following command, replacing &#8220;E00&#8243; with the log file prefix for your database.</p>
<pre>F:\Logs\MB-HO-01&gt;eseutil /r E00 /d G:\Data\MB-HO-01

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files:
         System files:
   Database Directory: G:\Data\MB-HO-01

Performing soft recovery...
                      Restore Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Operation completed successfully in 1.938 seconds.</pre>
<p><em>Note the use of the /d parameter to specify the location of the mailbox database file. This is required if it not in the same path as on the original server.</em></p>
<p>Create a new mailbox database on the Mailbox server you are using to mount the database. Specify paths for the transaction logs and database file that are different to the current location.</p>
<pre>[PS] G:\&gt;New-MailboxDatabase -Server esp-ho-ex2010a -Name MB-HO-01-Recovered -LogFolderPath F:\Logs\MB-HO-01-Recovered -EdbFilePath G:\Data\MB-HO-01-Recovered\MB-HO-01.edb

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
MB-HO-01-Recovered             ESP-HO-EX2010A  False           None</pre>
<p>Copy the database and log files from their current locations into the locations that you specified when creating the new mailbox database.</p>
<p><img class="aligncenter size-full wp-image-3746" title="exchange-2010-database-portability-02" src="http://exchangeserverpro.com/wp-content/uploads/2011/07/exchange-2010-database-portability-02.jpg" alt="" width="389" height="235" /></p>
<p>Mark the database as overwritable.</p>
<pre>[PS] G:\&gt;Set-MailboxDatabase MB-HO-01-Recovered -AllowFileRestore:$true</pre>
<p>Now mount the mailbox database.</p>
<pre>[PS] G:\&gt;Mount-Database MB-HO-01-Recovered</pre>
<p>At this stage we&#8217;ve got the mailbox successfully mounted, but the users with mailboxes on that database are still pointing to the old server and database name.</p>
<pre>[PS] G:\&gt;Get-Mailbox -Database MB-HO-01

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Administrator             Administrator        esp-ho-ex2010b   unlimited
Alan.Reid                 Alan.Reid            esp-ho-ex2010b   unlimited
Alex.Heyne                Alex.Heyne           esp-ho-ex2010b   unlimited
Aisha.Bhari               Aisha.Bhari          esp-ho-ex2010b   unlimited
Aleisha.Harrison          Aleisha.Harrison     esp-ho-ex2010b   unlimited</pre>
<p>So the final step is to update the attributes for those user accounts to point to the new mailbox database.</p>
<pre>[PS] G:\&gt;Get-Mailbox -Database MB-HO-01 | Set-Mailbox -Database MB-HO-01-Recovered

Confirm
Rehoming mailbox "exchangeserverpro.net/Users/Administrator" to database "MB-HO-01-Recovered". This operation will only
 modify the mailbox's Active Directory configuration. Be aware that the current mailbox content will become
inaccessible to the user.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): a</pre>
<p>Now we can see that the user accounts have been updated with the new attribute.</p>
<pre>[PS] G:\&gt;Get-Mailbox -Database MB-HO-01-Recovered

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Administrator             Administrator        esp-ho-ex2010a   unlimited
Alan.Reid                 Alan.Reid            esp-ho-ex2010a   unlimited
Alex.Heyne                Alex.Heyne           esp-ho-ex2010a   unlimited
Aisha.Bhari               Aisha.Bhari          esp-ho-ex2010a   unlimited
Aleisha.Harrison          Aleisha.Harrison     esp-ho-ex2010a   unlimited</pre>
<p>The users will now be able to connect to their mailboxes again under the following assumptions:</p>
<ul>
<li>The updated user account attributes may need to replicate through Active Directory</li>
<li>Outlook 2007/2010 and Outlook Web App users will automatically connect to the new database</li>
<li>Outlook 2003 clients will require a manual profile update to connect to the new database</li>
</ul>
<p>&nbsp;</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/exchange-2010-passive-database-copies-included-backups-dag-members" title="Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?">Exchange 2010: Are Passive Database Copies Included in Backups of DAG Members?</a></li><li><a href="http://exchangeserverpro.com/exchange-server-2010-mailbox-server-backup-recovery" title="Exchange Server 2010 Mailbox Server Backup and Recovery">Exchange Server 2010 Mailbox Server Backup and Recovery</a></li><li><a href="http://exchangeserverpro.com/exchange-2010-mailbox-database-backup-restore-windows-server-backup" title="Exchange 2010 Mailbox Database Backup and Restore with Windows Server Backup">Exchange 2010 Mailbox Database Backup and Restore with Windows Server Backup</a></li><li><a href="http://exchangeserverpro.com/exchange-recovery-failed-dag-member-exchange-server-2010" title="Exchange Recovery: Failed DAG Member in Exchange Server 2010">Exchange Recovery: Failed DAG Member in Exchange Server 2010</a></li><li><a href="http://exchangeserverpro.com/how-to-reseed-a-failed-mailbox-database-copy-in-exchange-server-2010" title="How to Reseed a Failed Mailbox Database Copy in Exchange Server 2010">How to Reseed a Failed Mailbox Database Copy in Exchange Server 2010</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/exchange-2010-database-portability-disaster-recovery">Exchange Server 2010: Using Database Portability for Disaster Recovery</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/exchange-2010-database-portability-disaster-recovery/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Exchange 2007 Room Mailbox Not Automatically Accepting Bookings</title>
		<link>http://exchangeserverpro.com/exchange-2007-room-mailbox-automatically-accepting-bookings</link>
		<comments>http://exchangeserverpro.com/exchange-2007-room-mailbox-automatically-accepting-bookings#comments</comments>
		<pubDate>Tue, 05 Jul 2011 11:00:09 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Calendars]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[Resource Scheduling]]></category>
		<category><![CDATA[Room Mailboxes]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3719</guid>
		<description><![CDATA[If an Exchange Server 2007 room mailbox is not automatically accepting meeting bookings, here are two quick steps to follow.]]></description>
			<content:encoded><![CDATA[<p>If you encounter a problem where an <a href="http://exchangeserverpro.com">Exchange Server 2007</a> room mailbox is not automatically accepting meeting bookings, here are two quick steps to follow.</p>
<p>First, double-check that the <a href="http://exchangeserverpro.com/how-to-enable-autoaccept-on-multiple-room-mailboxes">room mailbox is configured correctly for auto-acceptance of meetings</a>. The correct setting is &#8220;AutoAccept&#8221;.</p>
<pre>Get-MailboxCalendarSettings homeetingroom1

Identity                                                     AutomateProcessing
--------                                                     ------------------
exchangeserverpro.net/Company/Head Office/Users/HO Meetin... AutoAccept</pre>
<p>If it not set correctly you can use Set-MailboxCalendarSettings to correct it.</p>
<pre>Set-MailboxCalendarSettings homeetingroom1 -AutomateProcessing AutoAccept</pre>
<p>Note if you need to do this for multiple room mailboxes at once try <a href="http://exchangeserverpro.com/how-to-enable-autoaccept-on-multiple-room-mailboxes">this tip</a>.</p>
<p>If meeting requests are still being received by the room mailbox and sitting in a tentative state, with no confirmation message back to the meeting organizer, make sure that the <strong>Microsoft Exchange Mailbox Assistants</strong> service is running on the Mailbox server.</p>
<p><img class="aligncenter size-full wp-image-3720" title="exchange-2007-mailbox-assistants" src="http://exchangeserverpro.com/wp-content/uploads/2011/07/exchange-2007-mailbox-assistants.jpg" alt="" width="564" height="277" /></p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/exchange-2010-online-mailbox-moves" title="Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007">Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007</a></li><li><a href="http://exchangeserverpro.com/clone-mailbox-database-configuration" title="Exchange 2007/2010: How to Clone a Mailbox Database Configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a></li><li><a href="http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes" title="Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes">Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes</a></li><li><a href="http://exchangeserverpro.com/move-storage-groups-databases-exchange-2007-ccr-cluster" title="How to Move Storage Groups and Databases in an Exchange 2007 CCR Cluster">How to Move Storage Groups and Databases in an Exchange 2007 CCR Cluster</a></li><li><a href="http://exchangeserverpro.com/find-meeting-rooms" title="How to Find Available Meeting Rooms">How to Find Available Meeting Rooms</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/exchange-2007-room-mailbox-automatically-accepting-bookings">Exchange 2007 Room Mailbox Not Automatically Accepting Bookings</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/exchange-2007-room-mailbox-automatically-accepting-bookings/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2007/2010: How to Clone a Mailbox Database Configuration</title>
		<link>http://exchangeserverpro.com/clone-mailbox-database-configuration</link>
		<comments>http://exchangeserverpro.com/clone-mailbox-database-configuration#comments</comments>
		<pubDate>Fri, 17 Jun 2011 13:26:43 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange Management Shell]]></category>
		<category><![CDATA[Mailbox Server]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3656</guid>
		<description><![CDATA[Here is an Exchange Management Shell technique you can use to clone the settings from one mailbox database to another, or to a whole mailbox server.]]></description>
			<content:encoded><![CDATA[<p>I was setting up a new <a href="http://exchangeserverpro.com">Exchange Server 2007</a> cluster today and decided to share this technique I use to save time configuring the mailbox databases.</p>
<p>Since the clusters we build tend to have a lot of storage groups and databases on them (25 for the one I worked on today) some automation really speeds things up.</p>
<p>Firstly I always use a <a href="http://exchangeserverpro.com/ems-script-your-exchange-server-2007-storage-groups-and-mailbox-databases">script to create the storage groups and mailbox databases</a>. This is pretty easy, especially when you have naming standards that let you do a find/replace on the script as you use it from server to server.</p>
<p>The cmdlets for these operations are <a href="http://technet.microsoft.com/en-us/library/bb124941(EXCHG.80).aspx">New-StorageGroup</a> and <a href="http://technet.microsoft.com/en-us/library/aa997976(EXCHG.80).aspx">New-MailboxDatabase</a>. You&#8217;ll find a very old sample script of mine <a href="http://exchangeserverpro.com/ems-script-your-exchange-server-2007-storage-groups-and-mailbox-databases">here</a> that demonstrates how they can be scripted.</p>
<p>Secondly I use a few shell commands to clone the database configuration from an existing mailbox database. By that I mean settings such as the mailbox retention, deleted items retention, storage quotas, offline address book, and public folders.  These are settings that we typically keep the same across all the Exchange clusters.</p>
<p>First I collect the settings from an existing mailbox database into an array.</p>
<pre>$a = Get-MailboxDatabase  [name of database to clone]</pre>
<p>The various settings can then be referenced in the array, such as $a.PublicFolderDatabase.</p>
<p>Once I&#8217;ve done that there are two ways to apply it to other mailbox databases. I can apply it to a single database like this.</p>
<pre>Set-MailboxDatabase [new mailbox database name] -OfflineAddressBook $a.OfflineAddressBook -PublicFolderDatabase $a.PublicFolderDatabase -IssueWarningQuota $a.IssueWarningQuota -ProhibitSendQuota $a.ProhibitSendQuota -ProhibitSendReceiveQuota $a.ProhibitSendReceiveQuota -MailboxRetention $a.MailboxRetention -DeletedItemRetention $a.DeletedItemRetention</pre>
<p>Or, as I did today, I can apply it to all of the mailbox databases on a given server.</p>
<pre>Get-MailboxDatabase -server [new server name] | Set-MailboxDatabase -OfflineAddressBook $a.OfflineAddressBook -PublicFolderDatabase $a.PublicFolderDatabase -IssueWarningQuota $a.IssueWarningQuota -ProhibitSendQuota $a.ProhibitSendQuota -ProhibitSendReceiveQuota $a.ProhibitSendReceiveQuota -MailboxRetention $a.MailboxRetention -DeletedItemRetention $a.DeletedItemRetention</pre>
<p>As you can see the <a title="Exchange 2010 FAQ: How Do I Install the Exchange 2010 Management Tools?" href="http://exchangeserverpro.com/exchange-2010-install-management-tools">Exchange Management Shell</a> really does make it easy to administer Exchange 2007 and 2010 environments.</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-mailbox-database-backup-time" title="PowerShell Script: Check Exchange Mailbox Database Last Backup Time">PowerShell Script: Check Exchange Mailbox Database Last Backup Time</a></li><li><a href="http://exchangeserverpro.com/exchange-2010-test-servicehealth" title="Using Test-ServiceHealth for Exchange Server Health Checks">Using Test-ServiceHealth for Exchange Server Health Checks</a></li><li><a href="http://exchangeserverpro.com/migrate-relay-connector-exchange-server-2007-2010" title="How to Migrate a Relay Connector from Exchange Server 2007 to 2010">How to Migrate a Relay Connector from Exchange Server 2007 to 2010</a></li><li><a href="http://exchangeserverpro.com/list-users-access-exchange-mailboxes" title="How to List all Users Who Have Access to Other Exchange Mailboxes">How to List all Users Who Have Access to Other Exchange Mailboxes</a></li><li><a href="http://exchangeserverpro.com/move-exchange-2007-storage-group-database-paths" title="How to Move Storage Group and Database File Paths in Exchange Server 2007">How to Move Storage Group and Database File Paths in Exchange Server 2007</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/clone-mailbox-database-configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/clone-mailbox-database-configuration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Move an Exchange 2010 Database to a Different Folder</title>
		<link>http://exchangeserverpro.com/move-exchange-2010-database-folder</link>
		<comments>http://exchangeserverpro.com/move-exchange-2010-database-folder#comments</comments>
		<pubDate>Fri, 17 Jun 2011 12:00:25 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange Management Console]]></category>
		<category><![CDATA[Exchange Management Shell]]></category>
		<category><![CDATA[Mailbox Server]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3649</guid>
		<description><![CDATA[How move an Exchange 2010 mailbox database using both the management console and shell.]]></description>
			<content:encoded><![CDATA[<p>When an <a href="http://exchangeserverpro.com">Exchange Server 2010</a> Mailbox server is installed there is a mailbox database added to the server as part of setup.</p>
<p>The default location for the database is in the \Mailbox folder of the Exchange 2010 installation directory. For example:</p>
<blockquote><p>C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database</p></blockquote>
<p>One of the first actions you will normally take is to move the database and transaction log files to a different folder. You can do this with the <a title="Exchange 2010 FAQ: How Do I Install the Exchange 2010 Management Tools?" href="http://exchangeserverpro.com/exchange-2010-install-management-tools">Exchange Management Console</a> or via command line using the Exchange Management Shell. This is a quick and easy task when the database is brand new and doesn&#8217;t contain a lot of mailboxes or data.</p>
<h2>Moving an Exchange 2010 Mailbox Database with the Exchange Management Console</h2>
<p>Launch the Exchange Management Console and navigate to <strong>Organization Configuration/Mailbox</strong>. In the <strong>Database Management</strong> tab, right-click the mailbox database that you want to move, and choose <strong>Move Database Path</strong>.</p>
<p><img class="aligncenter size-full wp-image-3650" title="exchange-2010-move-mailbox-database-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/06/exchange-2010-move-mailbox-database-01.jpg" alt="" width="513" height="329" /></p>
<p>Enter the new paths for the database and log files, and then click <strong>Move</strong>.</p>
<p><img class="aligncenter size-full wp-image-3651" title="exchange-2010-move-mailbox-database-02" src="http://exchangeserverpro.com/wp-content/uploads/2011/06/exchange-2010-move-mailbox-database-02.jpg" alt="" width="599" height="301" /></p>
<p>The database will be dismounted before it can be moved, which you will need to accept first.</p>
<p><img class="aligncenter size-full wp-image-3652" title="exchange-2010-move-mailbox-database-03" src="http://exchangeserverpro.com/wp-content/uploads/2011/06/exchange-2010-move-mailbox-database-03.jpg" alt="" width="480" height="111" /></p>
<p>The move will take some time depending on the size of the database and transaction log files being moved.</p>
<h2>Moving an Exchange 2010 Mailbox Database with the Exchange Management Shell</h2>
<p>To achieve the same mailbox database move as above but using the Exchange Management Shell you would run the following command:</p>
<pre>Move-DatabasePath -Identity 'MB-HO-03' -EdbFilePath 'E:\Data\MB-HO-03\MB-HO-03.edb' -LogFolderPath 'D:\Data\MB-HO-03'</pre>
<p>As with the graphical wizard you will need to confirm the request before the database is dismounted and moved.</p>
<pre>Confirm
Are you sure you want to perform this action?
Moving database path "MB-HO-03".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):</pre>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-mailbox-database-backup-time" title="PowerShell Script: Check Exchange Mailbox Database Last Backup Time">PowerShell Script: Check Exchange Mailbox Database Last Backup Time</a></li><li><a href="http://exchangeserverpro.com/modify-settings-multiple-exchange-2010-mailboxes" title="How to Modify Settings for Multiple Exchange 2010 Mailboxes">How to Modify Settings for Multiple Exchange 2010 Mailboxes</a></li><li><a href="http://exchangeserverpro.com/clone-mailbox-database-configuration" title="Exchange 2007/2010: How to Clone a Mailbox Database Configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a></li><li><a href="http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes" title="Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes">Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes</a></li><li><a href="http://exchangeserverpro.com/move-exchange-2007-storage-group-database-paths" title="How to Move Storage Group and Database File Paths in Exchange Server 2007">How to Move Storage Group and Database File Paths in Exchange Server 2007</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/move-exchange-2010-database-folder">How to Move an Exchange 2010 Database to a Different Folder</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/move-exchange-2010-database-folder/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes</title>
		<link>http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes</link>
		<comments>http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes#comments</comments>
		<pubDate>Wed, 15 Jun 2011 11:33:13 +0000</pubDate>
		<dc:creator>Paul Cunningham</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange Management Console]]></category>
		<category><![CDATA[Mailbox Server]]></category>

		<guid isPermaLink="false">http://exchangeserverpro.com/?p=3634</guid>
		<description><![CDATA[When an Exchange 2007 or 2010 user mailbox has not been removed correctly it may not appear in the disconnected mailbox list.]]></description>
			<content:encoded><![CDATA[<p>An <a href="http://exchangeserverpro.com">Exchange Server 2007</a> or 2010 user mailbox that has been deleted may not appear in the disconnected mailbox list for the server on which it was previously held.</p>
<p><img class="aligncenter size-full wp-image-3635" title="exchange-2007-disconnected-mailbox-01" src="http://exchangeserverpro.com/wp-content/uploads/2011/06/exchange-2007-disconnected-mailbox-01.jpg" alt="" width="580" height="179" /></p>
<p>This can happen when the mailbox has not been <a href="http://exchangeserverpro.com/exchange-2010-difference-between-remove-and-disable-mailbox">deleted using the Disable or Remove commands</a> in the <a title="Exchange 2010 FAQ: How Do I Install the Exchange 2010 Management Tools?" href="http://exchangeserverpro.com/exchange-2010-install-management-tools">Exchange Management Console</a>. For example, if a mailbox was deleted using the Exchange 2003 management tools then it will not appear in disconnected mailboxes.</p>
<div id="attachment_3636" class="wp-caption aligncenter" style="width: 514px"><img class="size-full wp-image-3636" title="exchange-2003-delete-mailbox" src="http://exchangeserverpro.com/wp-content/uploads/2011/06/exchange-2003-delete-mailbox.jpg" alt="" width="504" height="388" /><p class="wp-caption-text">Deleting Exchange 2007/2010 mailboxes with Exchange 2003 tools - please don&#39;t!</p></div>
<p>When mailboxes are deleted incorrectly the Exchange 2007/2010 <a title="Installing an Exchange 2007 Mailbox Server on Windows Server 2008" href="http://exchangeserverpro.com/installing-exchange-2007-mailbox-server-windows-server-2008">mailbox server</a> doesn&#8217;t process them correctly, and as a result they do not end up in the disconnected mailbox list.</p>
<p>However you can fix this problem with the <a href="http://technet.microsoft.com/en-us/library/bb124076.aspx">Clean-MailboxDatabase</a> command. Simply launch the Exchange Management Shell and run the command against the database that the user&#8217;s mailbox was on.</p>
<pre>Clean-MailboxDatabase "EX2010MB\First Storage Group\Mailbox Database"</pre>
<p>Refresh the disconnected mailboxes view for that mailbox server. The mailbox should now appear correctly and can be <a href="http://exchangeserverpro.com/reconnect-disconnected-mailbox-exchange-server-2010">reconnected</a> if necessary.</p>
<h3  class="related_post_title">Related posts:</h3><ul class="related_post"><li><a href="http://exchangeserverpro.com/exchange-2010-online-mailbox-moves" title="Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007">Exchange 2010 FAQ: How to Minimise Downtime During Mailbox Migration from Exchange 2007</a></li><li><a href="http://exchangeserverpro.com/clone-mailbox-database-configuration" title="Exchange 2007/2010: How to Clone a Mailbox Database Configuration">Exchange 2007/2010: How to Clone a Mailbox Database Configuration</a></li><li><a href="http://exchangeserverpro.com/move-exchange-2010-database-folder" title="How to Move an Exchange 2010 Database to a Different Folder">How to Move an Exchange 2010 Database to a Different Folder</a></li><li><a href="http://exchangeserverpro.com/powershell-script-check-exchange-mailbox-database-backup-time" title="PowerShell Script: Check Exchange Mailbox Database Last Backup Time">PowerShell Script: Check Exchange Mailbox Database Last Backup Time</a></li><li><a href="http://exchangeserverpro.com/powershell-script-create-mailbox-size-report-exchange-server-2010" title="Get-MailboxReport.ps1 &#8211; PowerShell Script to Generate Mailbox Reports">Get-MailboxReport.ps1 &#8211; PowerShell Script to Generate Mailbox Reports</a></li></ul><hr />
<p>This article <a href="http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes">Exchange 2007/2010 Deleted Mailbox Not Appearing in Disconnected Mailboxes</a> is © 2011 ExchangeServerPro.com</p>
<p>Get more <a href="http://exchangeserverpro.com">Exchange Server tips</a> at <a href="http://exchangeserverpro.com">ExchangeServerPro.com</a></p>]]></content:encoded>
			<wfw:commentRss>http://exchangeserverpro.com/exchange-2007-2010-deleted-mailbox-appearing-disconnected-mailboxes/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

