Как отправить команду из Windows в Windows

12

Как мне создавать сценарии удаленных команд на других компьютерах Windows с компьютера Windows?

Например, в сетях * nix- * nix я могу это сделать ssh wu@otherbox foo, и при условии, что ключи настроены правильно, fooзапускается и клиент ssh возвращает код возврата.

Пол Натан
источник
Я пока не могу комментировать, иначе я бы добавил это: 3-й Psexec с добавленным комментарием о том, что лицензионное соглашение может быть принято через аргумент командной строки / accepteula
NPS

Ответы:

22

psexec - http://technet.microsoft.com/en-us/sysinternals/bb897553

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

Другой вариант - написать powershell или vbscript (используя WMI).

jftuga
источник
6

Инструмент командной строки WMI - хороший выбор:

wmic.exe /node:somecomputer process call create "c:\bin\uphclean\uphclean.exe -install"
RobW
источник
2

Есть другой способ, если вы ищете подход сценариев. Это можно сделать с помощью powershell в дополнение к psexec и wmic. Удаленный PowerShell работает только для Windows 7 и, вероятно, Vista, и определенно для Server 2008.

invoke-command -computername YourTarget01 -scriptblock {
    $Object=get-something $Wibble
    $Data1=$Object.method
    }

Для этого требуется, чтобы WinRM был включен и настроен на целевой машине. Этот материал может быть передан через GPO, поэтому вам не нужно настраивать его вручную везде. Удобно для массовых развертываний. Для сложных действий хорошей идеей является создание одного объекта сеанса, чтобы вы не раскручивали новый каждый раз, когда нажимаете на машину:

$Session=new-pssession -ComputerName YourTarget01
invoke-command -Session $Session -Scriptblock { }

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

sysadmin1138
источник