У меня есть простое пакетное задание, которое ищет пользователей в группе из Active Directory. Если число пользователей превышает пороговое значение, он отправляет электронное письмо. Я включил урезанную версию кода ниже, чтобы дать вам представление о том, чего я пытаюсь достичь. Мне нужна помощь, чтобы выяснить, как заполнить значения $ Group и $ t (в настоящее время жестко запрограммированные) значениями из другого файла. Не уверен, стоит ли мне использовать простой файл журнала или xml, но в другом файле есть список имен групп и пороговое значение числа пользователей, которое мы должны иметь для каждой группы.
- Security_Group_X 50
- Security_Group_Y 40
Затем я хочу, чтобы эта работа прочитала эти значения из входного файла и выполнила большой оператор For Each. Не уверен, как должен быть отформатирован входной файл, и проще всего прочитать файл, чтобы он обрабатывал приведенный ниже код для каждой группы в файле.
my $Group = "Security_Group_X";
Win32::NetAdmin::GetDomainController('',$Domain,$Server);
if(! Win32::NetAdmin::GroupGetMembers($Server,$Group,\@UserList)){
print "error connecting to group " . $Group;
}
else {
$i=0;
$t=50;
foreach $user (@UserList){
$i++.
print " $user\n";
}
print $i . " Current users in this group.\n";
if ($i > $t){
### i have some code here that would email the count and users ###
}
else {
print $Group . " is still under the limit. \n";
}
}
Заранее спасибо за любой совет.