PsExec v2.34

Autor: Mark Russinovich

Publikováno: 25. května 2021

DownloadStáhnout PsTools(3,5 MB)

Úvod

Nástroje, jako je Telnet a programy vzdáleného řízení, jako je počítač Symantec, umožňují spouštět programy ve vzdálených systémech, ale mohou být bolestí při nastavová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, kompletní interaktivitu pro konzolové aplikace, aniž byste museli ručně instalovat klientský software. Nejvýkonnější použití psExec zahrnuje spouštění interaktivních příkazů na vzdálených systémech a nástrojů pro vzdálené povolení, 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 "vzdáleným správcem". Žádný z psTools neobsahuje viry, ale byly používány viry, což je důvod, proč aktivují oznámení virů.

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ánekWindows IT Pro Magazine pro Marka z července 2004, který se zabývá pokročilým používáním PsExec.

Použití:

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 CPU 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ě vzdáleného systému.
-d Nečekejte na ukončení procesu (neinteraktivní).
-e Nenačte profil zadaného účtu.
-f Zkopírujte zadaný program, i když soubor již existuje ve vzdáleném systému.
-i Spusťte program tak, aby pracoval s plochou zadané relace ve vzdáleném systému. Pokud není zadána žádná relace, proces se spustí v relaci konzoly. Tento příznak se vyžaduje při interaktivním pokusu o spuš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šší, spustí se proces se zvýšeným tokenem účtu, pokud je k dispozici.
-l Spusťte proces jako omezený uživatel (odstraní skupinu Administrators a povolí jenom oprávnění přiřazená skupině Uživatelé). Na 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žijte -background ke spuštění s nízkou pamětí a prioritou vstupně-výstupních operací v Vista.
Počítače 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, spustí PsExec aplikaci v místním systému a pokud zadáte zástupný znak (\\*), spustí PsExec 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 pro předání (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 do uvozovek, například

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

Vstup se předá do vzdáleného systému, jenom když stisknete klávesu Enter. Psaní ctrl-C ukončí vzdálený proces.

Pokud vynecháte uživatelské jméno, 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 zosobňuje). 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é nástrojem PsExec jsou specifické pro aplikace, které spouštíte, nikoli PsExec.

Příklady

Tento článek 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í IpConfig ve vzdáleném systému pomocí /all přepínače 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 provede ho interaktivně:

psexec -i \\marklap -c test.exe

Zadejte úplnou cestu k programu, který je již nainstalovaný ve vzdáleném systému, pokud není na 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 ZABEZPEČENÍ::

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

Pokud chcete 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"

DownloadStáhnout PsTools(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 Vista a vyšší.
  • Server: Windows Server 2008 a vyšší.