Jak wysłać polecenie z systemu Windows do systemu Windows

12

Jak wykonać skrypt zdalnych poleceń na innych komputerach z systemem Windows z komputera z systemem Windows?

Np. W sieciach * nix- * nix mogę to zrobić ssh wu@otherbox fooi pod warunkiem, że klucze są poprawnie skonfigurowane, foodziała, a klient ssh zwraca kod powrotu.

Paul Nathan
źródło
Nie jestem jeszcze w stanie tego skomentować, bo wrzuciłbym to tutaj: 3rding Psexec, z dodanym komentarzem, że umowę EULA można zaakceptować za pomocą argumentu wiersza poleceń / accepteula
NPS

Odpowiedzi:

22

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

PsExec jest lekkim zamiennikiem telnetu, który umożliwia wykonywanie procesów w innych systemach, wraz z pełną interaktywnością dla aplikacji konsolowych, bez konieczności ręcznej instalacji oprogramowania klienckiego.

Inną opcją jest napisanie PowerShell lub VBScript (za pomocą WMI).

jftuga
źródło
6

Narzędzie wiersza polecenia WMI to dobry wybór:

wmic.exe /node:somecomputer process call create "c:\bin\uphclean\uphclean.exe -install"
RobW
źródło
2

Istnieje inny sposób, jeśli szukasz podejścia skryptowego. Można to zrobić za pomocą programu PowerShell oprócz psexec i wmic. Zdalny PowerShell działa tylko na Windows 7 i prawdopodobnie Vista, a na pewno na Server 2008.

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

Aby tego użyć, należy włączyć WinRM i skonfigurować go na komputerze docelowym. Te rzeczy można przesyłać przez GPO, więc nie musisz konfigurować ich ręcznie wszędzie. Przydatny do masowych wdrożeń. W przypadku złożonych akcji dobrym pomysłem jest utworzenie obiektu z pojedynczą sesją, aby nie rozkręcać nowego za każdym razem, gdy uderzasz w maszynę:

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

Domyślnie poświadczenia są wywoływaczem, ale inne poświadczenia mogą być określone jako opcje.

sysadmin1138
źródło