Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 533
  • Last Modified:

PowerShell for moving mailbox

We have a standard Storge Group with 2 different mailbox storage.

Is it possible to write a powershell to automate

1. Create a Temporary Storage Group
2. Move each mailbox storage to the Temporary Storage
3. Remove the old Standard Storage Group and Recreate a new one
4. Move each mailbox storage back to Standard storage Group
5.  Remove the Temporary Storage Group.

When we remove the Storage Group, do we need to stop the Information Storage ? Is it possbiel to automate the process ?

Tks

5.
0
AXISHK
Asked:
AXISHK
  • 2
1 Solution
 
coraxalCommented:
I'm sure you have your reasons for deleting the standard SG. Also, I think in steps 2 & 4 you mean "Mailbox databases" instead of "Mailbox storage".  In any event, the script you're trying to get would look something like this: (note: this is script is untested and you should test it in a test environment before running in production)
# Create a Temporary Storage Group
$LogFolderPath = "D:\Mailbox\Temporary Storage Group"
$SystemFolderPath = "D:\Mailbox\Temporary Storage Group"
$TmpStorageGroupName = "TemporaryStorageGroup"
New-StorageGroup -Name $TmpStorageGroupName -Server "ExchangeServer1" -LogFolderPath:$LogFolderPath -SystemFolderPath:$SystemFolderPath

# Dismount existing databases
$CurrentMailboxDatabases = "MailboxDB1","MailboxDB2"
foreach ($MailboxDatabase in $CurrentMailboxDatabases)
{
	Dismount-MailboxDatabase -Identity $MailboxDatabase -Confirm:$false
}

# Move existing databases to temporary SG
foreach ($MailboxDatabase in $CurrentMailboxDatabases)
{
	Move-DatabasePath -Identity $MailboxDatabase -EdbFilePath $("D:\Mailbox\Temporary Storage Group\$MailboxDatabase" + ".edb") -Confirm:$false
}

# Remove current standard Storage Group
$StorageGroup = "StandardStorageGroup"
Remove-StorageGroup -Identity $StorageGroup -Confirm:$false

# Create new standard Storage Group
$LogFolderPath = "D:\Mailbox\Standard Storage Group"
$SystemFolderPath = "D:\Mailbox\Standard Storage Group"
New-StorageGroup -Name $StorageGroup -Server "ExchangeServer1" -LogFolderPath:$LogFolderPath -SystemFolderPath:$SystemFolderPath

# Move existing databases to new standard SG
foreach ($MailboxDatabase in $CurrentMailboxDatabases)
{
	Move-DatabasePath -Identity $MailboxDatabase -EdbFilePath $("D:\Mailbox\Standard Storage Group\$MailboxDatabase" + ".edb") -Confirm:$false
}

# Mount existing databases
foreach ($MailboxDatabase in $CurrentMailboxDatabases)
{
	Mount-MailboxDatabase -Identity $MailboxDatabase -Confirm:$false
}

Open in new window

0
 
coraxalCommented:
Sorry, forgot to answer you question about stopping services.  You do not need to stop any services including the Information Store service when removing a storage group
0
 
AXISHKAuthor Commented:
Tks
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now