<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Messaging and beyond!</title><subtitle type="html">Tales of an MS Exchange PFE</subtitle><id>http://blogs.technet.com/b/messaging_and_beyond/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/messaging_and_beyond/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2012-02-20T10:12:12Z</updated><entry><title>Create a virtual machine and adding a VHD file using powershell</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2013/02/07/create-a-virtual-machine-and-adding-a-vhd-file-using-powershell.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2013/02/07/create-a-virtual-machine-and-adding-a-vhd-file-using-powershell.aspx</id><published>2013-02-07T08:42:20Z</published><updated>2013-02-07T08:42:20Z</updated><content type="html">&lt;h4&gt;Or: How you can use&amp;nbsp;Powershell to create virtual machines!&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;With a few keystroke you can create a virtual machine and attach an existing VHD(X) file to it! I usually look for the fastest and easiest way to get things done. Always manually rebuilding my lab was tiresome and demotivating so I started to look at different possible solutions. The first&amp;nbsp;possible solution&amp;nbsp;for me was experimenting with the &lt;a title="Microsoft Deployment Toolkit" href="http://technet.microsoft.com/library/ee376932.aspx" target="_parent"&gt;Microsoft Deployment Toolkit&lt;/a&gt;, which was brilliant! But it still took to long to install a VM and still too much effort (I'm lazy :))! So the second step for me was to create a number of VHDX files and use those to deploy the virtual machines resulting in the code in the script below.&lt;/p&gt;
&lt;p&gt;The script uses powershell to ask you what kind of OS you want to deploy, creates a directory, the virtual machine and attaches the VHDX which is sitting pretty having received a sysprep after installation (and updates :)). To use the code below you will have to have your execution policy set to unrestricted (set-executionpolicy unrestricted) and preferably change the variables to point at your VHD(X) files.&lt;/p&gt;
&lt;p&gt;More scripts can be found at the &lt;a title="Script library" href="http://gallery.technet.microsoft.com/scriptcenter" target="_parent"&gt;script library&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #e7e7e7;"&gt;Code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Run-As&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;# Use Check Switch to check if admin&lt;/p&gt;
&lt;p&gt;param([Switch]$Check)&lt;/p&gt;
&lt;p&gt;$IsAdmin = ([Security.Principal.WindowsPrincipal] &lt;br /&gt;[Security.Principal.WindowsIdentity]::GetCurrent()`&lt;/p&gt;
&lt;p&gt;).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")&lt;/p&gt;
&lt;p&gt;if ($Check) { return $IsAdmin }&lt;/p&gt;
&lt;p&gt;if ($MyInvocation.ScriptName -ne "")&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;if (-not $IsAdmin)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;try&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;$arg = "-file `"$($MyInvocation.ScriptName)`""&lt;/p&gt;
&lt;p&gt;Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList $arg &lt;br /&gt;-ErrorAction 'stop'&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;catch&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;Write-Warning "Error - Failed to restart script with runas"&lt;/p&gt;
&lt;p&gt;break&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;exit # Quit this session of powershell&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;Write-Warning "Error - Script must be saved as a .ps1 file first"&lt;/p&gt;
&lt;p&gt;break&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;write-host "Script Running As Administrator" -foregroundcolor red&lt;/p&gt;
&lt;p&gt;Write-host ""&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Defining Variables. Change these patch to your own!&lt;/p&gt;
&lt;p&gt;$2008R2STD = "D:\Base VHD\2k8R2std.vhdx"&lt;/p&gt;
&lt;p&gt;$2008R2ENT = "D:\Base VHD\2k8R2ent.vhdx"&lt;/p&gt;
&lt;p&gt;$2008R2DC = "D:\Base VHD\2k8r2dc.vhdx"&lt;/p&gt;
&lt;p&gt;$2012STD = "D:\Base VHD\2012std.vhdx"&lt;/p&gt;
&lt;p&gt;$2012ENT = "D:\Base VHD\2012ent.vhdx"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Launching run-as function&lt;/p&gt;
&lt;p&gt;Run-as&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Cleaning screen&lt;/p&gt;
&lt;p&gt;cls&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# Offer choice in which OS to deploy&lt;/p&gt;
&lt;p&gt;Do {&lt;/p&gt;
&lt;p&gt;Write-host&lt;/p&gt;
&lt;p&gt;Write-host "Wich operating system would you like to deploy?" -foregroundcolor &lt;br /&gt;Green&lt;/p&gt;
&lt;p&gt;Write-host "1. 2008 R2 Standard" -foregroundcolor Yellow&lt;/p&gt;
&lt;p&gt;Write-host "2. 2008 R2 Enterprise" -foregroundcolor Yellow&lt;/p&gt;
&lt;p&gt;Write-host "3. 2008 R2 Datacenter" -foregroundcolor Yellow&lt;/p&gt;
&lt;p&gt;Write-host "4. 2012 Standard" -foregroundcolor Yellow&lt;/p&gt;
&lt;p&gt;Write-host "5. 2012 Enterprise" -foregroundcolor Yellow&lt;/p&gt;
&lt;p&gt;$deploy = Read-host "Please select an operating system"&lt;/p&gt;
&lt;p&gt;if ($deploy -eq "") {write-host "error:Please select and operating system" &lt;br /&gt;-foregroundcolor Red}; if ($deploy -eq $NULL) {write-host "error: Please select &lt;br /&gt;an operating system" -foregroundcolor Red}&lt;/p&gt;
&lt;p&gt;write-host&lt;/p&gt;
&lt;p&gt;} while ($deploy -eq "" -or $deploy -eq $NULL)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#What should the VM be called&lt;/p&gt;
&lt;p&gt;$Name = Read-Host "Enter the Virtual Machine name (Press [Enter] to choose &lt;br /&gt;Srv01)"&lt;/p&gt;
&lt;p&gt;if ($Name -eq ""){$Name="Srv01"} ; if ($Name -eq $NULL){$Name="Srv01"}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#how much memory needs to be assigned (static only at this point)&lt;/p&gt;
&lt;p&gt;$Memory = Read-Host "Enter the size of the Virtual Machine Memory (Press &lt;br /&gt;[Enter] to choose 2048MB)"&lt;/p&gt;
&lt;p&gt;if ($Memory -eq ""){$Memory=2048MB} ; if ($Memory -eq $NULL){$Memory=2048MB}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Where should the VM be stored&lt;/p&gt;
&lt;p&gt;$Location = Read-Host "Enter the location of the Virtual Machine file (Press &lt;br /&gt;[Enter] to choose D:\Virtual Machines)"&lt;/p&gt;
&lt;p&gt;if ($Location -eq ""){$Location="D:\Virtual Machines"} ; if ($Location -eq &lt;br /&gt;$NULL){$Location="D:\Virtual Machines"}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Listing Networks on the host&lt;/p&gt;
&lt;p&gt;Write-host&lt;/p&gt;
&lt;p&gt;get-vmswitch |select Name, SwitchType&lt;/p&gt;
&lt;p&gt;write-host&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Which network should be used&lt;/p&gt;
&lt;p&gt;$Network = Read-Host "Enter the name of the Virtual Machine Network (Press &lt;br /&gt;[Enter] to choose External)"&lt;/p&gt;
&lt;p&gt;if ($Network -eq ""){$Network="External"} ; if ($Network -eq &lt;br /&gt;$NULL){$Network="External"}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#VM creation starts here&lt;/p&gt;
&lt;p&gt;new-vm $Name -path $Location&lt;/p&gt;
&lt;p&gt;Switch ($deploy)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;1 {Copy-Item $2008R2STD $Location\$Name ; add-vmharddiskdrive -vmname $Name &lt;br /&gt;-path $Location\$NaAme\2K8R2std.vhdx}&lt;/p&gt;
&lt;p&gt;2 {Copy-Item $2008R2ENT $Location\$Name ; add-vmharddiskdrive -vmname $Name &lt;br /&gt;-path $Location\$Name\2K8R2ent.vhdx}&lt;/p&gt;
&lt;p&gt;3 {Copy-Item $2008R2DC $Location\$Name ; add-vmharddiskdrive -vmname $Name &lt;br /&gt;-path $Location\$Name\2K8R2dc.vhdx}&lt;/p&gt;
&lt;p&gt;4 {Copy-Item $2012STD $Location\$Name ; add-vmharddiskdrive -vmname $Name &lt;br /&gt;-path $Location\$Name\2012STD.vhdx}&lt;/p&gt;
&lt;p&gt;5 {Copy-Item $2012ENT $Location\$Name ; add-vmharddiskdrive -vmname $Name &lt;br /&gt;-path $Location\$Name\2012ENT.vhdx}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;get-vm $Name | add-vmdvddrive -controllernumber 1&lt;/p&gt;
&lt;p&gt;get-vm $Name | set-vmmemory -startupbytes $Memory&lt;/p&gt;
&lt;p&gt;get-vm $Name | add-vmnetworkadapter -switchname $Network&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# Start the VM.&lt;/p&gt;
&lt;p&gt;start-vm $Name&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;cls&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Success message.&lt;/p&gt;
&lt;p&gt;Switch ($deploy)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;1 {Write-host "Windows 2008 R2 Standard Deployed!" -foregroundcolor Green}&lt;/p&gt;
&lt;p&gt;2 {Write-host "Windows 2008 R2 Enterprise Deployed!" -foregroundcolor Green}&lt;/p&gt;
&lt;p&gt;3 {Write-host "Windows 2008 R2 Datacenter Deployed!" -foregroundcolor Green}&lt;/p&gt;
&lt;p&gt;4 {Write-host "Windows 2012 Standard Deployed!" -foregroundcolor Green}&lt;/p&gt;
&lt;p&gt;5 {Write-host "Windows 2012 Enterprise Deployed!" -foregroundcolor Green}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Also published on:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/marcde"&gt;http://geekswithblogs.net/marcde&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/ieitpro/"&gt;http://blogs.technet.com/b/ieitpro/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3550996" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Powershell" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Powershell/" /><category term="scripting" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/scripting/" /><category term="script" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/script/" /><category term="how to" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/how+to/" /><category term="Hyper-V" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Hyper_2D00_V/" /><category term="vhd" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/vhd/" /></entry><entry><title>Launch: Windows server 2012!</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/09/04/launch-windows-server-2012.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/09/04/launch-windows-server-2012.aspx</id><published>2012-09-04T15:17:32Z</published><updated>2012-09-04T15:17:32Z</updated><content type="html">&lt;p&gt;So after much waiting and anticipating, server 2012 has been launched! Wooooooohhhhh!!!! Now get on to the real interesting bits, exchange 2013 :p!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windows-server-launch.com/"&gt;http://www.windows-server-launch.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3517926" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="launch" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/launch/" /><category term="server" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/server/" /><category term="2012" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/2012/" /><category term="windows" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/windows/" /></entry><entry><title>Exchange: DAGs and reseeding</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-dags-and-reseeding.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-dags-and-reseeding.aspx</id><published>2012-05-10T15:32:50Z</published><updated>2012-05-10T15:32:50Z</updated><content type="html">&lt;p&gt;*repost from my old blog: &lt;a title="http://geekswithblogs.net/marcde/archive/2011/11/03/dags-and-reseeding.aspx" href="http://geekswithblogs.net/marcde/archive/2011/11/03/dags-and-reseeding.aspx"&gt;http://geekswithblogs.net/marcde/archive/2011/11/03/dags-and-reseeding.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I worked on a case today which had 2 &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2010 servers in a DAG with about 6 mailboxes, all in healthy status. All but one that is. This DataBaseCopy just would not come back into sync and was stuck in the eternal Resynchronizing loop &lt;strong&gt;from hell&lt;/strong&gt;. So our client cried for help.&lt;/p&gt;  &lt;p&gt;First thing you would want to do is to get a status of the database by running get-mailboxdatabasecopystatus -id &amp;quot;databasename\servername&amp;quot; | fl. This should return you something in this format:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb     &lt;br /&gt;Identity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Databasename\servername      &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Databasename\servername      &lt;br /&gt;DatabaseName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : DatabaseName      &lt;br /&gt;Status&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Mounted      &lt;br /&gt;MailboxServer&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Servername      &lt;br /&gt;ActiveDatabaseCopy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : servername      &lt;br /&gt;ActivationSuspended&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False      &lt;br /&gt;ActionInitiator&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Unknown      &lt;br /&gt;ErrorMessage&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;ErrorEventId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;ExtendedErrorInfo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SuspendComment&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SinglePageRestore&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;ContentIndexState&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Healthy      &lt;br /&gt;ContentIndexErrorMessage&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;CopyQueueLength&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;ReplayQueueLength&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LatestAvailableLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastCopyNotificationedLogTime&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastCopiedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastInspectedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastReplayedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastLogGenerated&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogCopyNotified&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogCopied&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogInspected&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogReplayed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LogsReplayedSinceInstanceStart&amp;#160;&amp;#160; : 0      &lt;br /&gt;LogsCopiedSinceInstanceStart&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LatestFullBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestIncrementalBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestDifferentialBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestCopyBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotLatestFullBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotLatestIncrementalBackup&amp;#160; :       &lt;br /&gt;SnapshotLatestDifferentialBackup :       &lt;br /&gt;SnapshotLatestCopyBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LogReplayQueueIncreasing&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False      &lt;br /&gt;LogCopyQueueIncreasing&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False      &lt;br /&gt;OutstandingDumpsterRequests&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {}      &lt;br /&gt;OutgoingConnections&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;IncomingLogCopyingNetwork&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SeedingNetwork&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;ActiveCopy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : True&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb     &lt;br /&gt;Identity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : MailboxName\servername      &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : MailboxName\servername      &lt;br /&gt;DatabaseName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Mailboxdatabasename      &lt;br /&gt;Status&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : FailedAndSuspended      &lt;br /&gt;MailboxServer&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Servernamethatfailed      &lt;br /&gt;ActiveDatabaseCopy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : servername      &lt;br /&gt;ActivationSuspended&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : True      &lt;br /&gt;ActionInitiator&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Service      &lt;br /&gt;ErrorMessage&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : The required log file 2103 for MailboxName\servername is missing on the active copy. If      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; you removed the log file, please replace it. If the log file is lost, the database       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; copy will need to be reseeded using Update-MailboxDatabaseCopy.      &lt;br /&gt;ErrorEventId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 2059      &lt;br /&gt;ExtendedErrorInfo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SuspendComment&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : The database copy was automatically suspended due to failure item processing. At '03      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /11/2011 16:23:14' the copy of 'mailboxdatabase' on this server experienced an error t      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; hat requires it be reseeded. For more detail about this failure, consult the Event l      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; og on the server for other storage and &amp;quot;ExchangeStoreDb&amp;quot; events. The passive databas      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; e copy has been suspended.      &lt;br /&gt;SinglePageRestore&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;ContentIndexState&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Failed      &lt;br /&gt;ContentIndexErrorMessage&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Catalog is dismounted externally for database {0b5d6c24-09dc-4648-958c-eb61b2bd778a}      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .      &lt;br /&gt;CopyQueueLength&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 3753      &lt;br /&gt;ReplayQueueLength&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LatestAvailableLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 03/11/2011 16:22:17      &lt;br /&gt;LastCopyNotificationedLogTime&amp;#160;&amp;#160;&amp;#160; : 03/11/2011 16:22:17      &lt;br /&gt;LastCopiedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastInspectedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastReplayedLogTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LastLogGenerated&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 3753      &lt;br /&gt;LastLogCopyNotified&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 3746      &lt;br /&gt;LastLogCopied&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogInspected&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LastLogReplayed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 3695      &lt;br /&gt;LogsReplayedSinceInstanceStart&amp;#160;&amp;#160; : 0      &lt;br /&gt;LogsCopiedSinceInstanceStart&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0      &lt;br /&gt;LatestFullBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestIncrementalBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestDifferentialBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LatestCopyBackupTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotLatestFullBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SnapshotLatestIncrementalBackup&amp;#160; :       &lt;br /&gt;SnapshotLatestDifferentialBackup :       &lt;br /&gt;SnapshotLatestCopyBackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;LogReplayQueueIncreasing&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False      &lt;br /&gt;LogCopyQueueIncreasing&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False      &lt;br /&gt;OutstandingDumpsterRequests&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {}      &lt;br /&gt;OutgoingConnections&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;IncomingLogCopyingNetwork&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;SeedingNetwork&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;ActiveCopy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Now generally speaking you would do a suspend-mailboxdatabasecopy -id &amp;quot;mailboxdatabase\servername&amp;quot; followed by an update-mailboxdatabasecopy -id &amp;quot; &amp;quot; -DeleteExistingFiles which would update the passive copy and resume the Storage Group COpy. Yet once in a while you'll run in to a case where this won't work as the gap is to large for &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; to cover. In that case you'll have to perform the highly regarded &lt;strong&gt;&amp;quot;manual reseeding procedure&amp;quot;&lt;/strong&gt;! This is somewhat disruptive for your users and risky unless you keep your head in the game.&lt;/p&gt;  &lt;p&gt;These would be the steps you follow:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Suspend the database copy&lt;/li&gt;    &lt;li&gt;Go to the passive node and remove all the database and log files (fun yet?)&lt;/li&gt;    &lt;li&gt;Dismount the database from &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Go to the log files folder on the active node and move them all to a different folder&lt;/li&gt;    &lt;li&gt;Now copy the EDB file from the active node to the passive node&lt;/li&gt;    &lt;li&gt;Mount the database once this is completed&lt;/li&gt;    &lt;li&gt;Resume the storage group copy&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Drink cocktails on the beach as &lt;/em&gt;&lt;em&gt;your sync is healthy (not required but highly recommended)&lt;/em&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;All in all this should get your copy back in order. Not exactly the way you'd want to (aka without down time) but it get's the job done.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497234" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange/" /><category term="DAG" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/DAG/" /><category term="2010" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/2010/" /><category term="reseeding" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/reseeding/" /></entry><entry><title>Exchange: Recovery Storage Group</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-recovery-storage-group.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-recovery-storage-group.aspx</id><published>2012-05-10T15:28:34Z</published><updated>2012-05-10T15:28:34Z</updated><content type="html">&lt;p&gt;As you might, or not, be aware off there is no item level based recovery in &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; that is natively supported by Microsoft. So to perform recoveries we need the recovery storage group (captain obvious). The purpose of this is to mount the database you want to recover from on the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; server and use exmerge to merge the data you are recovering into the active database. An RSG will not be accessible to users and you can only create one at a time. &lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003:&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. Open &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; system manager     &lt;br /&gt;2. Drill down to the server you want to recover to     &lt;br /&gt;3. Right click the server and select New &amp;gt; Recovery storage group     &lt;br /&gt;4. Specify the drive you have restored the database to. If possible use the same drive as the active database as this will improve performance quite a bit.     &lt;br /&gt;5. Click ok J     &lt;br /&gt;6. Right click the RSG and select “Add database to recover”     &lt;br /&gt;7. Select the right database you are going to recover.     &lt;br /&gt;8. Make sure that “This database can be overwritten by a restore” is checked (by default is should be)     &lt;br /&gt;9. Mount the database     &lt;br /&gt;10. Select the database in the recovery storage group, open the mailboxes container .     &lt;br /&gt;11. Select and right click the user(s) you want to restore.     &lt;br /&gt;12. Run &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; task from the menu     &lt;br /&gt;13. Select the “recover mailbox data” task     &lt;br /&gt;14. Depending on your situation select either the Merge data or Copy data context     &lt;br /&gt;15. Schedule if necessary     &lt;br /&gt;16. Watch as your data is getting recovered. &lt;/p&gt;  &lt;p&gt;Once this process is complete all data will be where it is supposed to be once more! &lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2007:&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. Open up the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; management console     &lt;br /&gt;2. Go to the tools subset and open the Database Recovery Management tool     &lt;br /&gt;3. Select the storage group you want to link to the RSG     &lt;br /&gt;4. Double check the information presented in the next screen and click the Create the recovery storage group.     &lt;br /&gt;5. By default the RSG will be linked to the following folder: C:\program files\microsoft\exchange server\mailbox\&amp;lt;storage group&amp;gt;\RSGxxxxxxxxxx     &lt;br /&gt;6. Recover files to the RSG folder     &lt;br /&gt;7. Once recovered g o to the recovery storage group management tool and slect to mount the database.     &lt;br /&gt;8. Once mounted, go back to the task center and select Merge or copy mailbox contents     &lt;br /&gt;9. Make sure the proper database is selected and click on the gather merge information.     &lt;br /&gt;10. If you are dealing with a dial tone database click the “Swap database configurations” checkmark. If not, just click next     &lt;br /&gt;11. Click the Perform Pre-merge task     &lt;br /&gt;12. Select the mailboxes you wish to recover and let ExTRA do its thing.     &lt;br /&gt;13. Once the process is completed use ExTRA to dismount and remove the recovery storage group. Once that has been done you manually can remove the files in the RSGxxxxxxxx folder. &lt;/p&gt;  &lt;p&gt;And that is it! &lt;/p&gt;  &lt;p&gt;&lt;i&gt;Exchange 2010:&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. Open the exchange management shell&lt;/p&gt;  &lt;p&gt;2. Type in the following:&lt;/p&gt;  &lt;p&gt;a. New-mailboxdatabase “name” –server “servername” –recovery:$true –edbfilepath “path to restored edb file”&lt;/p&gt;  &lt;p&gt;b. Mount-database “name of DB you just created”&lt;/p&gt;  &lt;p&gt;c. Get-mailboxstatistics –database “name of restored database”&lt;/p&gt;  &lt;p&gt;d. New-mailboxrestorerequest –sourcedatabase “name of recovery database” –sourcestoremailbox “Username” –targetmailbox “emailaddress of target mailbox”&lt;/p&gt;  &lt;p&gt;That will create a new recovery request. You can view the state of the request by using:&lt;/p&gt;  &lt;p&gt;Get- MailboxRestoreRequest&lt;/p&gt;  &lt;p&gt;Once completed, remove the request with&lt;/p&gt;  &lt;p&gt;Get- MailboxRestoreRequest –status completed &lt;a name="_GoBack"&gt;&lt;/a&gt;| remove-MailboxRestoreRequest&lt;/p&gt;  &lt;p&gt;And that is it! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497230" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange/" /><category term="RSG" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/RSG/" /><category term="recovery storage group" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/recovery+storage+group/" /></entry><entry><title>Cleaning up whitespace in exchange</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/cleaning-up-whitespace-in-exchange.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/cleaning-up-whitespace-in-exchange.aspx</id><published>2012-05-10T15:27:30Z</published><updated>2012-05-10T15:27:30Z</updated><content type="html">&lt;h6&gt;During the lifespan of an &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; server a database can become very, very large in the size it takes on the disk, much larger than the space used by the mailboxes that reside in the database. This is because whilst mailbox sizes will expand and shrink according to their data usage, the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; database only expands. Any space freed up by deletes in mailboxes or even the removal of a mailbox all together become whitespace in the database file. In the worst case you could have 40 GB of mailboxes yet a database that is consuming over 100 GB! &lt;/h6&gt;  &lt;p&gt;Unfortunately in &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003 the only way to shrink that database is by performing an offline defrag, bringing your mail users offline for the time it takes to perform the operation. An alternative is to create a second mailbox database and move all the mailboxes to this database allowing you, once completed, to delete the original database file.     &lt;br /&gt;Whilst this is a viable option for enterprise editions the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003 standard edition is limited to 1 mailbox database. Not very handy… &lt;/p&gt;  &lt;p&gt;A work around for this is to use a dial tone recovery database to allow your users to keep receiving and sending email while you perform an offline defrag. Downside of this is that any user who is in online mode will not have access to their older emails.    &lt;br /&gt;A dialtone database is, in essence, a temporary database you can use when the original edb file is corrupted and you do not want to have your users go offline during your attempts to save the original edb file. Using this method does bring in a bit of administrative overhead as you need to perform a recovery storage group merge later on, the need to go ahead with this operation relies solely on the situation… &lt;/p&gt;  &lt;p&gt;In &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2007 and 2010 a powershell commandlet has been introduced allowing one to clean up this whitespace whilst the database is still online. It runs against one or all databases at a time and might take some time to complete. &lt;/p&gt;  &lt;p&gt;To run it against one database: &lt;/p&gt;  &lt;pre&gt;Clean-mailboxdatabase –identity “Database name” &lt;/pre&gt;

&lt;p&gt;To run it against all databases: &lt;/p&gt;

&lt;pre&gt;Get-mailboxdatabase | clean-mailboxdatabase&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497228" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange/" /><category term="whitespace" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/whitespace/" /><category term="database" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/database/" /><category term="cleanup" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/cleanup/" /><category term="shrink" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/shrink/" /></entry><entry><title>Exchange troubleshooting</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-troubleshooting.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/exchange-troubleshooting.aspx</id><published>2012-05-10T10:58:07Z</published><updated>2012-05-10T10:58:07Z</updated><content type="html">&lt;p&gt;&lt;em&gt;*Repost from &lt;/em&gt;&lt;a href="http://geekswithblogs.net/marcde"&gt;&lt;em&gt;http://geekswithblogs.net/marcde&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; is a complex and large product which can have one thousand and one possible issues, one more obscure as the next. The purpose of this guide is to shed some light, where possible, to how things work in &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; (and outlook), how they can break and how you should approach the issue at hand. Unfortunately it is very time consuming to create a complete troubleshooting guide where every dependency is explained in detail. But that is not the aim of this document anyways. &lt;/p&gt;  &lt;p&gt;What is the aim? Give you, the engineer, a way to solve the most common of scenarios and information on how that piece of technology actually works. Note that there are a significant number of differences between the different versions of &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt;, which could give you a different solution for each problem. &lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc315772896"&gt;Where to start?&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;In troubleshooting we need as much information as we can get. Not only do we need product knowledge but we also need to know what the problem is! Who, what, where and when would be the main pillars of that knowledge and the following items will allow you to question the client and narrow down the problem… &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772897"&gt;Getting information from the user&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;A number of questions (and follow ups) can be asked when contacting the user that will help you determine the scope, depth and impact of the issue. The following questions should give you an insight in to what is going on and help you determine where to look. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772898"&gt;Who has the issue?&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Maybe the most pinnacle of questions for troubleshooting an issue! With this you can add depth to the impact of the issue (CEO vs. cleaning lady) and if it is limited to only a number of users you know that similarities must exist, on some level, to have the issue occurring to a defined number of users. On the other hand, if everybody is having the issue, you can determine if the issue is occurring on the client or on the server level. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772899"&gt;What is the impact?&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Determining the impact will help you prioritizing. It should also give you a level of understanding in what kind of solutions you can apply. If everyone is down, well, there is no real issue with going for disruptive actions as no one can currently access the system anyway… &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772900"&gt;When did the issue first occur?&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;You would be surprised in how much this can help you track down the source of the issue. Did it start today, yesterday or last week? Maybe even years ago (yes there are users that will wait years before reporting an issue and expect you to solve it in minutes &amp;gt;_&amp;lt;). &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772901"&gt;Did this ever work for you/the user?&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Apply common sense when asking this question. Some people will get offended but it can be &lt;b&gt;very&lt;/b&gt; helpful in finding out if something broke or there is a setting wrong… &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772902"&gt;What error (code) is returned?&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;No problem without an error, that much is simple. Something not working, an outlook error code returned when connecting or something showing up in the event log. Each and every one of these will help you out in solving the issue faster and better. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772903"&gt;Tools&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;With all the information you have obtained from the user you should be getting an idea on what is going on and what the impact of the issue is. If you know the solution to it, you can skip this section, on the other hand, if you need more information you can use the following tools to narrow down specific items and get more information on them. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772904"&gt;Eventviewer&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Maybe the single most useful tool in helping you solve a problem! &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; errors will be logged in the application log most of the time and rarely one or two in the system log. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772905"&gt;Exchange best practice analyser&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;ExBPA is a neat little tool built in to the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; Management Console allowing you to run some reports and get information on configuration errors in &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt;. Note that it can create performance baselines as well as check if the environment is ready for &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt;. If you are running &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003 you will have to download exBPA (&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=dbab201f-4bee-4943-ac22-e2ddbd258df3"&gt;here&lt;/a&gt;) as it is only present in 2007 and 2010. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772906"&gt;Exchange troubleshooting assistant&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Also known as ExTRA and just like the ExBPA it is built in by default in to the EMC. It contains a number of common troubleshooting paths and can be very useful to collect data automatically instead of having to scour through different manual paths. The version for &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003 is available &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=25213"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772907"&gt;Telnet&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Yes, this little client can be helpful although it is limited in to testing mailflow. Remember that on windows 2008 and up you will have to install the client before you can be able to use it. Don’t worry though. No reboot is required J. Commands to test mail flow: &lt;/p&gt;  &lt;p&gt;&lt;i&gt;EHLO toasterlabs.com      &lt;br /&gt;mail from: marc.dekeyser@toasterlabs.com       &lt;br /&gt;rcpt to: administrator@toasterlabs.com       &lt;br /&gt;data&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Blablablabla      &lt;br /&gt;.       &lt;br /&gt;quit&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;You can get more information on this from the following URL:    &lt;br /&gt;&lt;a href="http://www.samlogic.net/articles/smtp-commands-reference.htm"&gt;http://www.samlogic.net/articles/smtp-commands-reference.htm&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772908"&gt;Increasing event log levels&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;Increasing the event log levels is a great way to get more information on what is going on logged in the event viewer (as well as to get your event logs flooded). Slightly different to use in &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003 and 2007/2010 but the result remains the same. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2003: &lt;/b&gt;Right click the server object in the &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; system manager console and go to the “diagnostic logging” tab. Increase the logging to the highest level for the entries related to the issue you are troubleshooting. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2007/2010: &lt;/b&gt;I prefer the powershell route to increase the logging in these versions of &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt;. You can get the current eventloglevel by using the following command: &lt;/p&gt;  &lt;p&gt;Get-eventlogloglevel &lt;/p&gt;  &lt;p&gt;From this you can mark and copy the desired item you want to increase logging on by using the following command: &lt;/p&gt;  &lt;p&gt;Set-eventloglevel –identity “MSEXCHANGESA\OAL GENERATOR” –Level High &lt;/p&gt;  &lt;p&gt;Note that you can also pipe these commands if you want to increase everything in a certain set. &lt;/p&gt;  &lt;p&gt;Get-eventloglevel MSEXCHANGSA\* | set-eventloglevel –level high &lt;/p&gt;  &lt;p&gt;You can find more information about the commands used and the different levels at the following technet link:    &lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd335139.aspx"&gt;http://technet.microsoft.com/en-us/library/dd335139.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772909"&gt;Performance monitor&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;If you are running in to performance issues you can use the OS built in perfmon to see what is causing your slow down. A detailed description of the performance counters are available here:    &lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd335215.aspx"&gt;http://technet.microsoft.com/en-us/library/dd335215.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772910"&gt;Remote Connectivity Analyser&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;This Microsoft website allows you to test autodiscover, RPC over HTTP and activesync connections. Note that you will need a username, password, domain name and email address to test the connections. No information is stored on the Microsoft servers so in theory you are not required to use a test account, yet I still recommend it. &lt;/p&gt;  &lt;p&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;https://www.testexchangeconnectivity.com/&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772911"&gt;Microsoft baseline security analyser&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;More security oriented, the MS BSA allows you to scan for security updates present and missing from &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 5.5 servers and later. Download from &lt;a href="http://technet.microsoft.com/en-us/security/cc184924"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772912"&gt;Public Folder DAV admin&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;As the name of the tool suggests, this tool would be used to administer and troubleshoot public folders. Download from &lt;a href="http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCoQFjAA&amp;amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fen%2Fdetails.aspx%3Fid%3D22427&amp;amp;ei=TtAnT8_UIdG1hAeo9-XEBQ&amp;amp;usg=AFQjCNHS0zMt_LKY0axGK_xeSakyhvB97w"&gt;this location&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;ESEUTIL&lt;/p&gt;  &lt;h6&gt;&lt;/h6&gt;  &lt;p&gt;A great tool for database recoveries! This tool will fix the edb file by either replaying log files in to the database or changing the log file replays required to get out of a dirty shutdown. There are a number of different options to run with this tool but the most important ones would be the following:&lt;/p&gt;  &lt;p&gt;· Check for shutdown state (/mh)&lt;/p&gt;  &lt;p&gt;· Offline defrag (/D)&lt;/p&gt;  &lt;p&gt;· Hard recovery &lt;/p&gt;  &lt;p&gt;· Soft recovery&lt;/p&gt;  &lt;p&gt;You can get more information on this tool right &lt;a href="http://msexchangeguru.com/2009/07/12/exchange-database-recovery-using-eseutil-commands/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h6&gt;ISINTEG&lt;/h6&gt;  &lt;p&gt;This tool should always be used after running an eseutil repair. Whilst eseutil will fix the physical file it is not aware of the table structure used in an edb file. ISINTEG is specifically designed to fix the table structure where possible (and chuck the data if it is FUBAR).&lt;/p&gt;  &lt;p&gt;To run isinteg your information store needs to be running so make sure that is happening. Typically you would run it in the following context&lt;/p&gt;  &lt;p&gt;Isinteg –s servername –tests alltest –fix&lt;/p&gt;  &lt;p&gt;More information is available &lt;a href="http://support.microsoft.com/kb/301460"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h6&gt;&lt;a name="_Toc315772913"&gt;Some other tools&lt;/a&gt;&lt;/h6&gt;  &lt;p&gt;There are even more tools available from Microsoft that are not directly linked to troubleshooting yet still deserve a place in this document as they might come in handy at one point: &lt;/p&gt;  &lt;p&gt;· &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; 2007 Anti-Spam migration &lt;/p&gt;  &lt;p&gt;· &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; server Jetstress &lt;/p&gt;  &lt;p&gt;· &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; server stress and performance &lt;/p&gt;  &lt;p&gt;· &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; load generator &lt;/p&gt;  &lt;p&gt;· &lt;a href="http://geekswithblogs.net/marcde/category/12862.aspx"&gt;Exchange&lt;/a&gt; server profile analyser &lt;/p&gt;  &lt;p&gt;More information on these tools (and their download locations) can be found here:    &lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/exchange/bb330849"&gt;http://technet.microsoft.com/en-us/exchange/bb330849&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Until next time!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497166" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange/" /><category term="how to" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/how+to/" /><category term="troubleshooting" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/troubleshooting/" /></entry><entry><title>Scripting: Adding PST files to an outlook profile automatically</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-adding-pst-files-to-an-outlook-profile-automatically.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-adding-pst-files-to-an-outlook-profile-automatically.aspx</id><published>2012-05-10T10:51:32Z</published><updated>2012-05-10T10:51:32Z</updated><content type="html">&lt;p&gt;This script will allow you to add all PSTs in a txt file (full path).&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;On&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;error&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;resume&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Const&lt;/span&gt; ForReading = 1 &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; arrFileLines() &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; objNetwork,ObjFSO,objFile,objNet,objOutlook&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    i=0&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objnet = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;wscript.network&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFile = objFSO.OpenTextFile(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;c:\users\marcdek\temp\&amp;quot;&lt;/span&gt;&amp;amp; objNet.Username &amp;amp; &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;-PSTOUTPUT.txt&amp;quot;&lt;/span&gt;, ForReading) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objOutlook = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Outlook.Application&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Do&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Until&lt;/span&gt; objFile.AtEndOfStream &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;Redim&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Preserve&lt;/span&gt; arrFileLines(i) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        arrFileLines(i) = objFile.ReadLine &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                i = i + 1 &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Loop&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    objFile.Close&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Each&lt;/span&gt; strPath &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; arrFileLines &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         objOutlook.Session.Addstore strPath&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Next&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;And if you want to add a selection to only add local PST files you use the following:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 500px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;On&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;error&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;resume&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Const&lt;/span&gt; ForReading = 1 &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; arrFileLines() &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; objNetwork,ObjFSO,objFile,objNet,objOutlook&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    i=0&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objnet = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;wscript.network&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFile = objFSO.OpenTextFile(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;c:\users\marcdek\temp\&amp;quot;&lt;/span&gt;&amp;amp; objNet.Username &amp;amp; &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;-PSTOUTPUT.txt&amp;quot;&lt;/span&gt;, ForReading) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objOutlook = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Outlook.Application&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Do&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Until&lt;/span&gt; objFile.AtEndOfStream &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;Redim&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Preserve&lt;/span&gt; arrFileLines(i) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        arrFileLines(i) = objFile.ReadLine &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                i = i + 1 &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Loop&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    objFile.Close&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Each&lt;/span&gt; strPath &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; arrFileLines &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;Select&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;True&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;:\&amp;quot;&lt;/span&gt;) &amp;gt; 0  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                objOutlook.Session.Addstore strPath&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;\\&amp;quot;&lt;/span&gt;) &amp;gt; 0  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Select&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Next&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497164" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Scripting: Remove all PST files in an outlook profile</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-remove-all-pst-files-in-an-outlook-profile.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-remove-all-pst-files-in-an-outlook-profile.aspx</id><published>2012-05-10T10:47:42Z</published><updated>2012-05-10T10:47:42Z</updated><content type="html">&lt;p&gt;Building on, this code will remove the mapping that has been done in outlook for ALL PST files.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;'On Error resume next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; objOutlook &lt;span style="color: rgb(0, 128, 0);"&gt;'As Outlook.Application&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; Session &lt;span style="color: rgb(0, 128, 0);"&gt;'As Outlook.NameSpace&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; Store &lt;span style="color: rgb(0, 128, 0);"&gt;'As Outlook.Store&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; Stores &lt;span style="color: rgb(0, 128, 0);"&gt;'As Outlook.Stores&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; objFolder &lt;span style="color: rgb(0, 128, 0);"&gt;'As Outlook.Folder&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;Set objOutlook = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Outlook.Application&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;Set Session = objOutlook.Session&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;Set Stores = Session.Stores&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Each&lt;/span&gt; Store &lt;span style="color: rgb(0, 0, 255);"&gt;In&lt;/span&gt; Stores&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; Store.ExchangeStoreType = 3 &lt;span style="color: rgb(0, 0, 255);"&gt;then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFolder = store.GetRootFolder&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   Session.RemoveStore objFolder&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;Next&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497163" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="vbs" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/vbs/" /><category term="pst" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/pst/" /><category term="outlook" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/outlook/" /><category term="remove" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/remove/" /><category term="script" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/script/" /></entry><entry><title>Scripting: Listing PST files in an outlook profile</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-listing-pst-files-in-an-outlook-profile.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/10/scripting-listing-pst-files-in-an-outlook-profile.aspx</id><published>2012-05-10T10:44:28Z</published><updated>2012-05-10T10:44:28Z</updated><content type="html">&lt;p&gt;One of my clients was in a nasty situation, he had a ton of users with PST files on the fileserver and they wanted that changed. Understandable as it is an unsupported situation &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-83-metablogapi/6153.wlEmoticon_2D00_smile_5F00_2.png" /&gt;. Now the real problem is that every option we went over required a ton of manual labor which, in an environment of 20 000 mailboxes with hot desks, was not an option. So with the clients requirements in hand I created a vbs script which would work for all of their workstations (running different OS and outlook versions –_- ) and could be used to collect data on where the PST files are located….&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;&amp;#160;&lt;/div&gt;  &lt;div id="codeSnippetWrapper"&gt;&amp;#160;&amp;#160; &lt;/div&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; objNetworkSet, objFSO, objFolder, objShell, objTextFile, objFile, objWMISysEnv,ObjItem, objTextFileUNC&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; strHomePath, strDirectory, strFile, strText, strComputerName,strDirectoryUNC,strFileUNC&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;dim&lt;/span&gt; colItems&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objNetwork = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;WScript.Network&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objOutlook = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Outlook.Application&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objNS = objOutlook.GetNamespace(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;MAPI&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; wshShell = WScript.CreateObject(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;WScript.Shell&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' Setting file names&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;strDirectory = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;c:\users\marcdek\temp&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;strFile = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;\&amp;quot;&lt;/span&gt; &amp;amp; ObjNetwork.Username &amp;amp;&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;-PSTOUTPUT.txt&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;strDirectoryUNC=&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;strFileUNC=&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' Check to see if the file already exists exists&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; objFSO.FolderExists(strDirectory) &lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFolder = objFSO.GetFolder(strDirectory)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFolder = objFSO.CreateFolder(strDirectory)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; objFSO.FileExists(strDirectory &amp;amp; strFile) &lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFolder2 = objFSO.GetFolder(strDirectory)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objFile = objFSO.CreateTextFile(strDirectory &amp;amp; strFile)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' OpenTextFile Method needs a Const value&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' ForAppending = 8 ForReading = 1, ForWriting = 2&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Const&lt;/span&gt; ForAppending = 8&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' Opening text file&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objTextFile = objFSO.OpenTextFile(strDirectory &amp;amp; strFile, ForAppending, &lt;span style="color: rgb(0, 0, 255);"&gt;True&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt; objTextFileUNC= objFSO.OpenTextFile(strDirectory &amp;amp; strFile, ForAppending, &lt;span style="color: rgb(0, 0, 255);"&gt;True&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;' Here we go!&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Each&lt;/span&gt; objFolder2 &lt;span style="color: rgb(0, 0, 255);"&gt;In&lt;/span&gt; objNS.Folders&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     objTextFile.WriteLine(GetPSTPath(objFolder2.StoreID))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     objTextFileUNC.WriteLine(GetPSTPath(objFolder2.StoreID))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Function&lt;/span&gt; GetPSTPath(input)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; i = 1 &lt;span style="color: rgb(0, 0, 255);"&gt;To&lt;/span&gt; Len(input) &lt;span style="color: rgb(0, 0, 255);"&gt;Step&lt;/span&gt; 2&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;         strSubString = Mid(input,i,2)    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Not&lt;/span&gt; strSubString = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt; strPath = strPath &amp;amp; ChrW(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;&amp;amp;H&amp;quot;&lt;/span&gt; &amp;amp; strSubString)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Select&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;True&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;:\&amp;quot;&lt;/span&gt;) &amp;gt; 0  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            GetPSTPath = Mid(strPath,InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;:\&amp;quot;&lt;/span&gt;)-1)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;Case&lt;/span&gt; InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;\\&amp;quot;&lt;/span&gt;) &amp;gt; 0  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            GetPSTPath = Mid(strPath,InStr(strPath,&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;\\&amp;quot;&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Select&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Function&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; err.number = vbEmpty &lt;span style="color: rgb(0, 0, 255);"&gt;then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;Else&lt;/span&gt; WScript.echo &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;VBScript Error: &amp;quot;&lt;/span&gt; &amp;amp; err.number&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3497162" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="list" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/list/" /><category term="vbs" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/vbs/" /><category term="login" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/login/" /><category term="pst" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/pst/" /><category term="logon" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/logon/" /><category term="scripting" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/scripting/" /><category term="profile" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/profile/" /><category term="outlook" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/outlook/" /></entry><entry><title>Powershell: Enumerating access rights on mailboxes</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/09/powershell-enumerating-access-rights-on-mailboxes.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/09/powershell-enumerating-access-rights-on-mailboxes.aspx</id><published>2012-05-09T13:28:34Z</published><updated>2012-05-09T13:28:34Z</updated><content type="html">&lt;p&gt;Don’t you just hate it when auditing times come around and they ask a list of each and every person who has access to each and every mailbox in your environment&amp;#160; –_-. Since this happened to one of my clients I wrote the following powershell command for exchange 2010. Take in to consideration the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;This will not display rights inherited from the top level information store (database wide rights)&lt;/li&gt;    &lt;li&gt;This will exclude all SELF rights&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;List what mailboxes a user has access on:&lt;/p&gt;  &lt;div&gt;   &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;     &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;Get-Mailbox | Get-MailboxPermission | &lt;span style="color: rgb(0, 0, 255);"&gt;where&lt;/span&gt; {$_.user.tostring() -ne &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;NT AUTHORITY\SELF&amp;quot;&lt;/span&gt; -and $_.IsInherited -eq $&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;} | Select Identity,User,@{Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'Access Rights'&lt;/span&gt;;Expression={[&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;]::join(&lt;span style="color: rgb(0, 96, 128);"&gt;', '&lt;/span&gt;, $_.AccessRights)}} | Export-Csv -NoTypeInformation mailboxpermissions.csv&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;This little gem will try to retrieve all mailboxes in the organization, get there permission, exclude the “NTAUTHORITY\SELF” and all inherited rights. It will then dump the User, what user had rights and the kind of rights in csv file.&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;The same but in alternate order:&lt;/div&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; Get-Mailbox | Get-MailboxPermission | &lt;span style="color: rgb(0, 0, 255);"&gt;where&lt;/span&gt; {$_.user.tostring() -ne &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;NT AUTHORITY\SELF&amp;quot;&lt;/span&gt; -and $_.IsInherited -eq $&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;}  Select Identity,User,@{Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'Access Rights'&lt;/span&gt;;Expression={[&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;]::join(&lt;span style="color: rgb(0, 96, 128);"&gt;', '&lt;/span&gt;, $_.AccessRights)}} | Export-Csv -NoTypeInformation mailboxpermissions2.csv&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p align="center"&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font style="background-color: rgb(255, 255, 0);"&gt;
  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;

  &lt;p align="center"&gt;&lt;font style="background-color: rgb(255, 192, 0);" color="#000000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;

  &lt;p align="center"&gt;&lt;font style="background-color: rgb(255, 192, 0);" color="#000000"&gt;&lt;strong&gt;Warning! 
        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;

  &lt;p align="center"&gt;&lt;/p&gt;
  &lt;font style="background-color: rgb(255, 192, 0);" color="#000000"&gt;&lt;strong&gt;Both commands will make your cpu spike and will take some time to process dependant on the size of your environment!&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3496936" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="list" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/list/" /><category term="access rights" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/access+rights/" /><category term="Powershell" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Powershell/" /><category term="enumerate" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/enumerate/" /><category term="Exchange 2010" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange+2010/" /></entry><entry><title>Restoring Exchange Server 2003 Clusters</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/01/restoring-exchange-server-2003-clusters.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/05/01/restoring-exchange-server-2003-clusters.aspx</id><published>2012-05-01T10:09:00Z</published><updated>2012-05-01T10:09:00Z</updated><content type="html">&lt;p&gt;When the worst happens it hits hard. Restoring a server is a lengthy process with users and managers alike breathing down your neck, so we try to help as much as possible where we can. The best advise I can give you is do this in a test environment a couple of times before you are forced to do it in a live environment! That way you will feel more comfortable and will be able to judge progress better than if you are still trying to figure out what you should do next….&lt;/p&gt;  &lt;p&gt;Restoring a cluster consists of a couple of points that we’ll discuss in further detail later on:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Failover&lt;/li&gt;    &lt;li&gt;Eviction if necessary&lt;/li&gt;    &lt;li&gt;Preparation&lt;/li&gt;    &lt;li&gt;joining the cluster&lt;/li&gt;    &lt;li&gt;Installing exchange&lt;/li&gt;    &lt;li&gt;Moving cluster nodes&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Failover&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When a node fails failover is needed to keep the resources available to the users on our cluster. Without this our cluster would be fairly pointless.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Eviction&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If we need to evict the node that failed, f.e. we know it failed completely, we can evict the node using the windows cluster administrator.&lt;/p&gt;  &lt;p&gt;Use due diligence where possible:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Click Start, Administrative Tools, and then click Cluster Administrator.&lt;/li&gt;    &lt;li&gt;Stop Cluster Service running.&lt;/li&gt;    &lt;li&gt;Select the Evict Node command from the File menu item.&lt;/li&gt;    &lt;li&gt;Remove the node from the shared bus.     &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Preparation&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This cover the process of setting up the new node to be joined in to the cluster! Installing windows, bringing it to the same patch level as the other nodes in the cluster. naming it as well as giving it an IP.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Joining the cluster&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is the process of joining your new node in to the exchange cluster&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Installing exchange&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Well, this is pretty straightforward, just remember&amp;#160; to not use the DR switch as it won’t work&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Moving cluster nodes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Simply put, move the resources to the new node brought in to replace our failed node.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see, it is pretty straightforward to replace a failed node. Other than having to evict the failed node it is consistent with bringing in an extra node to our cluster!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3496895" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange 2003" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange+2003/" /><category term="cluster" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/cluster/" /><category term="recover" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/recover/" /></entry><entry><title>Backing up and recovering the Windows IIS Metabase</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/04/02/backing-up-and-recovering-the-windows-iis-metabase.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/04/02/backing-up-and-recovering-the-windows-iis-metabase.aspx</id><published>2012-04-02T09:29:00Z</published><updated>2012-04-02T09:29:00Z</updated><content type="html">&lt;p&gt;One of those things you just have to do sometimes is taking a nice backup of your IIS metabase. As we all know, exchange stores its configuration information in active directory but the 2003 version of exchange relies heavily on IIS to be able to function. IIS does not read information from active directory but from its own metabase! So we need a something to sync those 2 and that little something is called the DS2MB service which runs under the 2003 system attendant. Knowing that, most settings will be read back in to the metabase (it is one way traffic only) but some things, like certificates, are not stored in active directory.&lt;/p&gt;  &lt;p&gt;So to backup the IIS metabase do the following:&lt;/p&gt;  &lt;ul&gt;&lt;!--StartFragment--&gt;   &lt;li&gt;Open the IIS Manager.&lt;/li&gt;    &lt;li&gt;Right-click the IIS server whose metabase data you want to backup.&lt;/li&gt;    &lt;li&gt;Select “All Tasks” from the menu and select the “backup/restore configuration”.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Note that if you want the backup to be portable you need to select the “encrypt backup using password” option and type in a password.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Click on the “create backup”, choose a name for the file and click ok&lt;/li&gt;    &lt;li&gt;Click close&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that the default folder for backup is %systemroot%\system32\inetsrv\MetaBack. If you created a portable backup there are 2 files you need to copy over to the new server: Backup.SC0 and backup.MD0&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;And to recover the IIS metabase data:   &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open the IIS Manager.&lt;/li&gt;    &lt;li&gt;Right-click the IIS server whose metabase data you want to restore, select All Tasks from the shortcut menu, and then select Backup/Restore Configuration.&lt;/li&gt;    &lt;li&gt;The Configuration Backup/Restore dialog box opens. The Configuration Backup/Restore dialog box displays the following information:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The initial configuration backups created when IIS was first installed.&lt;/li&gt;      &lt;li&gt;All manually created backups.&lt;/li&gt;      &lt;li&gt;All history files&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Select the backup that you want to use for the restore and then click the Restore button to start the restore of the metabase data.&lt;/li&gt;    &lt;li&gt;Click Yes to start the restore.&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3496890" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="metabase" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/metabase/" /><category term="Exchange 2003" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange+2003/" /><category term="recovery" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/recovery/" /><category term="backup" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/backup/" /><category term="IIS" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/IIS/" /></entry><entry><title>How it works: Exchange 2007 CCR and transaction logs </title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/messaging_and_beyond/archive/2012/02/20/how-it-works-exchange-2007-ccr-and-transaction-logs.aspx" /><id>http://blogs.technet.com/b/messaging_and_beyond/archive/2012/02/20/how-it-works-exchange-2007-ccr-and-transaction-logs.aspx</id><published>2012-02-20T10:12:12Z</published><updated>2012-02-20T10:12:12Z</updated><content type="html">&lt;p&gt;The background workings of a CCR can be quite mysterious but are, all in all, not that difficult to understand. First of all we need to know the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There are two fundamental elements for the Exchange store:&lt;br /&gt;The transaction logs and the database&lt;/li&gt;
&lt;li&gt;Transaction logs are a maximum of 1 MB in size (in Exchange 2003 this was 5MB) except for Transport logs which are still 5 MB&lt;/li&gt;
&lt;li&gt;Log files are stored in sequence and in the following format:&lt;br /&gt;E(number of the storage group)(8 digit hexadecimal number).log&lt;/li&gt;
&lt;li&gt;The checkpoint file (EDB.chk) stores which log files have been written to the database&lt;/li&gt;
&lt;li&gt;Log files are only cleared if a successful full backup has been performed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Exchange ESE&lt;/h2&gt;
&lt;p&gt;There are five (5) subcomponents that make up the ESE and define the process of moving database in to the database!&lt;/p&gt;
&lt;h3&gt;Log buffers&lt;/h3&gt;
&lt;p&gt;When a transaction is first received it is stored in the log buffer. These log buffers are used to hold the received information in the servers memory before the data is written to the transaction logs. The following parameters define a log buffer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each buffer unit is the size of a disk sector (512 bytes)&lt;/li&gt;
&lt;li&gt;JET will perform sanitation so that they are a minimum of 128 sectors, a maximum of 10,240 sectors and that the largest 63KB boundary is aligned.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Log writer&lt;/h3&gt;
&lt;p&gt;Once the log buffers are filled up the data is moved on to the disk and in to the log files. This committing of the data is performed in a synchronous fashion and very fast to assure that a system failure would not cause data loss.&lt;/p&gt;
&lt;h3&gt;IS Buffers&lt;/h3&gt;
&lt;p&gt;The IS buffer is the first step to turning the transactions to actual data. Grouped in 4KB pages allocated from memory by &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;, they serve the purpose of caching the database pages before being written to disk.&lt;/p&gt;
&lt;p&gt;When the pages are first created they are marked as clean as there is no data written to them. Once the ESE plays the transactions from the logs into the empty pages in the memory it changes the status to &amp;ldquo;dirty&amp;rdquo;.&lt;/p&gt;
&lt;h3&gt;Version store&lt;/h3&gt;
&lt;p&gt;Since ESE writes multiple different transactions to a single page in the memory the version store is needed to, not only keep track of these transaction, but also to manage them. It structures the pages that occur as they occur.&lt;/p&gt;
&lt;h3&gt;Lazy writer&lt;/h3&gt;
&lt;p&gt;When the ESE gets to the point the dirty pages need to be flushed out of the memory it calls the lazy writer to move the pages from the cache buffers to the disk. As there is a large number of transactions going on at once it is the job of the lazy writer to prioritize the transactions and subsequently handle its task without overloading the disk I/O subsystem.&lt;/p&gt;
&lt;p&gt;At this point the transactions in the memory have become static information on the disk and the dirty memory caches are cleaned up and ready to be used again!&lt;/p&gt;
&lt;h2&gt;The checkpoint file&lt;/h2&gt;
&lt;p&gt;There are two notable components of the database checkpoint, Namely the checkpoint file and the checkpoint depth.&lt;/p&gt;
&lt;p&gt;The checkpoint file (edb.chk) is a file maintained by the database engine for every log file sequence to keep track of the data that has not yet been written to the database file on the disk. It is a pointer in the log sequence that indicates where in the log file the information store needs to start recovery in case of a failure. Without the checkpoint file the information store would start replay from the beginning of the oldest log file on the disk and it would have to check every page in every log file to determine whether it had already been written to the disk.&lt;/p&gt;
&lt;p&gt;The checkpoint depth is a threshold which defines when the ESE begins to aggressively flush dirty pages to the database.&lt;/p&gt;
&lt;h2&gt;ESE Cache&lt;/h2&gt;
&lt;p&gt;The ESE cache is an area of memory reserved to the information store process (running under store.exe) used to store database pages in memory, reducing read I/Os&amp;nbsp; and increasing the performance of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;The EDB file&lt;/h2&gt;
&lt;p&gt;As the main repository for the mailbox data the fundamental construct of the edb file is that of a table. Hence the need to run ISINTEG in case the edb file gets corrupted as only ISINTEG can fix the tables in the EDB file.&lt;/p&gt;
&lt;h2&gt;How it comes together&lt;/h2&gt;
&lt;p&gt;Imagine a client sends a new message. The page that requires updating is read from the file, placed in the ESE cache whilst the log buffer gets notified and records the new transaction in the memory of the server.&lt;/p&gt;
&lt;p&gt;These changes are recorded by the database engine but not immediately written to disk. The changes are held in the ESE cache and marked as dirty bits so signal they have not yet been written to the database (committed if you would like to call it that). The version store is used to keep track of the changes, guaranteeing consistency.&lt;/p&gt;
&lt;p&gt;As the database pages are changed, the log buffer is notified to commit the changes and the changes get written to a transaction log file. Eventually the dirty database pages are flushed to the database files and the checkpoint is advance.&lt;/p&gt;
&lt;h2&gt;The CCR functionality&lt;/h2&gt;
&lt;p&gt;Now that we know &lt;i&gt;how&lt;/i&gt; the transactions get written to the log files we can go further and explain how the CCR gets to replicating and replaying these changes!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In a CCR we have two nodes, an active and a passive node, one which pulls transaction files to the other. The active node is where all the clients with their MAPI sessions will connect to, the passive stands by in case of the failure of the active node with its own copy of the database and log files.&lt;/p&gt;
&lt;p&gt;The technology behind the CCR is based on an asynchronous copy, meaning that the passive copy does not get the information from the transaction log replayed in the database at the same time as the active node. In fact, the passive node cannot pull the transaction log file over to replay it unless the active nodes store process has released the log file (aka is done replaying the log file to the database).&lt;/p&gt;
&lt;p&gt;So if we continue on our earlier premise, one the checkpoint on the active node is advanced the passive node pulls the log files it still needs to replay over and replays them in to the database.&lt;/p&gt;
&lt;p&gt;Source:&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/article/john-savills-windows-faqs/q-how-does-cluster-continuous-replication-ccr-work-in-microsoft-exchange-server-"&gt;http://www.windowsitpro.com/article/john-savills-windows-faqs/q-how-does-cluster-continuous-replication-ccr-work-in-microsoft-exchange-server-&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/mbaher/archive/2008/01/22/who-said-that-transaction-goes-from-logs-to-db.aspx"&gt;http://blogs.technet.com/b/mbaher/archive/2008/01/22/who-said-that-transaction-goes-from-logs-to-db.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3481896" width="1" height="1"&gt;</content><author><name>Marc Dekeyser</name><uri>http://blogs.technet.com/marc.dekeyser_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Exchange" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/Exchange/" /><category term="CCR" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/CCR/" /><category term="logs" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/logs/" /><category term="ESE" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/ESE/" /><category term="transaction" scheme="http://blogs.technet.com/b/messaging_and_beyond/archive/tags/transaction/" /></entry></feed>