PsExec v2.40

Od Mark Russinovich

Publikováno: 19. července 2022

StáhnoutPsTools(3,5 MB)

Úvod

Nástroje, jako je Telnet a programy pro vzdálené řízení, jako je počítač Symantec Anywhere, umožňují spouštět programy na vzdálených systémech, ale mohou být bolestí nastavit a vyžadovat instalaci klientského softwaru do vzdálených systémů, ke kterým chcete získat přístup. PsExec je lehká výměna telnetu, která umožňuje spouštět procesy v jiných systémech, kompletní interaktivitu pro konzolové aplikace bez nutnosti ruční instalace klientského softwaru. Nejvýkonnější použití psExec zahrnuje spouštění interaktivních příkazového řádku ve vzdálených systémech a nástrojů pro vzdálené povolení, jako je IpConfig, které jinak nemají možnost zobrazit informace o vzdálených systémech.

Poznámka: Některé antivirové skenery hlásí, že jeden nebo více nástrojů jsou napadeny "vzdáleným správcem" virus. Žádný z PsTools neobsahuje viry, ale byly používány viry, což je důvod, proč aktivují virová oznámení.

Instalace

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

Použití PsExec

Podívejte se na článek společnosti Windows IT Pro Magazinez července 2004, který se zabývá pokročilým používáním PsExec.

Zvyk:

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 Popis
-a Samostatné procesory, na kterých může aplikace běžet s čárkami, kde 1 je nejnižší číslovaný procesor. Pokud chcete například spustit aplikaci na procesoru 2 a PROCESOR 4, zadejte: "-a2,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ě ve vzdáleném systému.
-d Nečekejte na ukončení procesu (neinteraktivní).
-e Nenačte profil zadaného účtu.
-f Zkopírujte zadaný program i v případě, že soubor již ve vzdáleném systému existuje.
-i Spusťte program tak, aby pracoval s plochou zadané relace ve vzdáleném systému. Pokud není zadaná žádná relace, proces se spustí v relaci konzoly. Tento příznak se vyžaduje při interaktivním pokusu o interaktivní spouštění konzolových aplikací (s přesměrovanými standardními vstupně-výstupními operacemi).
-h Pokud je cílový systém Vista nebo vyšší, je proces spuštěn s tokenem se zvýšenými oprávněními účtu, pokud je k dispozici.
-l Spustit proces jako omezený uživatel (odstraní skupinu Administrators a povolí jenom 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živatelské jméno. Pokud toto vynecháte, zobrazí se výzva k zadání skrytého hesla.
-r Určuje název vzdálené služby pro vytvoření nebo interakci.
-s Spusťte vzdálený proces v systémovém účtu.
-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 Zobrazení uživatelského rozhraní na zabezpečené ploše Winlogon (pouze místní systém).
-priority Určuje -low, -belownormal, -abovenormal, -high nebo -realtime pro spuštění procesu s jinou prioritou. Použití -background ke spuštění s nízkou pamětí a prioritou vstupně-výstupních operací v Vista.
počítač Direct PsExec ke spuštění aplikace na vzdáleném počítači nebo počítačích zadaných. Pokud vynecháte název počítače, PsExec spustí aplikaci v místním systému a pokud zadáte zástupný znak (\\*), PsExec spustí příkaz na všech počítačích v aktuální doméně.
@file 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í cesty v cílovém systému).
-accepteula Tento příznak potlačí zobrazení dialogového okna licence.

Aplikace, které mají v názvu mezery, můžete uzavřít pomocí uvozovek, například

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

Vstup se předá vzdálenému systému, jenom když stisknete klávesu Enter. Psaním kláves Ctrl-C ukončíte 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 se zosobní). Zadejte platné uživatelské jméno v Domain\User syntaxi, pokud vzdálený proces vyžaduje přístup k síťovým prostředkům nebo ke spuštění v jiném účtu. 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é 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 obsahuje 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í IpConfig ve vzdáleném systému s /all přepínačem 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 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 Internet Explorer jako 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áhnoutPsTools(3,5 MB)

PSTools

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

Běží na:

  • Klient: Windows 8.1 a vyšší.
  • Server: Windows Server 2012 a vyšší.