Доброго дня всем.
Решил опубликовать свой вариант решения по сбору данных о пользователях ПК в домене. Просто чтобы не пропало зря и возможно кому-нибудь пригодилось.
Данное решение позволяет собирать данные о ПК в домене по мере их подключения к сети, входах пользователей на эти ПК и установленного ПО в момент включения. Началось все с желания поэкспериментировать со средами программирования (Java, Qt), а закончилось довольно полезной утилитой для повседневной работы системного администратора. Серверная часть работает под Linux, но я думаю также будет работать и под любой системой где можно запустить JVM. Клиент для отображения данных изначально собирался под Linux. При компиляции под Windows единственная сложность — не было в комплекте Qt драйвера для обращения к серверу MySQL, который пришлось собирать отдельно.
Из чего состоит это решение:
1. Небольшая агентская программа на чистом С. Запускается дважды через доменные политики. Первый раз при включении ПК с правами системы — собирает данные об оборудовании, установленных программах и сразу отправляет эти данные на сервер. Второй раз — с правами пользователя при его входе в систему для сбора данных о логине пользователя. Данные на сервер отправляет простым XML. Среда разработки Visual C++ 2010 Express.
2. Сервер на языке Java без каких либо фреймворков. Постоянно ожидает сообщения на порту 8889 и складывает полученные данные в базу данных MySQL.
3. Клиент для отображение данных разработан в среде Qt4/5 (изначально Qt4, затем собирался в Qt5). Обращается напрямую к серверу БД MySQL.
Далее приведен исходный код для каждой из указанных частей.
Решил опубликовать свой вариант решения по сбору данных о пользователях ПК в домене. Просто чтобы не пропало зря и возможно кому-нибудь пригодилось.
Данное решение позволяет собирать данные о ПК в домене по мере их подключения к сети, входах пользователей на эти ПК и установленного ПО в момент включения. Началось все с желания поэкспериментировать со средами программирования (Java, Qt), а закончилось довольно полезной утилитой для повседневной работы системного администратора. Серверная часть работает под Linux, но я думаю также будет работать и под любой системой где можно запустить JVM. Клиент для отображения данных изначально собирался под Linux. При компиляции под Windows единственная сложность — не было в комплекте Qt драйвера для обращения к серверу MySQL, который пришлось собирать отдельно.
Из чего состоит это решение:
1. Небольшая агентская программа на чистом С. Запускается дважды через доменные политики. Первый раз при включении ПК с правами системы — собирает данные об оборудовании, установленных программах и сразу отправляет эти данные на сервер. Второй раз — с правами пользователя при его входе в систему для сбора данных о логине пользователя. Данные на сервер отправляет простым XML. Среда разработки Visual C++ 2010 Express.
2. Сервер на языке Java без каких либо фреймворков. Постоянно ожидает сообщения на порту 8889 и складывает полученные данные в базу данных MySQL.
3. Клиент для отображение данных разработан в среде Qt4/5 (изначально Qt4, затем собирался в Qt5). Обращается напрямую к серверу БД MySQL.
Далее приведен исходный код для каждой из указанных частей.