PsExec v2.34

Av Mark Russinovich

Publicerad: 25 maj 2021

Laddaned PsTools(3,5 MB)

Introduktion

Med verktyg som Telnet och fjärrstyrningsprogram som Symantecs PC Anywhere kan du köra program på fjärrsystem, men det kan vara svårt att konfigurera och kräva att du installerar klientprogramvara på de fjärrsystem som du vill komma åt. PsExec är en lätt telnet-ersättning som gör att du kan köra processer på andra system, komplett med fullständig interaktivitet för konsolprogram, utan att behöva installera klientprogramvara manuellt. PsExecs mest kraftfulla användningsområden är att starta interaktiva kommandotolkar på fjärrsystem och fjärraktivera verktyg som IpConfig som annars inte har möjlighet att visa information om fjärrsystem.

Obs! Vissa antivirusskannrar rapporterar att ett eller flera av verktygen har infekterats av ett "fjärradministratörs"-virus. Inget av PsTools innehåller virus, men de har använts av virus, vilket är anledningen till att de utlöser virusmeddelanden.

Installation

Kopiera bara PsExec till den körbara sökvägen. Om du skriver "psexec" visas dess användningssyntax.

Med hjälp av PsExec

Se juli 2004-problemet med Windows IT Pro Magazine for Marks artikel om avancerad användning av PsExec.

Användning:

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]
Parameter Beskrivning
-a Separata processorer där programmet kan köras med kommatecken där 1 är den lägst numrerade processorn. Om du till exempel vill köra programmet på CPU 2 och CPU 4 anger du: "-a 2,4"
-c Kopiera den angivna körbara filen till fjärrsystemet för körning. Om du utelämnar det här alternativet måste programmet finnas i systemsökvägen på fjärrsystemet.
-d Vänta inte på att processen ska avslutas (icke-interaktiv).
-e Läser inte in det angivna kontots profil.
-f Kopiera det angivna programmet även om filen redan finns på fjärrsystemet.
-i Kör programmet så att det interagerar med skrivbordet i den angivna sessionen på fjärrsystemet. Om ingen session anges körs processen i konsolsessionen. Den här flaggan krävs när du försöker köra konsolprogram interaktivt (med omdirigerad standard-IO).
-h Om målsystemet är Vista eller högre körs processen med kontots upphöjda token, om det är tillgängligt.
-l Kör processen som begränsad användare (tar bort gruppen Administratörer och tillåter endast behörigheter som tilldelats gruppen Användare). På Windows Vista körs processen med låg integritet.
-n Anger tidsgräns i sekunder för anslutning till fjärrdatorer.
-p Anger valfritt lösenord för användarnamn. Om du utelämnar detta uppmanas du att ange ett dolt lösenord.
-r Anger namnet på fjärrtjänsten som ska skapas eller interagera med.
-s Kör fjärrprocessen i systemkontot.
-u Anger ett valfritt användarnamn för inloggning till fjärrdatorn.
-v Kopiera den angivna filen endast om den har ett högre versionsnummer eller är nyare på än den på fjärrsystemet.
-w Ange arbetskatalogen för processen (i förhållande till fjärrdatorn).
-x Visa användargränssnittet på winlogon-skyddat skrivbord (endast lokalt system).
-priority Anger -low, -belownormal, -abovenormal, -high eller -realtime för att köra processen med en annan prioritet. Använd -background för att köra med ont om minne och I/O-prioritet på Vista.
Dator Dirigera PsExec att köra programmet på den eller de angivna fjärrdatorerna. Om du utelämnar datornamnet kör PsExec programmet på det lokala systemet, och om du anger ett jokertecken (\\*) kör PsExec kommandot på alla datorer i den aktuella domänen.
@file PsExec kör kommandot på var och en av de datorer som anges i filen.
Cmd Namnet på programmet som ska köras.
Argument Argument som ska överföras (observera att filsökvägar måste vara absoluta sökvägar i målsystemet).
-accepteula Den här flaggan ignorerar visningen av licensdialogrutan.

Du kan omge program som har blanksteg i sina namn med citattecken, t.ex.

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

Indata skickas endast till fjärrsystemet när du trycker på Retur- tangenten. Om du skriver Ctrl-C avslutas fjärrprocessen.

Om du utelämnar ett användarnamn körs processen i kontexten för ditt konto på fjärrsystemet, men har inte åtkomst till nätverksresurser (eftersom den personifierar). Ange ett giltigt användarnamn i Domain\User syntaxen om fjärrprocessen kräver åtkomst till nätverksresurser eller körs i ett annat konto. Observera att lösenordet och kommandot krypteras under överföringen till fjärrsystemet.

Felkoder som returneras av PsExec är specifika för de program som du kör, inte PsExec.

Exempel

Den här artikeln beskriver hur PsExec fungerar och ger tips om hur du använder det:

Följande kommando startar en interaktiv kommandotolk på \\marklap :

psexec -i \\marklap cmd

Det här kommandot kör IpConfig på fjärrsystemet med /all växeln och visar resulterande utdata lokalt:

psexec -i \\marklap ipconfig /all

Det här kommandot kopierar test.exe programmet till fjärrsystemet och kör det interaktivt:

psexec -i \\marklap -c test.exe

Ange den fullständiga sökvägen till ett program som redan är installerat på ett fjärrsystem om det inte finns på systemets sökväg:

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

Kör Regedit interaktivt i systemkontot för att visa innehållet i SAM- och SÄKERHETSnycklar::

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

Om du Internet Explorer med begränsad användarbehörighet använder du det här kommandot:

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

Laddaned PsTools(3,5 MB)

PSTools

PsExec är en del av ett växande paket med Sysinternals-kommandoradsverktyg som hjälper till med administrationen av lokala och fjärranslutna system med namnet PsTools.

Körs på:

  • Klient: Windows Vista och högre.
  • Server: Windows Server 2008 och senare.