Сделать powershell скрипт для экспорта данных их MS AD
Нужно сделать скрипт на powershell который будет запускаться с ПК пользователя, обращаться к контроллеру домена по реквизитам из конфигурационного файла, собирать информацию о пользователях, ПК и группах безопасности, сохранять результаты в xlsx файл.
Важно: скрипт не должен использовать модуль RSAT-AD-PowerShell и иные дополнительные модули требующие установки в системе пользователя, за исключением необходимости наличия MS Office (для экспорта в xlsx файл).
Запуск скрипта
Скрипт при запуске должен уведомлять пользователя таким сообщением:
Скрипт экспорта данных из Active Directory
Сейчас будет выполнено обращение к контроллеру домена: [login to view URL]
Будут собраны следующие данные: пользователи, компьютеры, группы
Ограничения на тип компьютера: только серверы
Ограничения на юниты:
[login to view URL]
[login to view URL]
Будет произведен поиск IP адресов для компьютеров с использованием DNS сервера: [login to view URL]
Результаты будут сохранены в файл: C:\myscripts\[login to view URL]
Запустить (y/n)?
Имя домена, перечень собираемых данных, ограничения берутся из конфиг файла. Место сохранения - в каталоге с скриптом.
После запуска отображается процесс работы скрипта: подключение к AD, сбор данных, сохранение результатов и т.п.
По результатам выполнения скрипта выводится сообщение об успешном экспорте данных, ссылка на файл, предложение закрыть скрипт.
Конфигурация
Конфигурация скрипта хранится в xml или json файле config (на решение разработчика) в каталоге с скриптом.
Настройки:
Имя домена - string
Собирать ли данные об IP адресах - bool да/нет
Имя DNS сервера - ip address
Перечень собираемых данных - array users, computers, groups
Собирать ли данные о составе групп - bool да/нет
Ограничения на тип компьютера - array computers, servers
Ограничивать ли поиск конкретными юнитами - bool да/нет
Список юнитов - array, или ограничения нет и идет сбор данных с всего AD или указаны юниты в которых собирать данные
User properties, PC properties - список собираемых параметров (name, phone, address и т.д.)
Сохранение файла
Сохранение в xlsx файл. В отдельные вкладки.
Для всех объектов обязательно сохраняются поля ObjectClass, SID, SamAccountName
Конечная цель - экспорт в сервис данных из AD (компьютеры, пользователи, группы).