Отправьте пакетный файл на компьютер с 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/