# Kod tworzy globaln grup zabezpiecze

# ------ KONFIGURACJA SKRYPTU ------
my $strGroupParentDN = "<NazwaWyrniajcaObiektuNadrzdnegoGrupy>";  # np. ou=Groups,dc=rallencorp,dc=com
my $strGroupName     = "<NazwaGrupy>";      # np. AdministratorzyDzialuSprzedazy
my $strGroupDescr    = "<OpisGrupy>";      # np. Administratorzy obsugujcy dzia sprzeday
# ------ KONIEC KONFIGURACJI ---------
use Win32::OLE;
$Win32::OLE::Warn = 3;
# Stae pobrane ze zbioru wyliczeniowego ADS_GROUP_TYPE_ENUM
my $ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 4;
my $ADS_GROUP_TYPE_GLOBAL_GROUP       = 2;
my $ADS_GROUP_TYPE_LOCAL_GROUP        = 4;
my $ADS_GROUP_TYPE_SECURITY_ENABLED   = -2147483648;
my $ADS_GROUP_TYPE_UNIVERSAL_GROUP    = 8;

my $objOU = Win32::OLE->GetObject("LDAP://" . $strGroupParentDN);
my $objGroup = $objOU->Create("group","cn=" . $strGroupName);
$objGroup->Put("samAccountName", $strGroupName);
$objGroup->Put("groupType", $ADS_GROUP_TYPE_LOCAL_GROUP | $ADS_GROUP_TYPE_SECURITY_ENABLED);
$objGroup->Put("description", $strGroupDescr);
$objGroup->SetInfo;
