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.
AXISHKAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
coraxalConnect With a Mentor Commented:
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
All Courses

From novice to tech pro — start learning today.