PsExec v2.44

Autor: Mark Russinovich

Publikováno: 5. listopadu 2026

Stáhnout Stáhnout PsTools(5 MB)

Úvod

Nástroje, jako je Telnet, a programy pro vzdálené ovládání, jako je Symantec's PC Anywhere, umožňují spouštět programy na vzdálených systémech, ale jejich nastavení může být obtížné a vyžadují instalaci klientského softwaru do vzdálených systémů, ke kterým chcete získat přístup. PsExec je lehká náhrada telnetu, která umožňuje spouštět procesy v jiných systémech, včetně úplné interaktivity pro konzolové aplikace, aniž byste museli ručně instalovat klientský software. Nejvýkonnější použití nástroje PsExec zahrnují spouštění interaktivních příkazových řádků ve vzdálených systémech a vzdálené spouštění nástrojů, jako je IpConfig, které jinak nemají možnost zobrazovat informace o vzdálených systémech.

Poznámka: Některé antivirové skenery hlásí, že jeden nebo více nástrojů jsou napadeny virem typu „remote admin“. Žádný z PsTools neobsahuje viry, ale viry je používaly, což je důvod, proč vyvolávají antivirová upozornění.

Instalace

Stačí zkopírovat PsExec do cesty PATH. Když zadáte "psexec", zobrazí se jeho syntaxe použití.

Použití PsExec

Podívejte se na červencové vydání časopisu Windows IT Pro Magazine, kde najdete Markův článek o pokročilém využití PsExec.

Použití:

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 Popis
-a Procesory, na nichž může aplikace běžet, oddělte čárkami; 1 je CPU s nejnižším číslem. Pokud chcete například spustit aplikaci na procesoru 2 a 4, zadejte: "-a 2,4".
-c Zkopírujte zadaný spustitelný soubor do vzdáleného systému pro spuštění. Pokud tuto možnost vynecháte, musí být aplikace v systémové cestě vzdáleného systému.
-d Nečekejte, až se proces ukončí (neinteraktivní).
-e Nenačte profil zadaného účtu.
-f Zkopírujte zadaný program i v případě, že soubor již existuje ve vzdáleném systému.
-i Spusťte program tak, aby interagoval s plochou zadané relace ve vzdáleném systému. Pokud není zadána žádná relace, proces poběží v konzolové relaci. Tento příznak se vyžaduje při interaktivním pokusu o spuštění konzolových aplikací (s přesměrovaným standardním vstupem/výstupem).
-h Pokud je cílový systém Vista nebo vyšší, spusťte proces se zvýšeným tokenem účtu, pokud je k dispozici.
-l Spustit proces jako omezený uživatel (odstraní skupinu Správci a povolí pouze oprávnění přiřazená skupině Uživatelé). V systému Windows Vista proces běží s nízkou integritou.
-n Určuje časový limit v sekundách při připojování ke vzdáleným počítačům.
-p Určuje volitelné heslo pro uživatele. Pokud tuto hodnotu vynecháte, zobrazí se výzva k zadání hesla.
-r Určuje název vzdálené služby pro vytvoření nebo interakci se vzdálenou službou.
-s Spusťte vzdálený proces pod účtem System.
-u Určuje volitelné uživatelské jméno pro přihlášení ke vzdálenému počítači.
-v Zkopírujte zadaný soubor pouze v případě, že má vyšší číslo verze nebo je novější než soubor ve vzdáleném systému.
-w Nastavte pracovní adresář procesu (vzhledem ke vzdálenému počítači).
-x Zobrazte uživatelské rozhraní na zabezpečené ploše Winlogon (pouze místní systém).
-priorita Určuje -low, -belownormal, -abovenormal, -high nebo -realtime, aby se proces spustil s jinou prioritou. Pomocí parametru -background spusťte v systému Vista s nízkou prioritou paměti a vstupně-výstupních operací.
počítač Nasměrujte nástroj PsExec, aby spustil aplikaci na zadaném vzdáleném počítači nebo počítačích. Pokud vynecháte název počítače, Spustí Nástroj PsExec aplikaci v místním systému a pokud zadáte zástupný znak (\\*), Spustí Nástroj PsExec příkaz na všech počítačích v aktuální doméně.
@file Nástroj PsExec spustí příkaz na všech počítačích uvedených v souboru.
cmd Název aplikace, která se má spustit.
argumenty Argumenty, které se mají předat (všimněte si, že cesty k souborům musí být absolutními cestami v cílovém systému).
-accepteula Tento příznak potlačí zobrazení dialogového okna licence.
-nobanner Tento příznak potlačí úvodní banner a zprávu o autorských právech.

Názvy aplikací, které mají v názvu mezery, můžete uzavřít do uvozovek, například

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

Vstup se předá vzdálenému systému, pouze když stisknete klávesu Enter. Když zadáte ctrl-C, ukončí se vzdálený proces.

Pokud uživatelské jméno vynecháte, proces se spustí v kontextu vašeho účtu ve vzdáleném systému, ale nebude mít přístup k síťovým prostředkům (protože používá impersonaci). Zadejte platné uživatelské jméno v syntaxi Domain\User, pokud vzdálený proces vyžaduje přístup k síťovým prostředkům nebo má běžet pod jiným účtem. Všimněte si, že heslo a příkaz se šifrují při přenosu do vzdáleného systému.

Kódy chyb vrácené nástrojem PsExec jsou specifické pro aplikace, které spouštíte, nikoli PsExec.

Příklady

Tento článek, který jsem napsal(a), popisuje, jak PsExec funguje a poskytuje tipy, jak ho používat:

Následující příkaz spustí interaktivní příkazový řádek na \\marklap:

psexec -i \\marklap cmd

Tento příkaz spustí nástroj IpConfig ve vzdáleném systému s přepínačem /? /all a zobrazí výsledný výstup místně:

psexec -i \\marklap ipconfig /all

Tento příkaz zkopíruje program test.exe do vzdáleného systému a spustí ho interaktivně:

psexec -i \\marklap -c test.exe

Zadejte úplnou cestu k programu, který je již nainstalován ve vzdáleném systému, pokud není v cestě systému:

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

Spusťte příkaz Regedit interaktivně v systémovém účtu a zobrazte obsah klíčů SAM a SECURITY:

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

Chcete-li spustit aplikaci Internet Explorer s omezenými uživatelskými oprávněními, použijte tento příkaz:

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

Stáhnout Stáhnout PsTools(5 MB)

PSTools

PsExec je součástí rostoucí sady nástrojů příkazového řádku Sysinternals s názvem PsTools, které pomáhají při správě místních a vzdálených systémů.

Běží na:

  • Klient: Windows 8.1 a novější.
  • Server: Windows Server 2012 a novější.