PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Ответить
Аватара пользователя
VAndreyG

PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение VAndreyG »

Приветствую!

Подскажите, пожалуйста, как можно реализовать следующее:есть файл csv на 150к строк, содержаться в нем названия групп (SamAccountName), которые надо сравнить с ad, и на выходе получить список с актуальными и не существующими.
Аватара пользователя
DJ Mogarych

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение DJ Mogarych »

Каково строение файла csv?



В целом, как-то так:



Код:

Код: Выделить всё

foreach ($group in (gc "C:\temp\Группы.txt")) {
    try {
    get-adgroup "$group" > $null
    "$group" >> "C:\temp\Существуют.txt"
    }
    catch {
    "$group" >> "C:\temp\Не существуют.txt"
    }
}
Аватара пользователя
VAndreyG

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение VAndreyG »

Цитата DJ Mogarych:



Каково строение файла csv?



В целом, как-то так:



Код:

Код: Выделить всё

foreach ($group in (gc "C:\temp\Группы.txt")) {
    try {
    get-adgroup "$group" > $null
    "$group" >> "C:\temp\Существуют.txt"
    }
    catch {
    "$group" >> "C:\temp\Не существуют.txt"
    }
}





Один Столбец с наименование групп
Аватара пользователя
VAndreyG

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение VAndreyG »

Цитата DJ Mogarych:



Ну запустите да попробуйте.



Отрабатывает, но не совсем корректно, что очень странно, отрабатывает, как и мой ранее написанный.. При условии, если имя группы содержит в названии русские буквы, он перемещает её в несуществующие
Аватара пользователя
DJ Mogarych

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение DJ Mogarych »

Потому что импорт текстового файла идёт, скорее всего, с неверной кодировкой. Запустите отдельно



Код:

Код: Выделить всё

gc "C:\temp\Группы.txt"

.

Если кодировка неправильная, добавьте параметр



Код:

Код: Выделить всё

gc "C:\temp\Группы.txt" -encoding utf8

Но опять же, слишком много предположений, т. к. информации от вас немного.
Аватара пользователя
Sham

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение Sham »

а try/catch там будет работать? Зависит от настройки обработки ошибок командлетами. SamAccountName лучше через -Identity передать
Аватара пользователя
Sham

Re: PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл

Сообщение Sham »

Цитата Sham:



SamAccountName лучше через -Identity
PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл




Sham, не критично в данном случае, передается только один параметр.


Цитата Sham:



а try/catch там будет работать?
PowerShell - Сравнение списка групп из файла с ad на наличие группы и вывод результата в файл




будет, хотя и странно, что его используют для этого и таким образом.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»