Powershell Список групп и членов из AD и экспорт в CSV - PullRequest
1 голос
/ 14 февраля 2012

Я создал CSV со всеми именами групп. Следующий скрипт читает все имена групп из «group.csv» и перечисляет группу и участников.

Сценарий:

Add-PSSnapin Quest.ActiveRoles.ADManagement
$csv = Get-Content "f:\Temp\group.csv"

$result = $csv | foreach-object {
$group=$_
get-qadgroupmember "$_" -sizelimit 0 -indirect | select-object samaccountname,@{n="GroupName";e={$group}}
}
$result | export-csv f:\temp\groupandmem.csv -notypeinformation

В "group.csv" содержится более 1000 групп, в каждой из которых много членов. Выполнение сценария останавливается с проблемой памяти, и ничего не записывается в groupandmem.csv, потому что это наконец сделано.

У меня есть следующие вопросы:

Возможно: - Для каждой группы в «group.csv» перечислите группу из CSV, найдите группу в AD, отобразите участников и запишите имя группы и участников для пользователей groupandmem.csv. Сделайте это для всех групп в "group.csv".

-Группаandmem.csv заполняется следующим образом:

Строка 1, группа 1, участник 2, участники 3 .......

Строка 2, группа2, участник1, участники2 и т. Д.

1 Ответ

1 голос
/ 14 февраля 2012

Если вы начнете назначать вещи переменным, то вы не позволите powershell "потянуть" пользователей с одного конца канала (AD) на другой конец (файл CSV.) Вместо этого структурируйте свой конвейер следующим образом:

Get-Content "f:\Temp\group.csv" | foreach-object {
    $group = $_ # grab current group name
    get-qadgroupmember $group -sizelimit 0 -indirect | `
        select-object samaccountname,@{n="GroupName";e={$group}}
} | export-csv f:\temp\groupandmem.csv -notypeinformation

Теперь существует истинный «конвейер» от начала до конца: csv | foreach | get | transform | export

Раньше вы делали резервные копии, присваивая все в переменную перед передачей ее следующей команде.

Обновлено: добавлено $ group к имени текущей группы захвата (строка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...