Я знаю, что PsExec идеально подходит для отправки файлов через компьютер в сети, а затем для их выполнения на этом удаленном компьютере, однако я не могу использовать PsExec, потому что я разрабатываю часть программного обеспечения, и у меня не может быть PsExec в качестве зависимости ( по юридическим причинам и т. д.).
Какой самый простой способ добиться выполнения части на удаленном компьютере? Неужели это так сложно? Я уже копирую .bat файл с помощью xcopy ... Мне просто нужно его запустить.
Вы можете выполнить скрипт или двоичный файл удаленно с помощью 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
Более подробно это описано в эта статья Scripting Guy.
Я рекомендую смонтировать общий ресурс C $, протестировать каталог. \ Temp (создать, если он не существует) и скопировать туда. (Существует административный ресурс admin $, но я не рекомендую его использовать.)
Вы можете сделать это из командной строки через net use * \\servername\c$ /user:domain/account
или укажите диск как net use t: \\servername\c$ /user:domain/account
Это должно быть хорошо задокументировано в MSDN. Если вы пишете для скрипта, в репозитории Microsoft Script Center есть много примеров.
Я знаю, что это больше не актуально, но для полноты (эта страница высоко в Google) я добавлю сюда RemCom, которая является версией Psexec с открытым исходным кодом, получите ее здесь: http://sourceforge.net/projects/rce/