Отправьте пакетный файл на компьютер с Windows и выполните его

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

Какой самый простой способ добиться выполнения части на удаленном компьютере? Это действительно так сложно? Я уже копирую файл.bat с помощью xcopy... Мне просто нужно его запустить.

3 ответа

Решение

Вы можете выполнить скрипт или бинарный файл, удаленно используя WMI. Это минимальный пример, написанный на VBS, который запускает командный файл C:\test.cmd находится на удаленном компьютере FCSD-ISC1.

strComputer = "FCSD-ISC1"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objWMIService.Create "C:\test.cmd", null, null, intProcessID

Об этом более подробно рассказано в статье "Сценарист".

Я рекомендую смонтировать общий ресурс C$, проверить каталог.\Temp (создать, если он не существует) и скопировать туда. (Существует административный ресурс "admin$", но я рекомендую не использовать его.)

Вы можете сделать это из командной строки через net use * \\servername\c$ /user:domain/accountили укажите диск как net use t: \\servername\c$ /user:domain/account

Это должно быть хорошо задокументировано в MSDN. Если вы пишете для скрипта, есть много примеров в репозитории Центра сценариев Microsoft

Я знаю, что это больше не актуально, но ради полноты (эта страница посвящена Google), я добавлю сюда RemCom, версию Psexec с открытым исходным кодом, получите ее здесь: http://sourceforge.net/projects/rce/

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