IT→ Оснастка «Удаленное управление компьютером»
Май 12, 2011
Очень часто использую оснастку «Управление компьютером» (compmgmt.msc) для управления удаленным компьютером. С помощью нее можно запускать/останавливать сервисы, закрывать активные сессии, расшаривать папки, добавлять пользователей в локальные группы, просматривать диспетчер устройств и все это удаленно!
Для того, чтобы запустить её для удаленного управления, необходимо открыть саму оснастку compmgmt.msc, выбрать «Действия -> Подключиться к другому компьютеру…» и ввести адрес компьютера — кажется что не сложно. Но когда приходиться выполнять эти действия по 20 раз в день, начинаешь задумываться о том как оптимизировать этот процесс, чем я и занялся.
Открыв файл compmgmt.msc в блокноте, можно увидеть XML структуру, которая описывает параметры оснастки. Ничего похожего на адрес компьютера в нем не обнаружилось и поэтому было решено сравнить через Total Commander два файла оснастки — стандартной compmgmt.msc и ранее сохраненной compmgmt.msc, настроенной на удаленный компьютер.
Оснастку можно сохранить, если сначала запустить mmc.exe, после чего через нее открыть файл compmgmt.msc.
Самое существенное изменение в файлах было на 498 строчке, где между тэгом <Binary> и </Binary> находился набор символов, похожий на Base64. Раскодировав эту строку был найден адрес компьютера с другим лишним мусором, который был постоянен и не особо мешал. Открыв BDS2006, быстро накидал код программы, запускающий оснастку для удаленного компьютера, адрес которого можно передать аргументом. Немного пришлось помучатся с кодировкой, так как текст адреса должен быть в UTF-16, а Delphi плохо знаком с ней. Также попутно нашел для себя добротный модуль кодирования/декодирования Base64.
UPD
А ларчик просто открывался:
mmc.exe compmgmt.msc /computer=\\192.168.0.1
Исходники на mscexec.zip
Похожие статьи: