PsExec, wersja 2.34

By Mark Russinovich

Opublikowano: 25 maja 2021 r.

Pobierznarzędzie PsTools(3,5 MB)

Wprowadzenie

Narzędzia, takie jak Telnet i programy zdalnego sterowania, takie jak komputer firmy Symantec w dowolnym miejscu, umożliwiają wykonywanie programów w systemach zdalnych, ale mogą być one żmudne do skonfigurowania i wymagają 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 z pełną interakcyjnością dla aplikacji konsolowych bez konieczności ręcznego instalowania oprogramowania klienckiego. Najbardziej zaawansowane zastosowania narzędzia PsExec obejmują uruchamianie interakcyjnych wiersza polecenia w systemach zdalnych i narzędzia do zdalnego włączania, takie 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 wirusami "administratora zdalnego". Żaden z narzędzi PsTool nie zawiera wirusów, ale zostały one użyte przez wirusy, dlatego wyzwalają powiadomienia o wirusach.

Instalacja

Po prostu skopiuj program PsExec do ścieżki pliku wykonywalnego. Wpisanie "psexec" wyświetla jego składnię użycia.

Korzystanie z narzędzia PsExec

Zobacz artykuł firmy Windows IT Pro Magazine z lipca 2004 r., który dotyczy zaawansowanego użycia narzędzia PsExec.

Użycia:

psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
Parametr Opis
-a Oddzielne procesory, na których aplikacja może działać z przecinkami, gdzie 1 jest najmniej numerowany procesor CPU. Aby na przykład uruchomić aplikację na procesorach CPU 2 i CPU 4, wpisz: "-a 2,4"
-c Skopiuj określony plik wykonywalny do systemu zdalnego w celu wykonania. W przypadku pominięcia tej opcji aplikacja musi znajdować się w ścieżce systemowej w systemie zdalnym.
-d Nie czekaj na zakończenie procesu (nieinterakcyjny).
-e Nie ładuje profilu określonego konta.
-f Skopiuj określony program, nawet jeśli 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 interakcyjnego uruchamiania aplikacji konsolowych (z przekierowywanymi standardowymi we/wy).
-h Jeśli system docelowy jest Vista lub wyższa, ma proces uruchomiony z tokenem z podwyższonym poziomem uprawnień konta, jeśli jest dostępny.
-l Uruchom proces jako ograniczony użytkownik (grupa Administratorzy jest rozłożona i zezwala tylko na uprawnienia przypisane do grupy Użytkownicy). Na 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. Jeśli to pominiesz, zostanie wyświetlony monit o wprowadzenie ukrytego hasła.
-r Określa nazwę usługi zdalnej do tworzenia lub interakcji z.
-s Uruchom proces zdalny na koncie systemowym.
-u Określa opcjonalną nazwę użytkownika dla logowania do komputera zdalnego.
-v Skopiuj określony plik tylko wtedy, gdy ma on wyższy numer wersji lub jest nowsze niż ten w systemie zdalnym.
-w Ustaw katalog roboczy procesu (względem komputera zdalnego).
-x Wyświetlanie interfejsu użytkownika na bezpiecznym pulpicie usługi Winlogon (tylko system lokalny).
-priorytet Określa -low, -belownormal, -abovenormal, -high lub -realtime, aby uruchomić proces z innym priorytetem. Użyj -background do uruchamiania z małą pamięcią i priorytet we/wy w systemie Vista.
Komputerze Przekieruj program PsExec do uruchomienia aplikacji na określonym komputerze zdalnym lub komputerach. W przypadku pominięcia nazwy 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 wszystkich komputerach 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.

Aplikacje, które mają w nazwie spacje, można ująć w cudzysłów, np.

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

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

W przypadku pominięcia nazwy użytkownika proces zostanie uruchomiony w kontekście konta w systemie zdalnym, ale nie będzie miał dostępu do zasobów sieciowych (ponieważ jest personifikacja). Określ prawidłową nazwę użytkownika w składni , jeśli proces zdalny wymaga dostępu do zasobów sieciowych lub uruchamiania Domain\User 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 dla psexec.

Przykłady

W tym artykule opisano, jak działa program PsExec, i podano wskazówki dotyczące 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 za pomocą /all przełącznika 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ę on w ścieżce systemu:

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

Uruchom regedit interakcyjnie na koncie systemowym, aby wyświetlić zawartość kluczy SAM i SECURITY::

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

Aby uruchomić Internet Explorer tak jak w przypadku ograniczonych uprawnień użytkownika, użyj tego polecenia:

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

Pobierznarzędzie PsTools(3,5 MB)

Narzędzia PSTools

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

Działa w:

  • Klient: Windows Vista i nowszych.
  • Serwer: Windows Server 2008 i wyższe.