вторник, 11 января 2011 г.

Exchange 2007 PowerShell скрипт для перезаливки всех баз на пассивную ноду в CCR Cluster-е


####################################
#скрипт выполняет перезаливку ВСЕХ баз группы хранения с активной на пассивную ноду
####################################
$Array_SGs = Get-StorageGroup | select-object server, name, replicated | Sort-Object -Property name
"Count of Storage Groups=" + ([string] $Array_SGs.Length)
for($i=0;$i -le $Array_SGs.Length-1;$i++)
{
$SG_NAME = ([string] $Array_SGs[$i].server)+"\"+([string] $Array_SGs[$i].Name)
If ( ([string] $Array_SGs[$i].replicated) -eq "Clustered")
{
"[" + ($i+1) + "]" + "Storage Group name <<" + $SG_NAME + ">> is Clustered"
"reseed processing..."
#body of processing
"Suspend-StorageGroupCopy <<" + $SG_NAME + ">>"
Suspend-StorageGroupCopy -Identity $SG_NAME -SuspendComment "Suspending CCR to reseed." -Confirm:$false
Start-sleep -s 6
"Update-StorageGroupCopy <<" + $SG_NAME + ">>"
Update-StorageGroupCopy -Identity $SG_NAME -DeleteExistingFiles -force
Start-sleep -s 6
"Resume-StorageGroupCopy <<" + $SG_NAME + ">>"
Resume-StorageGroupCopy -Identity $SG_NAME
}
else
{
"[" + ($i+1) + "]" + "Storage Group name" + $SG_NAME + " is NOT Clustered nothing to do."
}
}


ещё полезный скрипт:


Get-MailboxDatabase | foreach-object {add-member -inputobject $_ -membertype noteproperty -name mailboxdbsizeinGB -value ([math]::Round(([int64](get-wmiobject cim_datafile -computername $_.server -filter ('name=''' + $_.edbfilepath.pathname.replace("\","\\") + '''')).filesize / 1GB),2)) -passthru} | Sort-Object mailboxdbsizeinGB -Descending | format-table identity,mailboxdbsizeinGB

Для получения размеров всех баз данных
взят здесь:
http://system-administrators.info/?p=5376

Другие вкусности PowerShell для Echange 2007
http://mcp.su/active-directory/powershell-exchange-2007-ad/

Комментариев нет:

Отправить комментарий