Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Mark Russinovich
Opublikowano: 5 listopada 2026 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ą 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 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.