# Kod tworzy grup magazynow

use Win32::OLE qw(in);
$Win32::OLE::Warn = 3;

# ------ KONFIGURACJA SKRYPTU ------
$strServer = '<SerwerExchange>'; # np. ExchServer2
$strName = '<NazwaGrupyMagazynowej>'; # np. SG1
$strPath = '<ciekaPliku>' . $strName; # np. D:\Program Files\ExchSrvr
# ------ KONIEC KONFIGURACJI ---------

# Definiowanie adresu URL grupy magazynowej
$objSrv = Win32::OLE->new('CDOEXM.ExchangeServer');
$objSrv->DataSource->Open($strServer);

# Ponisza ptla for pobiera ze zbioru pierwsz grup magazynow.
# Jzyk VBScript nie pozwala uzyska dostpu do okrelonych
# elementw zbioru w sposb, w jaki umoliwia to jzyk JScript.
foreach my $strSg (in $objSrv->StorageGroups) {
    $strTemp = $strSg;
    last;
}
$strTemp = substr($strTemp, (index(lc($strTemp), 'cn', 1)));
$strSGUrl = 'LDAP://cn=' . $strName . ',' . $strTemp;

# Tworzenie/konfigurowanie grupy magazynowej i zapisywanie jej.
$objSG = Win32::OLE->new('CDOEXM.StorageGroup');
$objSG->MoveSystemFiles($strPath);
$objSG->MoveLogFiles($strPath);
$objSG->DataSource->SaveTo($strSGUrl);
print "Z powodzeniem utworzono grup magazynow.\n";