PsExec v2.40

Av Mark Russinovich

Publicerad: 19 juli 2022

Laddaned PsTools(3,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 plåga att konfigurera och kräva att du installerar klientprogramvara på de fjärrsystem som du vill komma åt. PsExec är en lättviktad 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 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 virusaviseringar.

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 for 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 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ägsta numrerade CPU:en. 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 förhö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).
-prioritet 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 låg minnes- och I/O-prioritet i Vista.
dator Dirigera PsExec att köra programmet på den angivna fjärrdatorn eller de angivna datorerna. 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 datorerna som anges i filen.
Cmd Namnet på programmet som ska köras.
Argument Argument att skicka (observera att filsökvägar måste vara absoluta sökvägar i målsystemet).
-accepteula Den här flaggan utelämnar visning av licensdialogrutan.

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. 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"

Laddaned PsTools(3,5 MB)

PSTools

PsExec är en del av ett växande kit med Sysinternals-kommandoradsverktyg som underlättar administrationen av lokala och fjärranslutna system med namnet PsTools.

Körs på:

  • Klient: Windows 8.1 och senare.
  • Server: Windows Server 2012 och högre.