PsExec v2.40

Di Mark Russinovich

Pubblicato: 19 luglio 2022

Scaricare Download PsTools(3.5 MB)

Introduzione

Le utilità come Telnet e i programmi di controllo remoto, ad esempio il PC di Symantec Anywhere, consentono di eseguire programmi nei sistemi remoti, ma possono essere un dolore per configurare e richiedere l'installazione del software client nei sistemi remoti a cui si vuole accedere. PsExec è una sostituzione telnet di peso leggero che consente di eseguire processi in altri sistemi, completa con l'interattività completa per le applicazioni console, senza dover installare manualmente il software client. Gli usi più potenti di PsExec includono l'avvio di prompt dei comandi interattivi nei sistemi remoti e negli strumenti di abilitazione remota come IpConfig che in caso contrario non hanno la possibilità di visualizzare informazioni sui sistemi remoti.

Nota: alcuni scanner anti-virus segnalano che uno o più degli strumenti sono infettati da un virus "amministratore remoto". Nessuno dei PsTools contiene virus, ma sono stati usati da virus, che è il motivo per cui attivano le notifiche virus.

Installazione

Copiare PsExec nel percorso eseguibile. Digitando "psexec" viene visualizzata la sintassi di utilizzo.

Utilizzo di PsExec

Vedere il numero di luglio 2004 di Windows IT Pro Magazine per Mark che illustra l'utilizzo avanzato di PsExec.

Utilizzo:

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]
Parametro Descrizione
-a Separare i processori in cui l'applicazione può essere eseguita con virgole in cui 1 è la CPU numerata più bassa. Ad esempio, per eseguire l'applicazione in CPU 2 e CPU 4, immettere: "-a 2,4"
-c Copiare il file eseguibile specificato nel sistema remoto per l'esecuzione. Se si omette questa opzione, l'applicazione deve trovarsi nel percorso di sistema nel sistema remoto.
-d Non attendere che il processo venga terminato (non interattivo).
-e Non carica il profilo dell'account specificato.
-f Copiare il programma specificato anche se il file esiste già nel sistema remoto.
-i Eseguire il programma in modo che interagisca con il desktop della sessione specificata nel sistema remoto. Se non viene specificata alcuna sessione, il processo viene eseguito nella sessione della console. Questo flag è necessario quando si tenta di eseguire applicazioni console in modo interattivo (con I/O standard reindirizzato).
-h Se il sistema di destinazione è Vista o superiore, il processo viene eseguito con il token con privilegi elevati dell'account, se disponibile.
-l Eseguire il processo come utente limitato (rimuove il gruppo Administrators e consente solo i privilegi assegnati al gruppo Utenti). In Windows Vista il processo viene eseguito con integrità bassa.
-n Specifica il timeout in secondi che si connettono ai computer remoti.
-p Specifica la password facoltativa per il nome utente. Se si omette questo messaggio verrà richiesto di immettere una password nascosta.
-r Specifica il nome del servizio remoto con cui creare o interagire.
-s Eseguire il processo remoto nell'account di sistema.
-u Specifica il nome utente facoltativo per l'accesso al computer remoto.
-v Copiare il file specificato solo se ha un numero di versione superiore o è più recente rispetto a quello nel sistema remoto.
-w Impostare la directory di lavoro del processo (rispetto al computer remoto).
-x Visualizzare l'interfaccia utente nel desktop sicuro Winlogon (solo sistema locale).
-priorità Specifica -low, -belownormal, -abovenormal, -high o -realtime per eseguire il processo in una priorità diversa. Usare -background per l'esecuzione in memoria bassa e priorità di I/O in Vista.
computer Direct PsExec per eseguire l'applicazione nel computer remoto o nei computer specificati. Se si omette il nome del computer, PsExec esegue l'applicazione nel sistema locale e se si specifica un carattere jolly (\\*), PsExec esegue il comando in tutti i computer del dominio corrente.
@file PsExec eseguirà il comando in ognuno dei computer elencati nel file.
cmd Nome dell'applicazione da eseguire.
Argomenti Gli argomenti da passare (si noti che i percorsi dei file devono essere percorsi assoluti nel sistema di destinazione).
-accepteula Questo flag elimina la visualizzazione della finestra di dialogo di licenza.

È possibile racchiudere applicazioni con spazi nel nome con virgolette, ad esempio.

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

L'input viene passato solo al sistema remoto quando si preme il tasto INVIO. Digitando CTRL-C termina il processo remoto.

Se si omette un nome utente, il processo verrà eseguito nel contesto dell'account nel sistema remoto, ma non avrà accesso alle risorse di rete (perché rappresenta). Specificare un nome utente valido nella Domain\User sintassi se il processo remoto richiede l'accesso alle risorse di rete o per l'esecuzione in un account diverso. Si noti che la password e il comando vengono crittografati in transito nel sistema remoto.

I codici di errore restituiti da PsExec sono specifici delle applicazioni eseguite, non PsExec.

Esempio

Questo articolo ho scritto descrive il funzionamento di PsExec e fornisce suggerimenti su come usarlo:

Il comando seguente avvia un prompt dei comandi interattivo su \\marklap:

psexec -i \\marklap cmd

Questo comando esegue IpConfig nel sistema remoto con l'opzione e visualizza l'output /all risultante in locale:

psexec -i \\marklap ipconfig /all

Questo comando copia il programma test.exe nel sistema remoto ed esegue in modo interattivo:

psexec -i \\marklap -c test.exe

Specificare il percorso completo di un programma già installato in un sistema remoto se non nel percorso del sistema:

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

Eseguire Regedit in modo interattivo nell'account di sistema per visualizzare il contenuto delle chiavi SAM e SECURITY::

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

Per eseguire Internet Explorer come con privilegi utente limitati, usare questo comando:

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

Scaricare Download PsTools(3.5 MB)

PSTools

PsExec fa parte di un kit crescente di strumenti da riga di comando Sysinternals che aiutano l'amministrazione di sistemi locali e remoti denominati PsTools.

Viene eseguito su:

  • Client: Windows 8.1 e versioni successive.
  • Server: Windows Server 2012 e versioni successive.