2012-12-01 24 views
9

Questo è il comando che funziona bene se eseguito da un prompt dei comandi utente-generato:PSEXEC - "l'handle non valido" Quando si esegue il comando come utente di sistema

PSEXEC \\xxx.xxx.xxx.xxx -u xxxx -p xxxx -accepteula cmd /c "TYPE C:\Pyxislog\PYXIS01.log|Find/i "%ID%"" >nul 

Tuttavia, se si tenta di eseguire questo da un prompt cmd sistema invocato ottengo questo:

Couldn't access 10.219.149.65: 
The handle is invalid. 
Connecting to 10.219.149.65... 

deve funzionare come un utente del sistema, dal momento che verrà distribuito tramite uno strumento software a distanza che viene eseguito come un utente del sistema. È una limitazione di Psexec? e sì, il nome utente e la password hanno diritti amministrativi.

risposta

8

Dopo molte ricerche, è una funzionalità di sicurezza di Windows per bloccare tutti gli accessi di rete all'utente del sistema, che include le attività in esecuzione come un altro utente. Il metodo migliore che ho trovato per aggirare questo problema è quello di creare un'attività pianificata per eseguire psexec da un account amministratore.

1

Psexec forza l'utilizzo dell'account utente di sistema aggiungendo il parametro -s.

Usiamo psexec per avviare alcune attività nei computer remoti e registra una tabella di database. Quando noi non usare utente parametro -s appare come dominio \ amministratore, ma se si utilizza il parametro -s appare come "Sistema"

Per il messaggio di handle non valido check this:

https://superuser.com/questions/200938/psexec-the-handle-is-invalid

+0

Grazie per l'input, tuttavia si può fraintendere cosa intendo. La linea funziona bene se eseguo il mio file batch completo, perché sto eseguendo il file batch come account utente. Tuttavia, se provo a distribuire il pacchetto sulla stessa macchina su cui ha funzionato per l'esecuzione manuale, fallisce perché la distribuzione esegue il file batch come utente SYSTEM. Non ho bisogno di PSEXEC per accedere all'account di sistema sul computer remoto, ho bisogno per accedere a un account amministratore. – bill

+0

Stai utilizzando lo stesso account utente nel login Psexec? Immagino tu sia –

+0

Sì, ad esempio copio incolla il comando che ho mostrato sopra per PSEXEC (con il xxxx compilato) in una finestra CMD che ho aperto andando per avviare> Esegui> CMD. Quindi invoco un'altra finestra CMD come utente SYSTEM facendo 'psexec -i -s cmd.exe' e poi incollo lo stesso identico comando che ho fatto nella prima finestra di CMD, e ricrea questo errore. – bill

1

Hai provato a utilizzare il flag -h?

da technet: -h Se il sistema di destinazione è Vista o superiore, il processo viene eseguito con il token elevato dell'account, se disponibile.

Pagina intera: https://technet.microsoft.com/en-us/sysinternals/psexec.aspx

+0

Questo processo viene eseguito con l'account NT Authority \ SYSTEM, non come utente. quindi non ha token di elevazione da usare. – bill

0

Potrebbe essere indipendenti, ma in realtà ho trovato ho ottenuto questo errore "l'handle non valido" se la connessione è andato giù alla macchina - vale a dire la macchina si addormentò.