# Kod przenosi skrzynk pocztow

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

# ------ KONFIGURACJA SKRYPTU ------
$strUserDN = '<NazwaWyrniajcaUytkownika>'; # np. cn=jnowak,cn=Users,dc=rallencorp,dc=com 
$strServer = '<SerwerExchange>'; # np. ExchServer2
$strSGName = '<NazwaGrupyMagazynowej>'; # np. SG1
$strMailStoreName = '<NazwaMagazynuSkrzynek>'; # np. DB1
# ------ KONIEC KONFIGURACJI ---------
# Identyfikowanie adresu URL grupy magazynowej i generowanie adresu URL magazynu skrzynek
$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;
        last;
    }
}
$strMBUrl = 'LDAP://cn=' . $strMailStoreName . ',' . $strSGUrl;

# Podczenie skrzynki do uytkownika i przeniesienie jej
$objUser = Win32::OLE->GetObject('LDAP://' . $strUserDN);
$objUser->MoveMailbox($strMBUrl);
print "Z powodzeniem przeniesiono skrzynk pocztow.\n";
