![]() |
Создание файлов на основе данных из AD домена
День добрый! Опять с просьбой к сообществу.
Для анализа логов прокси сервера поставили LightSquid. Для вывода информации в человеческом виде необходимо наличие двух файлов вида: realname.cfg: Код:
ip-адрес_компьютера ФИО_пользователя (либо, если не известно, то "Имя_компьютера") Код:
ip-адрес_компьютера Группа_пользователя Сейчас используется следующий логон скрипт: Код:
Dim adsinfo, ThisComp, oUser Код:
Dim adsinfo, ThisComp, oUser P.s. И еще вопрос как модифицировать логофф скрипт чтобы в описание компьютера и пользователя получалось не "Logged off: Имя компьютера/ФИО пользователя Время Дата выключения", а "Имя компьютера/ФИО пользователя; Вошел: Время Дата; Вышел: Время Дата". Т.е. чтобы не происходило перезаписывание значения поля Description, а происходило дописывание значений. P.p.s. Еще бы хотелось еще один скрипт, который генерировал файл вида: "IP_компьютера; Отдел; ФИО пользователя; Время Дата входа; Время Дата выхода" Лучше сразу в cvs файл, просто иногда возникает ситуация когда надо знать включался ли компьютер в некоторые дни или нет. |
В Powershell есть удобный командлет Get-ADUser, который вытаскивает информацию из AD.
И вообще: Код:
Get-Command -Module ActiveDirectory В CSV можно экспортировать командой Export-Csv |
Спасибо за наводку, обязательно гляну. Возможно получиться разобраться в его работе.
P.s. Увы, скрипты будут крутиться на Windows Server 2003, там такого модуля нет, он появился только на Windows 7. |
https://ss64.com/ps/quest.html
Цитата:
|
Попробую, спасибо. О таком модуле информации не слышал. Теперь что попробовать.
|
Логон и логофф скрипты поправил. Теперь заноситься то что надо.
Логон: Код:
Dim adsinfo, ThisComp, oUser Код:
Dim adsinfo, ThisComp, oUser |
В принципе стало получаться, но нужна помощь по двум вопросам.
Для получения списка из Ip адреса компьютера и ФИО пользователя сделал такой скрипт: Код:
Add-pssnapin Quest.ActiveRoles.ADManagement #подключаем оснастку для работы с AD Код:
Исключение при вызове "GetHostEntry" с "1" аргументами: "Этот хост неизвестен" Второй вопрос: в description у меня пишется "ФИО ; Login: Date Time ; Logoff: Date Time". Как отсечь и писать в файл только то что до первой ";"? P.s. Раньше в описание компьютера писалось на русском языке ("Вошел:", "Вышел:"), но почему-то с одних компьютеров записывалось в правильной кодировке, а с других в другой, из-за чего на части компьютеров описание было нечитаемое. |
Еще раз спасибо DJ Mogarych, за ссылки, взяв за основую и используя информацию из других источников, доработал скрипты до нужного уровня. Поэтому тему закрываю.
|
А объясните, что я делаю не так с этими скриптами?
Ни на сервере ни на винде не работают. Пишут, что нет таких команд в принципе. Надо что-то дополнительное ставить ? R:\>Dim adsinfo, ThisComp, oUser "Dim" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. R:\>Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName) "adsinfo.ComputerName)" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. R:\>Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName) "adsinfo.ComputerName)" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. |
Цитата:
|
Время: 11:47. |
Время: 11:47.
© OSzone.net 2001-