# Kod tworzy list adresow

use Win32::OLE;
$Win32::OLE::Warn = 3;

# ------ KONFIGURACJA SKRYPTU ------
$strParentDN = '<NazwaWyrniajcaKonteneraWszystkichListAdresowych>';
# np. CN=All Address Lists,CN=Address Lists Container,
# CN=RALLENCORPMAIL,CN=Microsoft Exchange,
# CN=Services,CN=Configuration,DC=rallencorp,DC=com"

$strObjClass = 'addressBookContainer';
$strALName = '<NazwaListyAdresowej>'; # np. Dzia sprzeday
$strFilterAttrib = 'purportedSearch';
$strFilter = '<FiltrLDAP>'; # np. (&(department=sales)(homemdb=*))"

# ------ KONIEC KONFIGURACJI ---------
# Zdefiniowanie wartoci dynamicznych
$objOU = Win32::OLE->GetObject('LDAP://' . $strParentDN);
$objNewObj = $objOU->Create($strObjClass, 'cn=' . $strALName);
$objNewObj->Put('displayName', $strALName);
$objNewObj->Put($strFilterAttrib, $strFilter);

# Zdefiniowanie wartoci statycznych
$objNewObj->Put('systemFlags', 1610612736);

# Zapisanie obiektu
$objNewObj->SetInfo();
print "Z powodzeniem utworzono list adresow.\n";
