2013-03-04 5 views
7

Sto tentando di avere un account di amministrazione di Windows che accede automaticamente a più utenti locali su uno script. L'idea è di eseguire una serie di applicazioni (test) in ogni sessione utente.
Attualmente sono in grado di farlo collegandosi in remoto (RDC) a ciascuno dei singoli account utente. Questo andrebbe bene se ci fossero solo alcuni di questi account, ma ora ho più di 30 macchine con una media di 6 account utente ciascuno, quindi RDPing a ciascuno è estremamente dispendioso in termini di tempo.
Invece, mi piacerebbe essere in grado di accedere come amministratore, e avere una sorta di script per accedere automaticamente agli utenti locali all'interno di un gruppo, o solo un elenco di utenti, così posso avviare le applicazioni usando pstools (il le applicazioni richiedono l'interazione desktop, quindi è necessaria una sessione).
Ho scoperto che è possibile accedere automaticamente a un utente solo tramite account utente di Windows.Linea di comando di accesso automatico di più utenti di Windows

Qualcuno sa di un modo per accedere a più account tramite riga di comando o automaticamente in qualche modo?

+0

Qualcosa non è chiaro: quando si dice "le applicazioni richiedono l'interazione desktop", si intende che è necessario interagire manualmente con ciascuna applicazione? – Poorkenny

+0

L'applicazione stessa interagisce con la sessione utente (prendendo screenshot, salvando file specifici dell'utente, ecc.). Ciò che intendevo per interazione desktop è che l'applicazione richiede una sessione utente da eseguire (invece di/runas context) – Farlan

+0

Di quale sapore di Windows stiamo parlando? XP? 7? 8? In ogni caso, l'unico modo che conosco per eseguire questo compito sarebbe quello di utilizzare l'autologon di Windows. Non conosco alcun modo per accedere/disconnettere a livello di programmazione diversi utenti di seguito. Se qualcun altro lo fa, però, sono interessato anche io :) – Poorkenny

risposta

0

Questo in realtà non è possibile, non è possibile accedere a più account nella riga di comando. RDC è l'unico modo fattibile. Potrebbe essere possibile automatizzare l'RDC per più utenti utilizzando altri software di automazione come Auto it, Scripting WSH o alcuni registratori di macro. Quale potrebbe aiutare a risolvere alcuni sforzi nel tuo lavoro.

+0

grazie. qualche idea su come o dove lanciare quegli script di automazione? posso passare attraverso un utente con accesso automatico. può fare qualche script di avvio nel profilo dell'utente? nessun link a tutorial su quelle tecnologie che hai elencato? un po 'più di dettagli per favore ... – inquisitive

0

Utilizzare runas per aprire un nuovo cmd. Dopo aver iniziato il test, useranno le tue nuove credenziali.

+1

il processo 'runas'- * ed * inizierà con credenziali diverse, ma non otterrà il desktop dell'utente. né gli script di avvio di quell'utente verranno attivati, né i processi di avvio verranno eseguiti. ciò che è necessario è elencare quell'utente nella scheda 'Utenti' nel task manager. come se l'utente avesse effettuato l'accesso da un desktop remoto Conn. e chiuso la finestra RD senza disconnettersi. – inquisitive

+0

La sua domanda non menziona questi requisiti, è possibile caricare il profilo dell'utente usando runas ed eseguire gli script. Perché hai bisogno di script di avvio –

+1

* ... l'applicazione richiede una sessione utente da eseguire ... * E l'impostazione di una sessione include l'impostazione dell'ambiente che a sua volta include gli script di avvio. Alcuni test potrebbero richiedere snapshot, nel qual caso è richiesta una console dedicata. RUNAS fornisce console condivisa. i servizi non forniscono console. :( – inquisitive

0

Può essere fatto entro il 3 strumento partito http://www.logonexpert.com attraverso il suo strumento a riga di comando, in tal modo:

le.exe/logon user1 pass1 domain1

le.exe/accesso utente2 pass2 dominio1

1

Utilizzare Invoke-Command per eseguire comandi su un computer remoto dotato anche di PowerShell e con WinRM abilitato. Invoke-Command può anche eseguire comandi non PowerShell.

# users stored in csv with "username, password" format 
foreach ($user in $userlist) { 
    Invoke-Command "runas /profile /credentials $creds /user:$user.username /password:$user.password *executable* 
} 

utilizzare il parametro -asJob per farli funzionare come processi separati, o li gestiscono in sequenza per semplicità. Le PSSessioni remote sono un'altra possibilità da considerare se è necessario eseguire più comandi. Ricerca che memorizza le credenziali, crittografate, in un file per uso ripetuto.