PsExec v2.43
Autor: Mark Russinovich
Opublikowano: 11 kwietnia 2023 r.
Pobierz 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 Dla Marka, 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ę 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 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. |
komputer | 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 Enter. Wpisywanie 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"
Pobierz 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.