PsExec v2.43

Autor: Mark Russinovich

Opublikowano: 11 kwietnia 2023 r.

DownloadPobierz narzędzie PsTools (5 MB)

Wprowadzenie

Narzędzia takie jak Telnet i programy zdalnego sterowania, takie jak PC Anywhere firmy Symantec, umożliwiają wykonywanie programów w systemach zdalnych, ale mogą być one uciążliwe dla skonfigurowania i wymagania zainstalowania oprogramowania klienckiego w systemach zdalnych, do których chcesz uzyskać dostęp. PsExec to lekki zamiennik telnetu, który umożliwia wykonywanie procesów w innych systemach, wraz z pełną interakcyjnością dla aplikacji konsolowych, bez konieczności ręcznego instalowania oprogramowania klienckiego. Najbardziej zaawansowane zastosowania programu PsExec obejmują uruchamianie interakcyjnych wierszy polecenia w systemach zdalnych i narzędziach do zdalnego włączania, takich jak IpConfig, które w przeciwnym razie nie mają możliwości wyświetlania informacji o systemach zdalnych.

Uwaga: niektóre skanery antywirusowe zgłaszają, że co najmniej jeden z narzędzi jest zainfekowany wirusem "zdalnym administratorem". Żaden z psTools nie zawiera wirusów, ale zostały one użyte przez wirusy, dlatego wyzwalają powiadomienia wirusów.

Instalacja

Wystarczy skopiować plik PsExec na ścieżkę wykonywalną. Wpisanie "psexec" powoduje wyświetlenie składni użycia.

Korzystanie z narzędzia PsExec

Zobacz artykuł z lipca 2004 r. dotyczący magazynu Windows IT Pro DlaMarka, który obejmuje zaawansowane użycie programu PsExec.

Usage:

psexec [\\\\computer[,computer2[,...] | @file]][-u user [-p psswd]][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-g n][-a n,n,...][-accepteula][-nobanner] cmd [arguments]
Parametr Opis
-a Oddzielne procesory, na których aplikacja może działać z przecinkami, gdzie 1 jest najniższym numerem procesora CPU. Na przykład aby uruchomić aplikację na procesorze CPU 2 i procesorze CPU 4, wprowadź: "-a 2,4"
-c Skopiuj określony plik wykonywalny do systemu zdalnego do wykonania. Jeśli pominiesz tę opcję, aplikacja musi znajdować się w ścieżce systemowej w systemie zdalnym.
-D Nie czekaj na zakończenie procesu (nieinterakcyjne).
-E Nie ładuje profilu określonego konta.
-F Skopiuj określony program nawet wtedy, gdy plik już istnieje w systemie zdalnym.
-i Uruchom program, aby współdziałał z pulpitem określonej sesji w systemie zdalnym. Jeśli nie określono sesji, proces jest uruchamiany w sesji konsoli. Ta flaga jest wymagana podczas próby interaktywnego uruchamiania aplikacji konsoli (z przekierowanym standardowym we/wy).
-h Jeśli system docelowy ma wartość Vista lub nowszą, ma przebieg procesu z podwyższonym poziomem uprawnień konta, jeśli jest dostępny.
-L Uruchom proces jako ograniczony użytkownik (usuwa grupę Administracja istratorów i zezwala tylko na uprawnienia przypisane do grupy Użytkownicy). W systemie Windows Vista proces jest uruchamiany z niską integralnością.
-n Określa limit czasu w sekundach nawiązywania połączenia z komputerami zdalnymi.
-P Określa opcjonalne hasło dla nazwy użytkownika. W przypadku pominięcia tego monitu zostanie wyświetlony monit o wprowadzenie ukrytego hasła.
-r Określa nazwę usługi zdalnej do utworzenia lub interakcji.
-s Uruchom proces zdalny na koncie systemowym.
-U Określa opcjonalną nazwę użytkownika logowania do komputera zdalnego.
-v Skopiuj określony plik tylko wtedy, gdy ma wyższy numer wersji lub jest nowszy niż w systemie zdalnym.
-W Ustaw katalog roboczy procesu (względem komputera zdalnego).
-X Wyświetl interfejs użytkownika na bezpiecznym pulpicie winlogon (tylko system lokalny).
-Priorytet Określa -low, -belownormal, -abovenormal, -high lub -realtime, aby uruchomić proces o innym priorytcie. Użyj -background, aby uruchomić przy małej ilości pamięci i priorytetu we/wy w vista.
Komputerze Direct PsExec do uruchamiania aplikacji na komputerze zdalnym lub komputerach określonych. Jeśli pominięto nazwę komputera, program PsExec uruchamia aplikację w systemie lokalnym, a jeśli określisz symbol wieloznaczny (\\*), program PsExec uruchomi polecenie na wszystkich komputerach w bieżącej domenie.
@file Program PsExec wykona polecenie na każdym z komputerów wymienionych w pliku.
Cmd Nazwa aplikacji do wykonania.
Argumenty Argumenty do przekazania (należy pamiętać, że ścieżki plików muszą być ścieżkami bezwzględnymi w systemie docelowym).
-accepteula Ta flaga pomija wyświetlanie okna dialogowego licencji.
-nobanner Ta flaga pomija baner startowy i komunikat o prawach autorskich.

