Esegui come utente diverso ed elevare


24

All'interno di Windows Explorer, posso fare clic con il pulsante destro del mouse su un file eseguibile e selezionare "Esegui come amministratore" che avvierà il processo selezionato con privilegi elevati oppure posso spostare il tasto destro del mouse sul file eseguibile e fare clic su "Esegui come utente diverso", specificare il nome utente e password che avvieranno il processo con privilegi standard utilizzando il contesto utente specificato.

Come eseguo un utente diverso E corro in un contesto elevato? Un esempio perfetto di ciò sarebbe l'apertura di un prompt dei comandi con privilegi elevati utilizzando un contesto utente diverso da quello dell'utente attualmente connesso.


Penso che PowerShell il start-processcomando potrebbe essere in grado di farlo.
jiggunjer,

Risposte:


22

Non penso che tale opzione esista.

Per aggirare il problema, è possibile avviare la riga di comando come amministratore ed eseguire il comando seguente per eseguire la riga di comando con privilegi di amministratore come l'altro utente.

runas / netonly / user: YourUser cmd.exe


7
Oppure puoi fare clic con il pulsante destro del mouse sull'eseguibile, quindi selezionare Proprietà> Compatibilità, quindi selezionare Livello privilegi e selezionare Esegui questo programma come amministratore. Quindi sposta il tasto destro del mouse sull'eseguibile ed eseguilo come un altro utente.
JamesTheDev,

@NewProgrammerJames Nice, grazie per l'input :)
Yass

@NewProgrammerJames Questo trucco non funziona con CMD direttamente su W2008R2 e versioni successive, ma dovrebbe essere possibile modificare un'app personalizzata.
Vesper,

Funzionerà anche se l'utente finale non è nel gruppo admin?
jiggunjer,

@jiggunjer No, per quanto ne so.
Yass,

11

Sì, psexec lo fa assolutamente.

L'esempio seguente funziona in modo pulito su Windows 8.1; eseguire il prompt dei comandi come amministratore, quindi:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"

Da Mike : funziona per Windows 10!
fixer1234,

7

Puoi farlo tramite PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'

1

Noto che questa è una domanda molto antica, ma le risposte fornite non sono ideali ed è già stata annullata. Tutte le risposte esistenti richiedono la digitazione di comandi arcaici e la conoscenza del percorso esatto del tuo eseguibile. Un'opzione ideale lo renderebbe possibile utilizzando lo stesso processo già utilizzato per l'escalation dei privilegi.

Se si dispone di un'edizione non domestica di Windows (da Vista a 10), è possibile utilizzare Security Policy Manager per richiedere di fornire la password ogni volta che si verifica l'altitudine. Ti dà anche la possibilità di selezionare un utente completamente diverso e inserire la loro password ... che farà funzionare il processo elevato come loro.

Basta aprire il menu Start e digitare secpol.msce premere Invio per avviarlo (se disponibile). Siete alla ricerca di Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista ha un'opzione simile che non menziona la "Modalità di approvazione dell'amministratore" ma fa la stessa cosa.

Penso che questa sia un'opzione molto più naturale di quella offerta qui e ricorda piuttosto gksudo su * nix. Ma se la tua edizione di Windows non include secpol.msc, dovrai abilitare alcuni hacker del registro per abilitarlo.


L'ho fatto e non funziona. E invece chiede sempre la mia impronta digitale, anche se non configuro la mia autenticazione dell'impronta digitale.
iroel,

@iroel Sembra distinto come se ci fosse un problema di configurazione con i sottosistemi di autenticazione di Windows. Dovresti prendere in considerazione la ricerca di SU per trovare una soluzione a quel problema e, se non trovi nulla, considera di pubblicarla come una domanda. Tutti i miei sistemi sono configurati in questo modo e nessuno di loro richiede un'identificazione personale. A seconda dell'account che sto eseguendo l'autenticazione in quanto richiedono una password o un numero PIN.
Cliff Armstrong,

Uso l'impronta digitale per l'autenticazione. Succede 2 soluzioni applicabili: fai in modo che l'utente abbia il privilegio di amministratore (ma in questo caso non ha senso), crea un altro utente e imposta l'impronta digitale (usa il dito non registrato per un determinato utente) e usa quel dito quando richiesto privilegio. Uso l'ultima soluzione in questo caso. Almeno funziona per me.
iroel,

Se ti viene richiesta un'impronta digitale, o hai impostato l'utente a cui stai tentando di accedere per richiedere un'impronta digitale o qualcosa non va nell'installazione di Windows. Punto. Uso questa configurazione su tre computer diversi e nessuno di loro richiede impronte digitali. L'ho installato su dozzine di computer per i client. Windows richiederà un pin # quando si accede a un utente con un pin # configurato e una password per tutti gli altri utenti. Utilizza qualsiasi metodo di autenticazione che hai configurato per quell'utente.
Cliff Armstrong,

0

Ho scoperto che se accedo come account Esegui come è possibile impostare il flag "Esegui questo programma come amministratore" nella pagina delle proprietà / compatibilità. Quindi accedere all'account secondario ed eseguire il clic del tasto shift come si aprirà come amministratore.


Sembrava un'ottima opzione, ma non c'era una pagina di compatibilità nelle Proprietà di cmd.exe.
Sandra,
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.