Esegui come utente diverso senza password da un prompt elevato in Windows


13

Ci sono diverse utility per eseguire come un altro utente (ad esempio: runas, cpau, psexec) ma tutti richiedono la password per l'rispettivo utente, anche se si è già in esecuzione con privilegi elevati.

Mi piacerebbe ottenere quanto segue:

  1. Ho già un prompt elevato ( Administrator)
  2. Vorrei eseguire un comando (ad calc.exeesempio john:) come senza digitare / passare la password all'utilità di avvio.

Ad esempio, nel sistema Unix potresti semplicemente:

root@server:~# su - john

Risposte:


3

Lo uso sempre. Basta inserire una credenziale la prima volta che viene utilizzata (e quando la password cambia) ma è tutto.

runas /user:yourusernamehere /savecred "Your Executable Here"

Se si salva questo comando come parte di un file bat, è possibile creare un collegamento che lo avvierà con diritti amministrativi utilizzando una destinazione come la seguente.

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"

3
Grazie per il suggerimento, ma purtroppo / savecred non è applicabile nel mio caso perché 1) le credenziali dell'utente possono cambiare E 2) i comandi da eseguire sono generati dinamicamente (quindi dovrei digitare la password per ogni comando). Inoltre, questo dovrebbe essere eseguito in background, senza alcuna interazione da parte dell'utente.
Razvan,

@Razvan puoi avvolgere i tuoi comandi in un file di script in modo che, purché il nome sia lo stesso, i tuoi comandi possano cambiare facilmente. Per quanto riguarda il cambiamento delle credenziali ... è necessario passare nuove credenziali nella nostra copia cache. Non esiste una terza opzione.
Tim Brigham,

3

No, non è possibile su Windows. Devi sempre inserire una password almeno una volta quando esegui applicazioni con un altro account utente. Anche come amministratore.

Impedisce che accadano cose divertenti e consente un controllo pulito. Se succede qualcosa sotto un account utente, gli utenti non possono incolpare gli amministratori per averlo fatto senza il loro consenso.


Ma questa è una limitazione tecnica? Potrei pensare che forse alcuni file utente rilevanti richiesti per stabilire una nuova sessione sono crittografati usando le credenziali dell'utente, quindi è impossibile ottenere una nuova sessione senza fornire le rispettive credenziali (è solo una supposizione).
Razvan,

Non capisco il tuo commento. È una limitazione tecnica, nel senso che Microsoft ha deciso di pianificare Windows in modo da non poter impersonare un account utente senza conoscerne la password. Il perché e come non importa. L'unica opzione è inserire la password o accettare che non è possibile impersonare alcun account senza di essa.
Daniel,

1
@Daniel potresti fornire qualche link di riferimento per affermare che si tratta di una decisione deliberata e strategica?
Ivan_pozdeev,

Non esiste un ACL per permetterlo?
Casuale Insano,

3

In Windows, è possibile farlo solo se esiste una sessione di accesso corrente dell'utente che si sta tentando di impersonare. Ciò è dovuto alla politica del gruppo locale "Impersonare un client dopo l'autenticazione" che consente ai membri del gruppo Administrators di fare esattamente questo (disponibile in Politiche locali> Assegnazione diritti utente).

Uno strumento che conosco che ti consente di farlo è Process Hacker 2. Esegui lo strumento come amministratore locale e trova un processo in esecuzione come l'utente che desideri impersonare. Fai clic destro su di esso, seleziona Varie> Esegui come questo utente ..., quindi digita il percorso binario che desideri eseguire come tale utente, ad esempio cmd. CMD si aprirà quindi come tale utente senza richiedere la password dell'utente.


-3

Se metti il ​​.exe nella sua cartella di avvio potresti essere in grado di eseguirlo come loro.


2
elaborando: non lo stai eseguendo come loro ... li stai facendo eseguire per te.
KevinKTI,

2
Dal momento che l'utente inserisce la propria password quando effettua l'accesso, questo non sembra rispondere alla domanda.
pulcini,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.