PsExec v2.44

Mark Russinovich

Opublikowano: 5 listopada 2026 r.

Pobierz Pobierz narzędzie PsTools(5 MB)

Wprowadzenie

Narzędzia takie jak Telnet i programy zdalnego sterowania, takie jak PC Anywhere firmy Symantec, umożliwiają uruchamianie programów na zdalnych systemach, ale mogą być one uciążliwe w konfiguracji i wymagają zainstalowania oprogramowania klienckiego na zdalnych systemach, 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 interaktywnych wierszy polecenia w systemach zdalnych oraz zdalne uruchamianie narzędzi, 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 jedno z narzędzi jest zainfekowane wirusem typu "remote admin". Żaden z PsTools nie zawiera wirusów, ale zostały one użyte przez wirusy, dlatego wyzwalają alerty antywirusowe.

Instalacja

Wystarczy skopiować plik PsExec do ścieżki systemowej PATH. Wpisanie "psexec" powoduje wyświetlenie składni użycia.

Korzystanie z narzędzia PsExec

Zobacz wydanie z lipca 2004 r. magazynu Windows IT Pro, aby przeczytać artykuł Marka omawiający zaawansowane użycie programu PsExec.

Użycie:

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 Procesory, na których aplikacja może działać, oddzielone przecinkami, gdzie 1 jest najniższym numerem 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 na system zdalny w celu uruchomienia. Jeśli pominiesz tę opcję, aplikacja musi znajdować się w ścieżce systemowej w systemie zdalnym.
-d Nie czekaj na zakończenie działania procesu (w trybie nieinterakcyjnym).
-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 systemem docelowym jest Vista lub nowszy, uruchom proces przy użyciu tokenu podwyższonych uprawnień konta, jeśli jest dostępny.
-l Uruchom proces jako ograniczony użytkownik (usuwa grupę Administratorzy 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 zostanie wyświetlony monit o wprowadzenie ukrytego hasła.
-r Określa nazwę usługi zdalnej do utworzenia lub interakcji z nią.
-s Uruchom proces zdalny na koncie systemowym.
-u Określa opcjonalną nazwę użytkownika do logowania do komputera zdalnego.
-v Skopiuj określony plik tylko wtedy, gdy ma wyższy numer wersji lub jest nowszy niż plik 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ć z niskim priorytetem pamięci i we/wy w Vista.
komputer Poleć programowi PsExec uruchomienie aplikacji na komputerze zdalnym lub określonych komputerach. 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 uruchomienia.
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 uniemożliwia wyświetlenie 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 w cudzysłów, np.

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

Dane wejściowe są przekazywane tylko do systemu zdalnego po naciśnięciu klawisza Enter. Naciśnięcie Ctrl+C kończy proces uruchomiony zdalnie.

Jeśli pominięto nazwę użytkownika, proces zostanie uruchomiony w kontekście Twojego konta w systemie zdalnym, ale nie będzie miał dostępu do zasobów sieciowych (ponieważ działa z użyciem personifikacji). Określ prawidłową nazwę użytkownika w składni Domain\User, jeśli proces zdalny wymaga dostępu do zasobów sieciowych lub uruchamiania w ramach innego konta. 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, który napisałem, opisuję 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 \\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 na zdalnym systemie, jeśli nie znajduje się on w zmiennej PATH 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 z ograniczonymi uprawnieniami użytkownika, użyj następującego polecenia:

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

Pobierz Pobierz narzędzie PsTools(5 MB)

PSTools

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

Działa na:

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