Использование GPO для сбора данных об активности просмотра VMware

Наша группа безопасности хочет, чтобы мы начали регистрировать данные для внешнего доступа к нашей среде просмотра. Сначала мы думали, что безопасность представления будет регистрировать все исходные IP-адреса, которые имеют внешнюю природу, поэтому, если по какой-то причине произойдет вторжение, у нас будет запись об этом там.

Конечно, наш брандмауэр регистрирует всю эту информацию, но корреляция ее для просмотра является в лучшем случае отрывочной с нашей текущей реализацией.

Мы знаем, что на viewdesktops есть набор ключей в VolitateEnviroment, который содержит такие вещи, как исходный ip и имя пользователя и т. Д.

У нас есть сценарий, который при запуске в качестве сценария входа в систему, подключенный к учетной записи пользователя в AD, собирает информацию по мере необходимости.

Если у нас есть объект групповой политики, запускающий тот же сценарий, информация не собирается.

Мы чувствуем, что есть часть головоломки, которую нам не хватает, но мы не знаем, что. Если кто-то знает, что мы забываем или неверно конфигурируем, это было бы замечательно, или если у вас есть лучший способ сбора ip внешних источников для просмотра, в частности, мы бы тоже заинтересовались этим.

Спасибо,

РЕДАКТИРОВАТЬ КОД

Пакетный скрипт для выгрузки в текстовый файл @echo off timeout 20 echo % имя_компьютера%/%username% %time% %date% >>c:\vdi\vmware.txt echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>>c:\vdi\vmware.txt reg запрос "HKEY_CURRENT_USER\Volatile Environment" /v "ViewClient_LoggedOn_Username">>c:\vdi\vmware.txt reg запрос "HKEY_CURRENT_USER\Volatile Environment" /v "ViewClient_IP_Address">>c:\vdi\vmware.txt echo.>>c:\vdi\vmware.txt

Сценарий VB для отображения значений Const HKEY_CURRENT_USER = &H80000001 Установить wmiLocator=CreateObject("WbemScripting.SWbemLocator") Установить wmiNameSpace = wmiLocator.ConnectServer(".", "Root\default") Установить objRegrovSet =PNPG = ") = WGPG" =) WMI "Летучие среда" LRC = objRegistry.GetStringValue(HKEY_CURRENT_USER, SPATH, "ViewClien_Machine_Name", vMachine) LRC = objRegistry.GetStringValue(HKEY_CURRENT_USER, SPATH, "ViewClien_IP_Address", ПСИ) LRC = objRegistry.GetStringValue(HKEY_CURRENT_USER, SPATH, "ViewClien_MAC_Address", vMAC) msgbox "Имя удаленного устройства -" & vMachine & " @ " & vIP & " (" & vMAC & ") "

он хотел, чтобы я упомянул, что пакетный файл действительно запускается, и я вижу, как он начинает обратный отсчет при повторном подключении, но он не захватывает значения реестра.

1 ответ

Решение

Мне удалось получить исходный IP-адрес, имя пользователя и время в одном текстовом файле КАЖДЫЙ раз, когда пользователь подключается с помощью клиента View к виртуальной машине Windows, независимо от того, выходят они из системы или нет. Я нашел объект групповой политики в шаблонах View, который называется CommandtoRunOnConnect и CommandtoRunOnReConnect. Используя их, мы можем выполнить скрипт, который извлекает информацию из View и использует их по своему вкусу. Поскольку этот объект групповой политики не выполняет сценарий входа в систему, я считаю, что он выполняется с использованием локальной учетной записи SYSTEM.

Хитрость заключалась в том, чтобы использовать переменные среды вместо ключей реестра. Я полагаю, потому что скрипт должен был запускаться при подключении как локальная учетная запись SYSTEM, ключи для пользователя были недоступны. Вместо этого скрипт просто говорит%Viewclient_IP_Address% и все. Не стесняйтесь размещать это на форуме пользователя. Документация для этого не упоминается, потому что переменные не были записаны по умолчанию в 4.6.

Спасибо за помощь

Другие вопросы по тегам