PsExec v2.43
Av Mark Russinovich
Publicerad: 11 april 2023
Ladda ned PsTools (5 MB)
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.
Kopiera bara PsExec till den körbara sökvägen. Om du skriver "psexec" visas dess användningssyntax.
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.
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 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.