Możesz ująć aplikacje, które mają spacje w ich nazwie z cudzysłowami, np.

psexec \\marklap "c:\\long name app.exe"

Dane wejściowe są przekazywane tylko do systemu zdalnego po naciśnięciu klawisza Enter. Wpisywanie klawiszy Ctrl-C kończy proces zdalny.

Jeśli pominięto nazwę użytkownika, proces zostanie uruchomiony w kontekście konta w systemie zdalnym, ale nie będzie miał dostępu do zasobów sieciowych (ponieważ personifikuje się). Określ prawidłową nazwę użytkownika w Domain\User składni, jeśli proces zdalny wymaga dostępu do zasobów sieciowych lub uruchomienia na innym koncie. Należy pamiętać, że hasło i polecenie są szyfrowane podczas przesyłania do systemu zdalnego.

Kody błędów zwracane przez program PsExec są specyficzne dla wykonywanych aplikacji, a nie PsExec.

Przykłady

W tym artykule opisano sposób działania programu PsExec i przedstawiono wskazówki dotyczące sposobu korzystania z niego:

Następujące polecenie uruchamia interakcyjny wiersz polecenia w programie \\marklap:

psexec -i \\marklap cmd

To polecenie wykonuje polecenie IpConfig w systemie zdalnym z przełącznikiem /all i wyświetla wynikowe dane wyjściowe lokalnie:

psexec -i \\marklap ipconfig /all

To polecenie kopiuje program test.exe do systemu zdalnego i wykonuje go interaktywnie:

psexec -i \\marklap -c test.exe

Określ pełną ścieżkę do programu, który jest już zainstalowany w systemie zdalnym, jeśli nie znajduje się w ścieżce systemu:

psexec -i \\marklap c:\bin\test.exe

Uruchom polecenie Regedit interaktywnie na koncie systemowym, aby wyświetlić zawartość kluczy SAM i SECURITY::

psexec -i -d -s c:\windows\regedit.exe

Aby uruchomić program Internet Explorer tak jak w przypadku uprawnień ograniczonych użytkowników, użyj następującego polecenia:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

DownloadPobierz narzędzie PsTools (5 MB)

Narzędzia PSTools

PsExec jest częścią rosnącego zestawu narzędzi wiersza polecenia Sysinternals, które ułatwiają administrowanie lokalnymi i zdalnymi systemami o nazwie PsTools.

Działa w:

  • Klient: Windows 8.1 lub nowszy.
  • Serwer: Windows Server 2012 i nowsze.