# Kod tworzy magazyn skrzynek pocztowych

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

# ------ KONFIGURACJA SKRYPTU ------
$strServer = '<SerwerExchange>'; # np. ExchServer2
$strSGName = '<NazwaGrupyMagazynowej>'; # np. SG1
$strMailStoreName = '<NazwaMagazynuSkrzynek>'; # np. DB1
# ------ KONIEC KONFIGURACJI ---------

# Okrelanie adresu URL grupy magazynowej.
$strSearch = 'CN=' . $strSGName . ',';
$objSrv = Win32::OLE->new('CDOEXM.ExchangeServer');
$objSrv->DataSource->Open($strServer);
foreach my $strSg (in $objSrv->StorageGroups) {
    if (((index(lc($strSg), lc($strSearch)) + 1) > 0)) {
        $strSGUrl = $strSg;
    }
}

# Generowanie adresu URL magazynu skrzynek
$strMBUrl = 'LDAP://CN=' . $strMailStoreName . ',' . $strSGUrl;

# Tworzenie/konfigurowanie magazynu skrzynek i zapisywanie jej
$objMb = Win32::OLE->new('CDOEXM.MailBoxStoreDB');
$objMb->DataSource->SaveTo($strMBUrl);

# Podczanie bazy danych
$objMb->Mount();
print "Z powodzeniem utworzono magazyn skrzynek pocztowych.\n";
