Su Windows 7, esiste una riga del prompt dei comandi che può avviare cmd come amministratore? [duplicare]


39

Questa domanda ha già una risposta qui:

Su Linux, possiamo usare

sudo bash

per eseguire una shell come superutente.

Su Windows 7, possiamo usare

Menu Start -> (nella casella di ricerca, digitare) cmd -> Fai clic con il pulsante destro del mouse sul risultato della ricerca e scegli Esegui come amministratore

per eseguire un prompt dei comandi come amministratore. C'è anche una linea di prompt dei comandi che è come Linux di sudoo suin modo da avviare una shell come amministratore?


11
Puoi anche cercare cmd (come già fai) e premere "ctrl + maiusc + invio" per avviare il programma selezionato come amministratore.
Giosuè,

Risposte:


34

Il runascomando è la cosa più vicina a ciò che stai cercando:

runas /user:username cmd.exe

Il formato è runas, il nome utente che si desidera eseguire come, altre opzioni e quindi il programma che si desidera eseguire.

Se sei su un dominio, puoi utilizzare:

runas /user:DOMAIN\USERNAME cmd.exe

Questo può essere eseguito dalla Runcasella ( Win+ R) o da una finestra di comando.

Nota, tuttavia, che non è esattamente così sudo: non puoi usarlo per elevarti, esegui semplicemente qualcosa come un altro utente. Se hai già diritti amministrativi, una runas sul tuo account ti darà lo stesso accesso del comando normale (a meno che, ovviamente, non hai un account amministratore diverso , che concederà tali diritti di amministratore alla nuova shell).


2
Inoltre, a differenza sudo, runasnon memorizzerà mai la password per un certo periodo di tempo. Quindi, se avevi intenzione di mettere in coda un paio di comandi rapidi come puoi con le successive esecuzioni di sudo. Quindi basta aprire una finestra della console ed eseguire i comandi lì.
Giosuè,

quindi la forma più breve è "runas / user: DOMAIN \ Administrator cmd.exe" wow ... è piuttosto lungo e difficile da ricordare ... e posso creare un alias, ma cosa succede se sono sul computer di qualcun altro e sto aiutando ? sarà una buona idea se MS può creare un comando speciale chiamato runasadmin?
nopole,

5
Joshua: A meno che tu non usi /savecred.
Grawity,

+1, e per l'amministratore locale runas /user:administrator cmd.exenon è difficile ricordare dopo una dozzina di tipi o giù di lì. Tutto ciò che è è il comando stesso runasseguito dallo /user:switch, seguito dall'utente che vogliamo eseguirlo come, quindi infine il programma che vogliamo eseguire cmd.exe(il prompt dei comandi nel nostro caso). Questo è il più vicino a una riga che puoi ottenere per l'esecuzione dei prompt dei comandi elevati. Inoltre, se avvii-> esegui a volte c'è una casella di controllo per eseguire il programma elevato, non ho fatto alcuno sforzo per capire cosa lo fa apparire, ma è un'opzione.
MDMoore313

2
Sembra che per impostazione predefinita l'amministratore non abbia una password. E che l'account è effettivamente disabilitato. L'account amministratore deve essere prima abilitato, dato una password e poi diventa un utente reale a cui è possibile accedere e eseguire le rune.
CMCDragonkai,

11

Prova a creare un collegamento a cmd.exe. Tasto destro del mouse> Proprietà. Fai clic sul pulsante Avanzate. E spunta la casella "Esegui come amministratore" e fai clic su OK.

Assegnagli un tasto di scelta rapida se lo desideri.

E puoi anche assegnare il percorso predefinito per l'avvio del prompt CMD in. Es.% CD%



3

Usa SuRun .

Funziona anche su Windows 8. Esegue l'applicazione in modalità "admin" senza un prompt, ma hai un maggiore controllo su quali applicazioni vengono eseguite (puoi vederlo sull'applet del pannello di controllo di SuRun). Funziona benissimo anche in un file batch ...


solo una nota per Windows 8 (e 8.1): non sono stato in grado di avviare un prompt dei comandi come amministratore, perché surun sostituisce - per impostazione predefinita - la funzione runas integrata nei menu di scelta rapida.
Lupo,

1

Creare un file batch come sudo.bat e digitare i seguenti comandi e quindi salvare nel PERCORSO:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

Per usarlo, ad esempio, sudo cmd net start fmslo script non funzionerà se nella riga di comando sono presenti dei virgolette.


2
Ciò comporta la richiesta all'utente della finestra di dialogo Controllo dell'account utente e quindi l'esecuzione del comando desiderato in una finestra separata.
TOOGAM

1

Se si desidera una soluzione da riga di comando: scaricare hstart da http://www.ntwind.com/software/hstart.html ed estrarre hstart.exe o hstart64.exe in un punto del percorso. È possibile avviare un prompt dei comandi con hstart /runas cmdo hstart64 /runas cmd.

Ma il modo più veloce (come indicato in un commento per la domanda) è ancora premere Windows, digitare cmde premere Ctrl+ Shift+ Enter.


1

Ero frustrato dalle soluzioni esistenti per questo, quindi ho scritto un piccolo script Node.js che dovrebbe essere più familiare agli utenti * nix.

Eleva l'utente corrente senza richieste di password (solo UAC ), reindirizza stdin e stdout e viene eseguito nella stessa finestra della console.

https://github.com/tehsenaus/windosu


Funziona benissimo: basta dire sudo <command>e premere Alt + Y nella finestra di dialogo Controllo dell'account utente.
Brian Burns,


0

Includo autentici sue sudocomandi con la mia shell Hamilton C per eseguire un comando come un altro utente o elevato (con il prompt UAC) o entrambi, ovvero elevato come un altro utente. A differenza di runasaltre alternative, le mie sue le mie sudoconoscenze su come passare le directory, le variabili di ambiente e le lunghe righe di comando correnti. Questo è un prodotto commerciale ma esiste una versione gratuita . Divulgazione completa: sono l'autore. Ma sono anche felice di rispondere alle domande.


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.