Läs på engelska

Dela via


PsExec v2.43

Av Mark Russinovich

Publicerad: 11 april 2023

Ladda nedLadda ned PsTools (5 MB)

Introduktion

Verktyg som Telnet och fjärrstyrningsprogram som Symantecs PC Anywhere låter dig köra program på fjärrsystem, men de kan vara en smärta 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 låter dig 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 kommandotolk på fjärrsystem och fjärraktiveringsverktyg som IpConfig som annars inte har möjlighet att visa information om fjärrsystem.

Obs! Vissa antivirusskannrar rapporterar att ett eller flera av verktygen är infekterade med ett "fjärradministratörsvirus". Ingen 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-numret av Windows IT Pro Magazine för Marks artikel som beskriver 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 [-f|-v]][-w directory][-d][-<priority>][-g n][-a n,n,...][-accepteula][-nobanner] cmd [arguments]
Parameter Description
-a Separata processorer där programmet kan köras med kommatecken där 1 är den lägsta 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 i 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 i fjärrsystemet.
-i Kör programmet så att det interagerar med skrivbordet för den angivna sessionen i 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-I/O).
-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). I Windows Vista körs processen med låg integritet.
-n Anger timeout i sekunder när du ansluter 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 interageras med.
-s Kör fjärrprocessen i systemkontot.
-u Anger valfritt användarnamn för inloggning till fjärrdatorn.
-v Kopiera endast den angivna filen om den har ett högre versionsnummer eller är nyare än den i fjärrsystemet.
-w Ange arbetskatalogen för processen (i förhållande till fjärrdatorn).
-x Visa användargränssnittet på Winlogon Secure Desktop (endast lokalt system).
-prioritering 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 lite minne och I/O-prioritet på Vista.
dator Dirigera PsExec att köra programmet på den angivna fjärrdatorn eller datorerna. Om du utelämnar datornamnet kör PsExec programmet i 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 datorerna som anges i filen.
Cmd Namnet på programmet som ska köras.
Argument Argument som ska skickas (observera att filsökvägar måste vara absoluta sökvägar i målsystemet).
-accepteula Den här flaggan undertrycker visningen av licensdialogrutan.
-nobanner Den här flaggan undertrycker startbanderollen och upphovsrättsmeddelandet.

Du kan omsluta program som har blanksteg i sitt 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 kommer inte att ha åtkomst till nätverksresurser (eftersom det personifierar). Ange ett giltigt användarnamn i syntaxen Domain\User om fjärrprocessen kräver åtkomst till nätverksresurser eller för att köras i ett annat konto. Observera att lösenordet och kommandot krypteras under överföring 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 jag skrev 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 växeln /all och visar resultatet lokalt:

psexec -i \\marklap ipconfig /all

Det här kommandot kopierar programmet test.exe 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ÄKERHETSnycklarna::

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

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

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

Ladda nedLadda ned PsTools (5 MB)

PSTools

PsExec är en del av en växande uppsättning sysinternals-kommandoradsverktyg som underlättar administrationen av lokala system och fjärrsystem med namnet PsTools.

Körs på:

  • Klient: Windows 8.1 och senare.
  • Server: Windows Server 2012 och senare.