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.