2012-10-15 33 views
39

Sto usando "runas" per aprire il prompt dei comandi come un altro utente ma il prompt dei comandi non è eseguito come amministratore. Come posso farlo funzionare come un amministratore?Come eseguire un programma dal prompt dei comandi come utente diverso e come amministratore

UPDATE: io sto usando di Windows Server 2012

UPDATE: ho aperto cmd per un altro account eseguendo

runas /user:domain\username cmd.exe 

Poi ho cercato di eseguire alcuni comandi di questo nuovo prompt, ma questo non sta funzionando come un utente con privilegi elevati (anche se dispone dei privilegi di amministratore).

+4

non potevo' Lo faccio funzionare con 'runas/utente: dominio \ nome utente cmd.exe' Ho dovuto eseguirlo in questo modo:' runas/netonly/utente: dominio \ nomeutente cmd.exe' – martinmose

risposta

0

Runas non esegue magicamente i comandi come amministratore, li esegue come qualsiasi account per cui si forniscono le credenziali. Se non è un account amministratore, a runas non importa.

+1

L'account in cui sto aprendo un prompt dei comandi è un account amministratore. – Mark

+0

Un possibile trucchetto è che, a seconda di come invochi le rune, puoi ereditare le variabili d'ambiente dalla sessione utente esistente, quindi è possibile che cose come "echo% USERNAME%" non possano segnalare che sei l'altro utente. Cosa stai cercando di fare con questo prompt di amministrazione? – Wug

+1

Se si esegue il prompt di amministrazione e si esegue il comando 'whoami', si ottiene l'utente che si aspetta? – Wug

12

Start -> shift + Prompt dei comandi fare clic destro volontà aiuta a usare come un altro utente o come Admin

+2

Per me questo funziona: Shift + Ctrl mentre si fa clic sul programma – bluish

+1

sebbene sia un modo per eseguire un programma come amministratore, ma non è la risposta alla domanda originale. – Unicornist

+3

Come eseguito come un altro utente ** E ** amministratore? – Kiquenet

-1

Il modo più semplice è creare un file batch (.bat) ed eseguirlo come amministratore.

clic destro e 'Esegui come amministratore'

+1

L'OP è in esecuzione come utente normale NON è un amministratore senza data – user3710044

13

Tutte queste risposte, purtroppo, manca il punto.

Ci sono 2 sfumature di contesto di sicurezza qui, e abbiamo bisogno che si sovrappongano. - "Esegui come amministratore" - modifica del livello di esecuzione sul computer locale - "Esegui come utente diverso" - seleziona le credenziali utente in cui viene eseguito il processo.

Quando UAC è abilitato su una stazione di lavoro, ci sono processi che si rifiutano di eseguire se non elevati: semplicemente essere un membro del gruppo locale "Administrators" non è sufficiente. Se il tuo requisito impone anche di utilizzare credenziali alternative a quelle con cui hai effettuato l'accesso, abbiamo bisogno di un metodo per invocare il processo sia come credenziali alternative che elevate.

Quello che ho trovato può essere utilizzato, anche se un po 'di fastidio, è:

  • corsa un prompt CMD come amministratore
  • utilizzare i Sysinternals utilità PsExec come segue:

    psexec \ \ localworkstation -h -i -u dominio \ altro utente exetorun.exe

La prima elevazione è necessaria per poter spingere t lui servizio psexec. Il -h esegue il nuovo processo "remoto" (locale) elevato e -i consente di interagire con il desktop.

Forse ci sono modi più semplici di questo?

+0

psexec potrebbe non essere disponibile ... – Pacerier

4

Ho trovato un modo per farlo con una sola riga:

runas /user:DOMAIN\USER2 /savecred "powershell -c start-process -FilePath \"'C:\\PATH\\TO\\YOUR\\EXECUTABLE.EXE'\" -verb runAs" 

ci sono alcuni trucchi succedendo qui.

: Stiamo dicendo CMD solo correre PowerShell come DOMINIO \ UTENTE2

: Stiamo passando la "Start-Process" il comando per PowerShell, utilizzando il verbo "runAs" per elevare DOMINIO \ USER2 per amministratore/modalità privilegiata elevata.

Come nota generale, i caratteri di escape nell'argomento "FilePath" devono essere presenti (in altre parole, le "\ & \\ combinazioni di caratteri), e la singola virgoletta (') deve surround EXE percorso - in questo modo, CMD interpreta il FilePath come una singola stringa, quindi PowerShell viene utilizzato il singolo offerta di interpretare il FilePath come un unico argomento

Utilizzando il verbo "RunAs" di elevare entro PowerShell: http://ss64.com/ps/syntax-elevate.html

.
0

I a m fornendo i passaggi che hanno funzionato tramite GUI

Si prega di cercare "cmd" nel menu di avvio o barra di ricerca e aprire il percorso del file facendo clic destro su di esso.

Poi prova a tenere premuto il tasto Shift e fare clic destro sulla domanda/programma o il collegamento che si desidera aprire tramite diverse credenziali

Consultare l'articolo qui sotto per ulteriori informazioni http://www.windowscage.com/how-to-run-application-as-different-user-in-windows/