<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Messaging and beyond!</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/messaging_and_beyond/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/feed.xml</link>
    <description>Tales of an MS Exchange PFE</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:11:47 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Create a virtual machine and adding a VHD file using powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/create-a-virtual-machine-and-adding-a-vhd-file-using-powershell</link>
      <pubDate>Thu, 07 Feb 2013 00:42:20 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2013/02/07/create-a-virtual-machine-and-adding-a-vhd-file-using-powershell/</guid>
      <description><![CDATA[Or: How you can use&nbsp;Powershell to create virtual machines!&nbsp;
With a few keystroke you can...]]></description>
      <content:encoded><![CDATA[<h4>Or: How you can use&nbsp;Powershell to create virtual machines!&nbsp;</h4>
<p>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&nbsp;possible solution&nbsp;for me was experimenting with the <a title="Microsoft Deployment Toolkit" href="http://technet.microsoft.com/library/ee376932.aspx" target="_parent">Microsoft Deployment Toolkit</a>, 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.</p>
<p>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.</p>
<p>More scripts can be found at the <a title="Script library" href="http://gallery.technet.microsoft.com/scriptcenter" target="_parent">script library</a>!</p>
<p><span style="color: #e7e7e7;">Code:</span></p>
<p>&nbsp;</p>
<p>function Run-As</p>
<p>{</p>
<p># Use Check Switch to check if admin</p>
<p>param([Switch]$Check)</p>
<p>$IsAdmin = ([Security.Principal.WindowsPrincipal] <br />[Security.Principal.WindowsIdentity]::GetCurrent()`</p>
<p>).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")</p>
<p>if ($Check) { return $IsAdmin }</p>
<p>if ($MyInvocation.ScriptName -ne "")</p>
<p>{</p>
<p>if (-not $IsAdmin)</p>
<p>{</p>
<p>try</p>
<p>{</p>
<p>$arg = "-file `"$($MyInvocation.ScriptName)`""</p>
<p>Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList $arg <br />-ErrorAction 'stop'</p>
<p>}</p>
<p>catch</p>
<p>{</p>
<p>Write-Warning "Error - Failed to restart script with runas"</p>
<p>break</p>
<p>}</p>
<p>exit # Quit this session of powershell</p>
<p>}</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>Write-Warning "Error - Script must be saved as a .ps1 file first"</p>
<p>break</p>
<p>}</p>
<p>write-host "Script Running As Administrator" -foregroundcolor red</p>
<p>Write-host ""</p>
<p>}</p>
<p>&nbsp;</p>
<p>#Defining Variables. Change these patch to your own!</p>
<p>$2008R2STD = "D:\Base VHD\2k8R2std.vhdx"</p>
<p>$2008R2ENT = "D:\Base VHD\2k8R2ent.vhdx"</p>
<p>$2008R2DC = "D:\Base VHD\2k8r2dc.vhdx"</p>
<p>$2012STD = "D:\Base VHD\2012std.vhdx"</p>
<p>$2012ENT = "D:\Base VHD\2012ent.vhdx"</p>
<p>&nbsp;</p>
<p>#Launching run-as function</p>
<p>Run-as</p>
<p>&nbsp;</p>
<p>#Cleaning screen</p>
<p>cls</p>
<p>&nbsp;</p>
<p># Offer choice in which OS to deploy</p>
<p>Do {</p>
<p>Write-host</p>
<p>Write-host "Wich operating system would you like to deploy?" -foregroundcolor <br />Green</p>
<p>Write-host "1. 2008 R2 Standard" -foregroundcolor Yellow</p>
<p>Write-host "2. 2008 R2 Enterprise" -foregroundcolor Yellow</p>
<p>Write-host "3. 2008 R2 Datacenter" -foregroundcolor Yellow</p>
<p>Write-host "4. 2012 Standard" -foregroundcolor Yellow</p>
<p>Write-host "5. 2012 Enterprise" -foregroundcolor Yellow</p>
<p>$deploy = Read-host "Please select an operating system"</p>
<p>if ($deploy -eq "") {write-host "error:Please select and operating system" <br />-foregroundcolor Red}; if ($deploy -eq $NULL) {write-host "error: Please select <br />an operating system" -foregroundcolor Red}</p>
<p>write-host</p>
<p>} while ($deploy -eq "" -or $deploy -eq $NULL)</p>
<p>&nbsp;</p>
<p>#What should the VM be called</p>
<p>$Name = Read-Host "Enter the Virtual Machine name (Press [Enter] to choose <br />Srv01)"</p>
<p>if ($Name -eq ""){$Name="Srv01"} ; if ($Name -eq $NULL){$Name="Srv01"}</p>
<p>&nbsp;</p>
<p>#how much memory needs to be assigned (static only at this point)</p>
<p>$Memory = Read-Host "Enter the size of the Virtual Machine Memory (Press <br />[Enter] to choose 2048MB)"</p>
<p>if ($Memory -eq ""){$Memory=2048MB} ; if ($Memory -eq $NULL){$Memory=2048MB}</p>
<p>&nbsp;</p>
<p>#Where should the VM be stored</p>
<p>$Location = Read-Host "Enter the location of the Virtual Machine file (Press <br />[Enter] to choose D:\Virtual Machines)"</p>
<p>if ($Location -eq ""){$Location="D:\Virtual Machines"} ; if ($Location -eq <br />$NULL){$Location="D:\Virtual Machines"}</p>
<p>&nbsp;</p>
<p>#Listing Networks on the host</p>
<p>Write-host</p>
<p>get-vmswitch |select Name, SwitchType</p>
<p>write-host</p>
<p>&nbsp;</p>
<p>#Which network should be used</p>
<p>$Network = Read-Host "Enter the name of the Virtual Machine Network (Press <br />[Enter] to choose External)"</p>
<p>if ($Network -eq ""){$Network="External"} ; if ($Network -eq <br />$NULL){$Network="External"}</p>
<p>&nbsp;</p>
<p>#VM creation starts here</p>
<p>new-vm $Name -path $Location</p>
<p>Switch ($deploy)</p>
<p>{</p>
<p>1 {Copy-Item $2008R2STD $Location\$Name ; add-vmharddiskdrive -vmname $Name <br />-path $Location\$NaAme\2K8R2std.vhdx}</p>
<p>2 {Copy-Item $2008R2ENT $Location\$Name ; add-vmharddiskdrive -vmname $Name <br />-path $Location\$Name\2K8R2ent.vhdx}</p>
<p>3 {Copy-Item $2008R2DC $Location\$Name ; add-vmharddiskdrive -vmname $Name <br />-path $Location\$Name\2K8R2dc.vhdx}</p>
<p>4 {Copy-Item $2012STD $Location\$Name ; add-vmharddiskdrive -vmname $Name <br />-path $Location\$Name\2012STD.vhdx}</p>
<p>5 {Copy-Item $2012ENT $Location\$Name ; add-vmharddiskdrive -vmname $Name <br />-path $Location\$Name\2012ENT.vhdx}</p>
<p>}</p>
<p>get-vm $Name | add-vmdvddrive -controllernumber 1</p>
<p>get-vm $Name | set-vmmemory -startupbytes $Memory</p>
<p>get-vm $Name | add-vmnetworkadapter -switchname $Network</p>
<p>&nbsp;</p>
<p># Start the VM.</p>
<p>start-vm $Name</p>
<p>&nbsp;</p>
<p>cls</p>
<p>&nbsp;</p>
<p>#Success message.</p>
<p>Switch ($deploy)</p>
<p>{</p>
<p>1 {Write-host "Windows 2008 R2 Standard Deployed!" -foregroundcolor Green}</p>
<p>2 {Write-host "Windows 2008 R2 Enterprise Deployed!" -foregroundcolor Green}</p>
<p>3 {Write-host "Windows 2008 R2 Datacenter Deployed!" -foregroundcolor Green}</p>
<p>4 {Write-host "Windows 2012 Standard Deployed!" -foregroundcolor Green}</p>
<p>5 {Write-host "Windows 2012 Enterprise Deployed!" -foregroundcolor Green}</p>
<p>}</p>
<p>Also published on:</p>
<p><a href="http://geekswithblogs.net/marcde">http://geekswithblogs.net/marcde</a></p>
<p><a href="http://blogs.technet.com/b/ieitpro/">http://blogs.technet.com/b/ieitpro/</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Launch: Windows server 2012!</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/launch-windows-server-2012</link>
      <pubDate>Tue, 04 Sep 2012 08:17:32 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/09/04/launch-windows-server-2012/</guid>
      <description><![CDATA[So after much waiting and anticipating, server 2012 has been launched! Wooooooohhhhh!!!! Now get on...]]></description>
      <content:encoded><![CDATA[<p>So after much waiting and anticipating, server 2012 has been launched! Wooooooohhhhh!!!! Now get on to the real interesting bits, exchange 2013 :p!</p>
<p>&nbsp;</p>
<p><a href="http://www.windows-server-launch.com/">http://www.windows-server-launch.com/</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange: DAGs and reseeding</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/exchange-dags-and-reseeding</link>
      <pubDate>Thu, 10 May 2012 08:32:50 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/exchange-dags-and-reseeding/</guid>
      <description><![CDATA[*repost from my old blog:...]]></description>
      <content:encoded><![CDATA[<p>*repost from my old blog: <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">http://geekswithblogs.net/marcde/archive/2011/11/03/dags-and-reseeding.aspx</a></p>  <p>I worked on a case today which had 2 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 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 <strong>from hell</strong>. So our client cried for help.</p>  <p>First thing you would want to do is to get a status of the database by running get-mailboxdatabasecopystatus -id &quot;databasename\servername&quot; | fl. This should return you something in this format:</p>  <p><em>RunspaceId&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb     <br />Identity&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Databasename\servername      <br />Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Databasename\servername      <br />DatabaseName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : DatabaseName      <br />Status&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Mounted      <br />MailboxServer&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Servername      <br />ActiveDatabaseCopy&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : servername      <br />ActivationSuspended&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False      <br />ActionInitiator&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Unknown      <br />ErrorMessage&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />ErrorEventId&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />ExtendedErrorInfo&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SuspendComment&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SinglePageRestore&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />ContentIndexState&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Healthy      <br />ContentIndexErrorMessage&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />CopyQueueLength&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />ReplayQueueLength&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LatestAvailableLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastCopyNotificationedLogTime&#160;&#160;&#160; :       <br />LastCopiedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastInspectedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastReplayedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastLogGenerated&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogCopyNotified&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogCopied&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogInspected&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogReplayed&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LogsReplayedSinceInstanceStart&#160;&#160; : 0      <br />LogsCopiedSinceInstanceStart&#160;&#160;&#160;&#160; : 0      <br />LatestFullBackupTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LatestIncrementalBackupTime&#160;&#160;&#160;&#160;&#160; :       <br />LatestDifferentialBackupTime&#160;&#160;&#160;&#160; :       <br />LatestCopyBackupTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotLatestFullBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotLatestIncrementalBackup&#160; :       <br />SnapshotLatestDifferentialBackup :       <br />SnapshotLatestCopyBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LogReplayQueueIncreasing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False      <br />LogCopyQueueIncreasing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False      <br />OutstandingDumpsterRequests&#160;&#160;&#160;&#160;&#160; : {}      <br />OutgoingConnections&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />IncomingLogCopyingNetwork&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SeedingNetwork&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />ActiveCopy&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : True</em></p>  <p><em>RunspaceId&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb     <br />Identity&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : MailboxName\servername      <br />Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : MailboxName\servername      <br />DatabaseName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Mailboxdatabasename      <br />Status&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : FailedAndSuspended      <br />MailboxServer&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Servernamethatfailed      <br />ActiveDatabaseCopy&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : servername      <br />ActivationSuspended&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : True      <br />ActionInitiator&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Service      <br />ErrorMessage&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : The required log file 2103 for MailboxName\servername is missing on the active copy. If      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; you removed the log file, please replace it. If the log file is lost, the database       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; copy will need to be reseeded using Update-MailboxDatabaseCopy.      <br />ErrorEventId&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 2059      <br />ExtendedErrorInfo&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SuspendComment&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : The database copy was automatically suspended due to failure item processing. At '03      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /11/2011 16:23:14' the copy of 'mailboxdatabase' on this server experienced an error t      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hat requires it be reseeded. For more detail about this failure, consult the Event l      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; og on the server for other storage and &quot;ExchangeStoreDb&quot; events. The passive databas      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; e copy has been suspended.      <br />SinglePageRestore&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />ContentIndexState&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Failed      <br />ContentIndexErrorMessage&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Catalog is dismounted externally for database {0b5d6c24-09dc-4648-958c-eb61b2bd778a}      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .      <br />CopyQueueLength&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 3753      <br />ReplayQueueLength&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LatestAvailableLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 03/11/2011 16:22:17      <br />LastCopyNotificationedLogTime&#160;&#160;&#160; : 03/11/2011 16:22:17      <br />LastCopiedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastInspectedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastReplayedLogTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LastLogGenerated&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 3753      <br />LastLogCopyNotified&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 3746      <br />LastLogCopied&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogInspected&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 0      <br />LastLogReplayed&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 3695      <br />LogsReplayedSinceInstanceStart&#160;&#160; : 0      <br />LogsCopiedSinceInstanceStart&#160;&#160;&#160;&#160; : 0      <br />LatestFullBackupTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LatestIncrementalBackupTime&#160;&#160;&#160;&#160;&#160; :       <br />LatestDifferentialBackupTime&#160;&#160;&#160;&#160; :       <br />LatestCopyBackupTime&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotLatestFullBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SnapshotLatestIncrementalBackup&#160; :       <br />SnapshotLatestDifferentialBackup :       <br />SnapshotLatestCopyBackup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />LogReplayQueueIncreasing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False      <br />LogCopyQueueIncreasing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False      <br />OutstandingDumpsterRequests&#160;&#160;&#160;&#160;&#160; : {}      <br />OutgoingConnections&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />IncomingLogCopyingNetwork&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />SeedingNetwork&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :       <br />ActiveCopy&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False</em></p>  <p>Now generally speaking you would do a suspend-mailboxdatabasecopy -id &quot;mailboxdatabase\servername&quot; followed by an update-mailboxdatabasecopy -id &quot; &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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> to cover. In that case you'll have to perform the highly regarded <strong>&quot;manual reseeding procedure&quot;</strong>! This is somewhat disruptive for your users and risky unless you keep your head in the game.</p>  <p>These would be the steps you follow:</p>  <ol>   <li>Suspend the database copy</li>    <li>Go to the passive node and remove all the database and log files (fun yet?)</li>    <li>Dismount the database from <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a></li>    <li>Go to the log files folder on the active node and move them all to a different folder</li>    <li>Now copy the EDB file from the active node to the passive node</li>    <li>Mount the database once this is completed</li>    <li>Resume the storage group copy</li>    <li><em>Drink cocktails on the beach as </em><em>your sync is healthy (not required but highly recommended)</em></li> </ol>  <p>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.</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange: Recovery Storage Group</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/exchange-recovery-storage-group</link>
      <pubDate>Thu, 10 May 2012 08:28:34 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/exchange-recovery-storage-group/</guid>
      <description><![CDATA[As you might, or not, be aware off there is no item level based recovery in Exchange that is...]]></description>
      <content:encoded><![CDATA[<p>As you might, or not, be aware off there is no item level based recovery in <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 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. </p>  <p><i><a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2003:</i></p>  <p>1. Open <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> system manager     <br />2. Drill down to the server you want to recover to     <br />3. Right click the server and select New &gt; Recovery storage group     <br />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.     <br />5. Click ok J     <br />6. Right click the RSG and select “Add database to recover”     <br />7. Select the right database you are going to recover.     <br />8. Make sure that “This database can be overwritten by a restore” is checked (by default is should be)     <br />9. Mount the database     <br />10. Select the database in the recovery storage group, open the mailboxes container .     <br />11. Select and right click the user(s) you want to restore.     <br />12. Run <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> task from the menu     <br />13. Select the “recover mailbox data” task     <br />14. Depending on your situation select either the Merge data or Copy data context     <br />15. Schedule if necessary     <br />16. Watch as your data is getting recovered. </p>  <p>Once this process is complete all data will be where it is supposed to be once more! </p>  <p><i><a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2007:</i></p>  <p>1. Open up the <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> management console     <br />2. Go to the tools subset and open the Database Recovery Management tool     <br />3. Select the storage group you want to link to the RSG     <br />4. Double check the information presented in the next screen and click the Create the recovery storage group.     <br />5. By default the RSG will be linked to the following folder: C:\program files\microsoft\exchange server\mailbox\&lt;storage group&gt;\RSGxxxxxxxxxx     <br />6. Recover files to the RSG folder     <br />7. Once recovered g o to the recovery storage group management tool and slect to mount the database.     <br />8. Once mounted, go back to the task center and select Merge or copy mailbox contents     <br />9. Make sure the proper database is selected and click on the gather merge information.     <br />10. If you are dealing with a dial tone database click the “Swap database configurations” checkmark. If not, just click next     <br />11. Click the Perform Pre-merge task     <br />12. Select the mailboxes you wish to recover and let ExTRA do its thing.     <br />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. </p>  <p>And that is it! </p>  <p><i>Exchange 2010:</i></p>  <p>1. Open the exchange management shell</p>  <p>2. Type in the following:</p>  <p>a. New-mailboxdatabase “name” –server “servername” –recovery:$true –edbfilepath “path to restored edb file”</p>  <p>b. Mount-database “name of DB you just created”</p>  <p>c. Get-mailboxstatistics –database “name of restored database”</p>  <p>d. New-mailboxrestorerequest –sourcedatabase “name of recovery database” –sourcestoremailbox “Username” –targetmailbox “emailaddress of target mailbox”</p>  <p>That will create a new recovery request. You can view the state of the request by using:</p>  <p>Get- MailboxRestoreRequest</p>  <p>Once completed, remove the request with</p>  <p>Get- MailboxRestoreRequest –status completed <a name="_GoBack"></a>| remove-MailboxRestoreRequest</p>  <p>And that is it! </p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange troubleshooting</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/exchange-troubleshooting</link>
      <pubDate>Thu, 10 May 2012 03:58:07 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/exchange-troubleshooting/</guid>
      <description><![CDATA[*Repost from http://geekswithblogs.net/marcde  Exchange is a complex and large product which can...]]></description>
      <content:encoded><![CDATA[<p><em>*Repost from </em><a href="http://geekswithblogs.net/marcde"><em>http://geekswithblogs.net/marcde</em></a></p>  <p><a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> (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. </p>  <p>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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a>, which could give you a different solution for each problem. </p>  <h5><a name="_Toc315772896">Where to start?</a></h5>  <p>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… </p>  <h6><a name="_Toc315772897">Getting information from the user</a></h6>  <p>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. </p>  <h6><a name="_Toc315772898">Who has the issue?</a></h6>  <p>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. </p>  <h6><a name="_Toc315772899">What is the impact?</a></h6>  <p>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… </p>  <h6><a name="_Toc315772900">When did the issue first occur?</a></h6>  <p>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 &gt;_&lt;). </p>  <h6><a name="_Toc315772901">Did this ever work for you/the user?</a></h6>  <p>Apply common sense when asking this question. Some people will get offended but it can be <b>very</b> helpful in finding out if something broke or there is a setting wrong… </p>  <h6><a name="_Toc315772902">What error (code) is returned?</a></h6>  <p>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. </p>  <h6><a name="_Toc315772903">Tools</a></h6>  <p>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. </p>  <h6><a name="_Toc315772904">Eventviewer</a></h6>  <p>Maybe the single most useful tool in helping you solve a problem! <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> errors will be logged in the application log most of the time and rarely one or two in the system log. </p>  <h6><a name="_Toc315772905">Exchange best practice analyser</a></h6>  <p>ExBPA is a neat little tool built in to the <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> Management Console allowing you to run some reports and get information on configuration errors in <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a>. Note that it can create performance baselines as well as check if the environment is ready for <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a>. If you are running <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2003 you will have to download exBPA (<a href="http://www.microsoft.com/downloads/details.aspx?familyid=dbab201f-4bee-4943-ac22-e2ddbd258df3">here</a>) as it is only present in 2007 and 2010. </p>  <h6><a name="_Toc315772906">Exchange troubleshooting assistant</a></h6>  <p>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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2003 is available <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=25213">here</a>. </p>  <h6><a name="_Toc315772907">Telnet</a></h6>  <p>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: </p>  <p><i>EHLO toasterlabs.com      <br />mail from: marc.dekeyser@toasterlabs.com       <br />rcpt to: administrator@toasterlabs.com       <br />data</i></p>  <p><i>Blablablabla      <br />.       <br />quit</i></p>  <p>You can get more information on this from the following URL:    <br /><a href="http://www.samlogic.net/articles/smtp-commands-reference.htm">http://www.samlogic.net/articles/smtp-commands-reference.htm</a></p>  <h6><a name="_Toc315772908">Increasing event log levels</a></h6>  <p>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 <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2003 and 2007/2010 but the result remains the same. </p>  <p><b><a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2003: </b>Right click the server object in the <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 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. </p>  <p><b><a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2007/2010: </b>I prefer the powershell route to increase the logging in these versions of <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a>. You can get the current eventloglevel by using the following command: </p>  <p>Get-eventlogloglevel </p>  <p>From this you can mark and copy the desired item you want to increase logging on by using the following command: </p>  <p>Set-eventloglevel –identity “MSEXCHANGESA\OAL GENERATOR” –Level High </p>  <p>Note that you can also pipe these commands if you want to increase everything in a certain set. </p>  <p>Get-eventloglevel MSEXCHANGSA\* | set-eventloglevel –level high </p>  <p>You can find more information about the commands used and the different levels at the following technet link:    <br /><a href="http://technet.microsoft.com/en-us/library/dd335139.aspx">http://technet.microsoft.com/en-us/library/dd335139.aspx</a></p>  <h6><a name="_Toc315772909">Performance monitor</a></h6>  <p>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:    <br /><a href="http://technet.microsoft.com/en-us/library/dd335215.aspx">http://technet.microsoft.com/en-us/library/dd335215.aspx</a></p>  <h6><a name="_Toc315772910">Remote Connectivity Analyser</a></h6>  <p>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. </p>  <p><a href="https://www.testexchangeconnectivity.com/">https://www.testexchangeconnectivity.com/</a></p>  <h6><a name="_Toc315772911">Microsoft baseline security analyser</a></h6>  <p>More security oriented, the MS BSA allows you to scan for security updates present and missing from <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 5.5 servers and later. Download from <a href="http://technet.microsoft.com/en-us/security/cc184924">here</a>. </p>  <h6><a name="_Toc315772912">Public Folder DAV admin</a></h6>  <p>As the name of the tool suggests, this tool would be used to administer and troubleshoot public folders. Download from <a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;ved=0CCoQFjAA&amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fen%2Fdetails.aspx%3Fid%3D22427&amp;ei=TtAnT8_UIdG1hAeo9-XEBQ&amp;usg=AFQjCNHS0zMt_LKY0axGK_xeSakyhvB97w">this location</a>. </p>  <p>ESEUTIL</p>  <h6></h6>  <p>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:</p>  <p>· Check for shutdown state (/mh)</p>  <p>· Offline defrag (/D)</p>  <p>· Hard recovery </p>  <p>· Soft recovery</p>  <p>You can get more information on this tool right <a href="http://msexchangeguru.com/2009/07/12/exchange-database-recovery-using-eseutil-commands/">here</a>.</p>  <h6>ISINTEG</h6>  <p>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).</p>  <p>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</p>  <p>Isinteg –s servername –tests alltest –fix</p>  <p>More information is available <a href="http://support.microsoft.com/kb/301460">here</a>.</p>  <h6><a name="_Toc315772913">Some other tools</a></h6>  <p>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: </p>  <p>· <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> 2007 Anti-Spam migration </p>  <p>· <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> server Jetstress </p>  <p>· <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> server stress and performance </p>  <p>· <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> load generator </p>  <p>· <a href="http://geekswithblogs.net/marcde/category/12862.aspx">Exchange</a> server profile analyser </p>  <p>More information on these tools (and their download locations) can be found here:    <br /><a href="http://technet.microsoft.com/en-us/exchange/bb330849">http://technet.microsoft.com/en-us/exchange/bb330849</a></p>  <p>Until next time!</p>]]></content:encoded>
    </item>
    <item>
      <title>Scripting: Adding PST files to an outlook profile automatically</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/scripting-adding-pst-files-to-an-outlook-profile-automatically</link>
      <pubDate>Thu, 10 May 2012 03:51:32 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/scripting-adding-pst-files-to-an-outlook-profile-automatically/</guid>
      <description><![CDATA[This script will allow you to add all PSTs in a txt file (full path).          On error resume...]]></description>
      <content:encoded><![CDATA[<p>This script will allow you to add all PSTs in a txt file (full path).</p>  <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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);">   <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">     <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">On</span> <span style="color: rgb(0, 0, 255);">error</span> <span style="color: rgb(0, 0, 255);">resume</span> <span style="color: rgb(0, 0, 255);">next</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Const</span> ForReading = 1 </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Dim</span> arrFileLines() </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Dim</span> objNetwork,ObjFSO,objFile,objNet,objOutlook</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    i=0</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objnet = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;wscript.network&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Set</span> objFSO = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Scripting.FileSystemObject&quot;</span>) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objFile = objFSO.OpenTextFile(<span style="color: rgb(0, 96, 128);">&quot;c:\users\marcdek\temp\&quot;</span>&amp; objNet.Username &amp; <span style="color: rgb(0, 96, 128);">&quot;-PSTOUTPUT.txt&quot;</span>, ForReading) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Set</span> objFSO = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Scripting.FileSystemObject&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objOutlook = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Outlook.Application&quot;</span>) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"> </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Do</span> <span style="color: rgb(0, 0, 255);">Until</span> objFile.AtEndOfStream </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">        <span style="color: rgb(0, 0, 255);">Redim</span> <span style="color: rgb(0, 0, 255);">Preserve</span> arrFileLines(i) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">        arrFileLines(i) = objFile.ReadLine </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">                i = i + 1 </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Loop</span> </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    objFile.Close</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">For</span> <span style="color: rgb(0, 0, 255);">Each</span> strPath <span style="color: rgb(0, 0, 255);">in</span> arrFileLines </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">         objOutlook.Session.Addstore strPath</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Next</span>  </pre>
<!--CRLF--></div>
</div>

<p>And if you want to add a selection to only add local PST files you use the following:</p>

<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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 500px; background-color: rgb(244, 244, 244);">
  <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">
    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">On</span> <span style="color: rgb(0, 0, 255);">error</span> <span style="color: rgb(0, 0, 255);">resume</span> <span style="color: rgb(0, 0, 255);">next</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Const</span> ForReading = 1 </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Dim</span> arrFileLines() </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Dim</span> objNetwork,ObjFSO,objFile,objNet,objOutlook</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    i=0</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objnet = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;wscript.network&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Set</span> objFSO = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Scripting.FileSystemObject&quot;</span>) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objFile = objFSO.OpenTextFile(<span style="color: rgb(0, 96, 128);">&quot;c:\users\marcdek\temp\&quot;</span>&amp; objNet.Username &amp; <span style="color: rgb(0, 96, 128);">&quot;-PSTOUTPUT.txt&quot;</span>, ForReading) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    <span style="color: rgb(0, 0, 255);">Set</span> objFSO = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Scripting.FileSystemObject&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Set</span> objOutlook = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Outlook.Application&quot;</span>) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"> </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Do</span> <span style="color: rgb(0, 0, 255);">Until</span> objFile.AtEndOfStream </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">        <span style="color: rgb(0, 0, 255);">Redim</span> <span style="color: rgb(0, 0, 255);">Preserve</span> arrFileLines(i) </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">        arrFileLines(i) = objFile.ReadLine </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">                i = i + 1 </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Loop</span> </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    objFile.Close</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">For</span> <span style="color: rgb(0, 0, 255);">Each</span> strPath <span style="color: rgb(0, 0, 255);">in</span> arrFileLines </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">         <span style="color: rgb(0, 0, 255);">Select</span> <span style="color: rgb(0, 0, 255);">Case</span> <span style="color: rgb(0, 0, 255);">True</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">            <span style="color: rgb(0, 0, 255);">Case</span> InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;:\&quot;</span>) &gt; 0  </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">                objOutlook.Session.Addstore strPath</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">            <span style="color: rgb(0, 0, 255);">Case</span> InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;\\&quot;</span>) &gt; 0  </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">            <span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">Select</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Next</span>  </pre>
<!--CRLF--></div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Scripting: Remove all PST files in an outlook profile</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/scripting-remove-all-pst-files-in-an-outlook-profile</link>
      <pubDate>Thu, 10 May 2012 03:47:42 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/scripting-remove-all-pst-files-in-an-outlook-profile/</guid>
      <description><![CDATA[Building on, this code will remove the mapping that has been done in outlook for ALL PST files....]]></description>
      <content:encoded><![CDATA[<p>Building on, this code will remove the mapping that has been done in outlook for ALL PST files.</p>  <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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);">   <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">     <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 128, 0);">'On Error resume next</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Dim</span> objOutlook <span style="color: rgb(0, 128, 0);">'As Outlook.Application</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Dim</span> Session <span style="color: rgb(0, 128, 0);">'As Outlook.NameSpace</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Dim</span> Store <span style="color: rgb(0, 128, 0);">'As Outlook.Store</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Dim</span> Stores <span style="color: rgb(0, 128, 0);">'As Outlook.Stores</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Dim</span> objFolder <span style="color: rgb(0, 128, 0);">'As Outlook.Folder</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">Set objOutlook = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Outlook.Application&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">Set Session = objOutlook.Session</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">Set Stores = Session.Stores</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">For</span> <span style="color: rgb(0, 0, 255);">Each</span> Store <span style="color: rgb(0, 0, 255);">In</span> Stores</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">If</span> Store.ExchangeStoreType = 3 <span style="color: rgb(0, 0, 255);">then</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">   <span style="color: rgb(0, 0, 255);">Set</span> objFolder = store.GetRootFolder</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">   Session.RemoveStore objFolder</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">If</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">Next</pre>
<!--CRLF--></div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Scripting: Listing PST files in an outlook profile</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/scripting-listing-pst-files-in-an-outlook-profile</link>
      <pubDate>Thu, 10 May 2012 03:44:28 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/10/scripting-listing-pst-files-in-an-outlook-profile/</guid>
      <description><![CDATA[One of my clients was in a nasty situation, he had a ton of users with PST files on the fileserver...]]></description>
      <content:encoded><![CDATA[<p>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 <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/83/metablogapi/6153.wlEmoticon-smile_2.png" original-url="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" />. 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….</p>  <div id="codeSnippetWrapper">&#160;</div>  <div id="codeSnippetWrapper">&#160;&#160; </div>  <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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 400px; background-color: rgb(244, 244, 244);">   <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">     <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Dim</span> objNetworkSet, objFSO, objFolder, objShell, objTextFile, objFile, objWMISysEnv,ObjItem, objTextFileUNC</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Dim</span> strHomePath, strDirectory, strFile, strText, strComputerName,strDirectoryUNC,strFileUNC</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">dim</span> colItems</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Set</span> objNetwork = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;WScript.Network&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Set</span> objOutlook = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Outlook.Application&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Set</span> objNS = objOutlook.GetNamespace(<span style="color: rgb(0, 96, 128);">&quot;MAPI&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Set</span> objFSO = CreateObject(<span style="color: rgb(0, 96, 128);">&quot;Scripting.FileSystemObject&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Set</span> wshShell = WScript.CreateObject(<span style="color: rgb(0, 96, 128);">&quot;WScript.Shell&quot;</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 128, 0);">' Setting file names</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">strDirectory = <span style="color: rgb(0, 96, 128);">&quot;c:\users\marcdek\temp&quot;</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">strFile = <span style="color: rgb(0, 96, 128);">&quot;\&quot;</span> &amp; ObjNetwork.Username &amp;<span style="color: rgb(0, 96, 128);">&quot;-PSTOUTPUT.txt&quot;</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">strDirectoryUNC=</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">strFileUNC=</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 128, 0);">' Check to see if the file already exists exists</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">If</span> objFSO.FolderExists(strDirectory) <span style="color: rgb(0, 0, 255);">Then</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">   <span style="color: rgb(0, 0, 255);">Set</span> objFolder = objFSO.GetFolder(strDirectory)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Else</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">   <span style="color: rgb(0, 0, 255);">Set</span> objFolder = objFSO.CreateFolder(strDirectory)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">If</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">If</span> objFSO.FileExists(strDirectory &amp; strFile) <span style="color: rgb(0, 0, 255);">Then</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">   <span style="color: rgb(0, 0, 255);">Set</span> objFolder2 = objFSO.GetFolder(strDirectory)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Else</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">   <span style="color: rgb(0, 0, 255);">Set</span> objFile = objFSO.CreateTextFile(strDirectory &amp; strFile)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">If</span> </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 128, 0);">' OpenTextFile Method needs a Const value</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 128, 0);">' ForAppending = 8 ForReading = 1, ForWriting = 2</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Const</span> ForAppending = 8</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 128, 0);">' Opening text file</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 0, 255);">Set</span> objTextFile = objFSO.OpenTextFile(strDirectory &amp; strFile, ForAppending, <span style="color: rgb(0, 0, 255);">True</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">Set</span> objTextFileUNC= objFSO.OpenTextFile(strDirectory &amp; strFile, ForAppending, <span style="color: rgb(0, 0, 255);">True</span>)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"><span style="color: rgb(0, 128, 0);">' Here we go!</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">For</span> <span style="color: rgb(0, 0, 255);">Each</span> objFolder2 <span style="color: rgb(0, 0, 255);">In</span> objNS.Folders</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">     objTextFile.WriteLine(GetPSTPath(objFolder2.StoreID))</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">     objTextFileUNC.WriteLine(GetPSTPath(objFolder2.StoreID))</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"> <span style="color: rgb(0, 0, 255);">Next</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">  </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"> <span style="color: rgb(0, 0, 255);">Function</span> GetPSTPath(input)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">     <span style="color: rgb(0, 0, 255);">For</span> i = 1 <span style="color: rgb(0, 0, 255);">To</span> Len(input) <span style="color: rgb(0, 0, 255);">Step</span> 2</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">         strSubString = Mid(input,i,2)    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">        <span style="color: rgb(0, 0, 255);">If</span> <span style="color: rgb(0, 0, 255);">Not</span> strSubString = <span style="color: rgb(0, 96, 128);">&quot;00&quot;</span> <span style="color: rgb(0, 0, 255);">Then</span> strPath = strPath &amp; ChrW(<span style="color: rgb(0, 96, 128);">&quot;&amp;H&quot;</span> &amp; strSubString)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">     <span style="color: rgb(0, 0, 255);">Next</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">    </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">    <span style="color: rgb(0, 0, 255);">Select</span> <span style="color: rgb(0, 0, 255);">Case</span> <span style="color: rgb(0, 0, 255);">True</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">         <span style="color: rgb(0, 0, 255);">Case</span> InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;:\&quot;</span>) &gt; 0  </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">            GetPSTPath = Mid(strPath,InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;:\&quot;</span>)-1)</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">         <span style="color: rgb(0, 0, 255);">Case</span> InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;\\&quot;</span>) &gt; 0  </pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">            GetPSTPath = Mid(strPath,InStr(strPath,<span style="color: rgb(0, 96, 128);">&quot;\\&quot;</span>))</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">     <span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">Select</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"> <span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">Function</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">&#160;</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">If</span> err.number = vbEmpty <span style="color: rgb(0, 0, 255);">then</span></pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">  <span style="color: rgb(0, 0, 255);">Else</span> WScript.echo <span style="color: rgb(0, 96, 128);">&quot;VBScript Error: &quot;</span> &amp; err.number</pre>
<!--CRLF-->

    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span style="color: rgb(0, 0, 255);">End</span> <span style="color: rgb(0, 0, 255);">If</span></pre>
<!--CRLF--></div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Powershell: Enumerating access rights on mailboxes</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/powershell-enumerating-access-rights-on-mailboxes</link>
      <pubDate>Wed, 09 May 2012 06:28:34 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/09/powershell-enumerating-access-rights-on-mailboxes/</guid>
      <description><![CDATA[Don’t you just hate it when auditing times come around and they ask a list of each and every person...]]></description>
      <content:encoded><![CDATA[<p>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&#160; –_-. Since this happened to one of my clients I wrote the following powershell command for exchange 2010. Take in to consideration the following:</p>  <ul>   <li>This will not display rights inherited from the top level information store (database wide rights)</li>    <li>This will exclude all SELF rights</li> </ul>  <p>List what mailboxes a user has access on:</p>  <div>   <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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);">     <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">       <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;">Get-Mailbox | Get-MailboxPermission | <span style="color: rgb(0, 0, 255);">where</span> {$_.user.tostring() -ne <span style="color: rgb(0, 96, 128);">&quot;NT AUTHORITY\SELF&quot;</span> -and $_.IsInherited -eq $<span style="color: rgb(0, 0, 255);">false</span>} | Select Identity,User,@{Name=<span style="color: rgb(0, 96, 128);">'Access Rights'</span>;Expression={[<span style="color: rgb(0, 0, 255);">string</span>]::join(<span style="color: rgb(0, 96, 128);">', '</span>, $_.AccessRights)}} | Export-Csv -NoTypeInformation mailboxpermissions.csv</pre>
<!--CRLF--></div>
  </div>
</div>

<div>&#160;</div>

<div>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.</div>

<div>&#160;</div>

<div>The same but in alternate order:</div>

<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: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);">
  <div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);">
    <pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"><span id="lnum1" style="color: rgb(96, 96, 96);">   1:</span> Get-Mailbox | Get-MailboxPermission | <span style="color: rgb(0, 0, 255);">where</span> {$_.user.tostring() -ne <span style="color: rgb(0, 96, 128);">&quot;NT AUTHORITY\SELF&quot;</span> -and $_.IsInherited -eq $<span style="color: rgb(0, 0, 255);">false</span>}  Select Identity,User,@{Name=<span style="color: rgb(0, 96, 128);">'Access Rights'</span>;Expression={[<span style="color: rgb(0, 0, 255);">string</span>]::join(<span style="color: rgb(0, 96, 128);">', '</span>, $_.AccessRights)}} | Export-Csv -NoTypeInformation mailboxpermissions2.csv</pre>
<!--CRLF--></div>
</div>

<p align="center"><font style="background-color: rgb(255, 255, 0);"></font></p>

<p align="center"><font style="background-color: rgb(255, 255, 0);"></font></p>
<font style="background-color: rgb(255, 255, 0);">
  <p align="center">&#160;</p>

  <p align="center"><font style="background-color: rgb(255, 192, 0);" color="#000000"><strong></strong></font></p>

  <p align="center"><font style="background-color: rgb(255, 192, 0);" color="#000000"><strong>Warning! 
        <br /></strong></font></p>

  <p align="center"></p>
  <font style="background-color: rgb(255, 192, 0);" color="#000000"><strong>Both commands will make your cpu spike and will take some time to process dependant on the size of your environment!</strong></font></font>]]></content:encoded>
    </item>
    <item>
      <title>Restoring Exchange Server 2003 Clusters</title>
      <link>https://docs.microsoft.com/archive/blogs/messaging_and_beyond/restoring-exchange-server-2003-clusters</link>
      <pubDate>Tue, 01 May 2012 03:09:00 GMT</pubDate>
      <dc:creator><![CDATA[Marc Dekeyser]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/messaging_and_beyond/2012/05/01/restoring-exchange-server-2003-clusters/</guid>
      <description><![CDATA[When the worst happens it hits hard. Restoring a server is a lengthy process with users and managers...]]></description>
      <content:encoded><![CDATA[<p>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….</p>  <p>Restoring a cluster consists of a couple of points that we’ll discuss in further detail later on:</p>  <ul>   <li>Failover</li>    <li>Eviction if necessary</li>    <li>Preparation</li>    <li>joining the cluster</li>    <li>Installing exchange</li>    <li>Moving cluster nodes</li> </ul>  <p><strong>Failover</strong></p>  <p>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.</p>  <p><strong>Eviction</strong></p>  <p>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.</p>  <p>Use due diligence where possible:</p>  <ol>   <li>Click Start, Administrative Tools, and then click Cluster Administrator.</li>    <li>Stop Cluster Service running.</li>    <li>Select the Evict Node command from the File menu item.</li>    <li>Remove the node from the shared bus.     <br /></li> </ol>  <p><strong>Preparation</strong></p>  <p>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.</p>  <p><strong>Joining the cluster</strong></p>  <p>This is the process of joining your new node in to the exchange cluster</p>  <p><strong>Installing exchange</strong></p>  <p>Well, this is pretty straightforward, just remember&#160; to not use the DR switch as it won’t work</p>  <p><strong>Moving cluster nodes</strong></p>  <p>Simply put, move the resources to the new node brought in to replace our failed node.</p>  <p>&#160;</p>  <p>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!</p>]]></content:encoded>
    </item>
  </channel>
</rss>