Causa un popup UAC dalla riga di comando senza strumenti personalizzati


8

In Win7, un utente può fare clic con il pulsante destro del mouse su un programma e scegliere "Esegui come amministratore". Viene visualizzato un popup, ma non è necessario inserire la password dell'amministratore.

Vorrei ottenere la stessa funzionalità, ma dalla riga di comando - in particolare, dall'interno di un .batfile.

Sono a conoscenza del runascomando integrato , ma non ho trovato un modo per usare quello che non finisce per chiedere una password ad un certo punto.

Sono anche a conoscenza del Process.StartInfo.Verb = "runas";metodo, che fa esattamente quello che voglio, ma mi richiede di creare un'app .NET personalizzata.

Esiste un modo, utilizzando solo strumenti a riga di comando integrati in Win7, per ottenere questo risultato?


Aggiornamento: grazie a uSlackr, ho elaborato questo comando:

powershell Start-Process cmd.exe -Verb RunAs

Certo, cmd.exeè solo un segnaposto.

Risposte:


4

È possibile utilizzare il cmdlet Start-Process in Powershell con il verbo RunAs. Ulteriori informazioni qui: http://technet.microsoft.com/en-us/library/dd347667.aspx


Perfetto, grazie. Ho aggiornato la domanda con un esempio funzionante.
jwd,

Qualche equivalente su Windows XP?
Maxbester,

Powershell è disponibile per XP.
uSlackr

XP non ha UAC quindi la domanda non è pertinente ad esso
nponeccop il

@nponeccop Suppongo che la motivazione per voler eseguire Windows XP sia quella di consentire l'esecuzione di un singolo script su Windows 7 e Windows XP, non avere un percorso per Windows 7 con PowerShell e UAC e un secondo percorso per Windows XP che non ha PowerShell e nessun controllo account utente.
Damian Yerrick,

1

Esegui semplicemente il cmd.exe come amministratore.

La scorciatoia da tastiera per questo è [shift] + [invio] dopo aver selezionato la riga di comando dal menu di avvio. Una finestra UAC dovrebbe apparire.

O

Esegui tutto come amministratore

Non raccomandato per l'uso quotidiano, ma esiste anche un account amministratore incorporato che è possibile attivare in Windows che eseguirà semplicemente tutte le applicazioni come root. In un cmd amministrativo:

net user administrator /active:yes

Modificalo su "/ attivo: no" se desideri disabilitare l'account. Una breve introduzione qui .


Per quanto riguarda il tuo primo suggerimento: scusami, non ero chiaro. Voglio farlo da dentro un file .bat (domanda aggiornata).
jwd

Per quanto riguarda il tuo secondo suggerimento: ho eseguito questo e ho ricevuto "Errore di sistema 5. Accesso negato."
jwd

Anche eseguendo cmd.exe come amministratore?
A. Hayes,

1
Il punto centrale di questa domanda è che sto eseguendo questo comando come utente non amministratore e desidero elevare temporaneamente le autorizzazioni.
jwd
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.