Delen via


PsExec v2.43

Door Mark Russinovich

Gepubliceerd: 11 april 2023

DownloadenPsTools downloaden (5 MB)

Inleiding

Met hulpprogramma's zoals Telnet en programma's voor beheer op afstand, zoals Symantec's PC Anywhere, kunt u programma's uitvoeren op externe systemen, maar het kan lastig zijn om clientsoftware in te stellen en te vereisen dat u clientsoftware installeert op de externe systemen waartoe u toegang wilt krijgen. PsExec is een lichtgewicht telnet-vervanging waarmee u processen op andere systemen kunt uitvoeren, compleet met volledige interactiviteit voor consoletoepassingen, zonder dat u clientsoftware handmatig hoeft te installeren. De krachtigste toepassingen van PsExec zijn het starten van interactieve opdrachtprompts op externe systemen en hulpprogramma's voor extern inschakelen, zoals IpConfig, die anders niet de mogelijkheid hebben om informatie over externe systemen weer te geven.

Opmerking: sommige antivirusscanners melden dat een of meer van de hulpprogramma's zijn geïnfecteerd met een "remote admin" virus. Geen van de PsTools bevat virussen, maar ze zijn gebruikt door virussen, daarom activeren ze virusmeldingen.

Installatie

Kopieer PsExec naar uw uitvoerbare pad. Als u 'psexec' typt, wordt de gebruiksyntaxis weergegeven.

Met behulp van PsExec

Zie het artikel van juli 2004 van Windows IT Pro Magazine voor Mark dat betrekking heeft op geavanceerd gebruik van PsExec.

Gebruik:

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
-een Afzonderlijke processors waarop de toepassing kan worden uitgevoerd met komma's waarbij 1 de laagste CPU is. Als u bijvoorbeeld de toepassing wilt uitvoeren op CPU 2 en CPU 4, voert u het volgende in: '-a 2,4'
-c Kopieer het opgegeven uitvoerbare bestand naar het externe systeem voor uitvoering. Als u deze optie weglaat, moet de toepassing zich in het systeempad op het externe systeem bevinden.
-d Wacht niet tot het proces is beëindigd (niet-interactief).
-e Laadt het profiel van het opgegeven account niet.
-f Kopieer het opgegeven programma, zelfs als het bestand al bestaat op het externe systeem.
-i Voer het programma uit zodat het communiceert met het bureaublad van de opgegeven sessie op het externe systeem. Als er geen sessie is opgegeven, wordt het proces uitgevoerd in de consolesessie. Deze vlag is vereist wanneer u consoletoepassingen interactief probeert uit te voeren (met omgeleide standaard-IO).
-h Als het doelsysteem Vista of hoger is, wordt het proces uitgevoerd met het verhoogde token van het account, indien beschikbaar.
-l Voer het proces uit als beperkte gebruiker (verwijdert de groep Administrators en staat alleen bevoegdheden toe die zijn toegewezen aan de groep Gebruikers). Op Windows Vista wordt het proces uitgevoerd met lage integriteit.
-n Hiermee geeft u time-out in seconden verbinding maken met externe computers.
-p Hiermee geeft u optioneel wachtwoord voor gebruikersnaam. Als u dit weglaat, wordt u gevraagd een verborgen wachtwoord in te voeren.
-r Hiermee geeft u de naam van de externe service om mee te maken of te communiceren.
-s Voer het externe proces uit in het systeemaccount.
-u Hiermee geeft u optionele gebruikersnaam voor aanmelding bij externe computer.
-v Kopieer het opgegeven bestand alleen als het een hoger versienummer heeft of nieuwer is dan het bestand op het externe systeem.
-w Stel de werkmap van het proces in (ten opzichte van externe computer).
-x De gebruikersinterface weergeven op het beveiligde Winlogon-bureaublad (alleen lokaal systeem).
-voorrang Hiermee geeft u -low, -belownormal, -abovenormal, -high of -realtime op om het proces op een andere prioriteit uit te voeren. Gebruik -background om te worden uitgevoerd met weinig geheugen en I/O-prioriteit op Vista.
computer Directe PsExec om de toepassing uit te voeren op de externe computer of computers die zijn opgegeven. Als u de computernaam weglaat, voert PsExec de toepassing uit op het lokale systeem en als u een jokerteken (\\*) opgeeft, voert PsExec de opdracht uit op alle computers in het huidige domein.
@file PsExec voert de opdracht uit op elk van de computers die in het bestand worden vermeld.
cmd De naam van de toepassing die moet worden uitgevoerd.
Argumenten Argumenten die moeten worden doorgegeven (houd er rekening mee dat bestandspaden absolute paden moeten zijn op het doelsysteem).
-accepteula Met deze vlag wordt de weergave van het licentiedialoogvenster onderdrukt.
-nobanner Deze vlag onderdrukt de opstartbanner en het copyrightbericht.

U kunt toepassingen met spaties in hun naam plaatsen met aanhalingstekens, bijvoorbeeld

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

Invoer wordt alleen doorgegeven aan het externe systeem wanneer u op enter drukt. Als u Ctrl-C typt, wordt het externe proces beëindigd.

Als u een gebruikersnaam weglaat, wordt het proces uitgevoerd in de context van uw account op het externe systeem, maar heeft het geen toegang tot netwerkbronnen (omdat het zich voordoet). Geef een geldige gebruikersnaam op in de Domain\User syntaxis als het externe proces toegang tot netwerkbronnen vereist of moet worden uitgevoerd in een ander account. Houd er rekening mee dat het wachtwoord en de opdracht tijdens overdracht naar het externe systeem worden versleuteld.

Foutcodes die door PsExec worden geretourneerd, zijn specifiek voor de toepassingen die u uitvoert, niet PsExec.

Voorbeelden

In dit artikel dat ik heb geschreven , wordt beschreven hoe PsExec werkt en vindt u tips over het gebruik ervan:

Met de volgende opdracht wordt een interactieve opdrachtprompt gestart op \\marklap:

psexec -i \\marklap cmd

Met deze opdracht wordt IpConfig uitgevoerd op het externe systeem met de /all switch en wordt de resulterende uitvoer lokaal weergegeven:

psexec -i \\marklap ipconfig /all

Met deze opdracht wordt het programma test.exe naar het externe systeem gekopieerd en interactief uitgevoerd:

psexec -i \\marklap -c test.exe

Geef het volledige pad op naar een programma dat al op een extern systeem is geïnstalleerd als het niet op het pad van het systeem staat:

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

Voer Regedit interactief uit in het systeemaccount om de inhoud van de SAM- en BEVEILIGINGSsleutels weer te geven::

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

Gebruik deze opdracht om Internet Explorer als met beperkte gebruikersbevoegdheden uit te voeren:

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

DownloadenPsTools downloaden (5 MB)

PSTools

PsExec maakt deel uit van een groeiende set sysinternals opdrachtregelprogramma's die helpen bij het beheer van lokale en externe systemen genaamd PsTools.

Wordt uitgevoerd op:

  • Client: Windows 8.1 en hoger.
  • Server: Windows Server 2012 en hoger.