Показать полную графическую версию : Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл
VAndreyG
17-08-2021, 22:51
Приветствую!
Подскажите, пожалуйста, как можно реализовать следующее:есть файл csv на 150к строк, содержаться в нем названия групп (SamAccountName), которые надо сравнить с ad, и на выходе получить список с актуальными и не существующими.
DJ Mogarych
18-08-2021, 08:56
Каково строение файла csv?
В целом, как-то так:
foreach ($group in (gc "C:\temp\Группы.txt")) {
try {
get-adgroup "$group" > $null
"$group" >> "C:\temp\Существуют.txt"
}
catch {
"$group" >> "C:\temp\Не существуют.txt"
}
}
VAndreyG
18-08-2021, 09:16
Каково строение файла csv?
В целом, как-то так:
foreach ($group in (gc "C:\temp\Группы.txt")) {
try {
get-adgroup "$group" > $null
"$group" >> "C:\temp\Существуют.txt"
}
catch {
"$group" >> "C:\temp\Не существуют.txt"
}
}
Один Столбец с наименование групп
DJ Mogarych
18-08-2021, 09:40
Ну запустите да попробуйте.
VAndreyG
18-08-2021, 10:02
Ну запустите да попробуйте.
Отрабатывает, но не совсем корректно, что очень странно, отрабатывает, как и мой ранее написанный.. При условии, если имя группы содержит в названии русские буквы, он перемещает её в несуществующие
DJ Mogarych
18-08-2021, 12:54
Потому что импорт текстового файла идёт, скорее всего, с неверной кодировкой. Запустите отдельно
gc "C:\temp\Группы.txt".
Если кодировка неправильная, добавьте параметр
gc "C:\temp\Группы.txt" -encoding utf8
Но опять же, слишком много предположений, т. к. информации от вас немного.
а try/catch там будет работать? Зависит от настройки обработки ошибок командлетами. SamAccountName лучше через -Identity передать
SamAccountName лучше через -Identity »
Sham, не критично в данном случае, передается только один параметр.
а try/catch там будет работать? »
будет, хотя и странно, что его используют для этого и таким образом.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.