Esecuzione di file bat all'avvio come amministratore in Windows 7


37

Attualmente sto eseguendo correttamente uno script di avvio sotto forma di un file bat in Windows 7 (ho inserito una nuova voce della chiave di registro con il percorso del file bat come valore in

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run).

Ora devo eseguire un altro file bat all'avvio, ma con diritti elevati (come amministratore) e senza confermare manualmente una richiesta.

Come posso ottenere questo, preferibilmente senza programmi esterni?


Questo ha una soluzione? serverfault.com/questions/429364/…
Radek,

Non ho capito bene. La possibilità di aggirare il controllo dell'account utente non è un grosso problema di sicurezza? Questo non sconfigge lo scopo del prompt nemmeno esistente?
Kyle Delaney,

Risposte:


24

Vedi questo articolo: Fai avviare Vista avvia i programmi con restrizioni UAC all'avvio con Task Scheduler .

Questo articolo mostra come utilizzare l'Utilità di pianificazione per avviare programmi di avvio con privilegi elevati. Potrebbero essere necessarie alcune piccole modifiche nel tuo caso, ma l'articolo è ben scritto con schermate.


3
Sarebbe bello se questo non fosse solo un link. :)
Ƭᴇcʜιᴇ007,

1
@ Ƭᴇcʜιᴇ007: Esistono molti tutorial completi per questa procedura ben nota, valida ancora oggi da Vista. Questa è una risposta molto vecchia e probabilmente avrei risposto oggi con maggiori dettagli, ma non sono nemmeno sicuro di essere d'accordo con l'ultima tendenza su SU a insistere su lunghe risposte da tutorial. Non tutte le risposte devono essere un mini-tutorial, e questa risposta descrive il principio e il collegamento è a un sito Web solido.
harrymc,

2
Sento che questo potrebbe diventare una battaglia di titani! Ma in realtà, sono d'accordo con @ Ƭᴇcʜιᴇ007 su questo: i link sono buoni, ma possono andare male, rendendo una risposta come questa insignificante in futuro.
music2myear,

1
@ music2myear: la query di Google ha circa 369.000 risultati! Molti sono di qualità molto migliore di quanto potrei / farei.
harrymc,

2
Quindi, invece di pubblicare una "risposta" che è essenzialmente una lmgtfy, potresti aver appena postato un link alla query di Google come commento alla risposta originale. Ma poi, non hai un rappresentante per la pubblicazione di commenti, adesso?
Synetech,

4

Crea due file batch:

StartAs.bat contiene qualcosa sulla falsariga di:

runas /user:SomeLocalAdminAccount c:\Users\MyUser\StartupWhat.bat

StartWhat.bat contiene i comandi che si desidera eseguire.


1
Chiede ancora che il file venga eseguito con privilegi elevati
Joe Taylor,

3

Hai pensato a un approccio diverso? O un criterio di gruppo puro per l'impostazione del registro equivelent, altrimenti l'impostazione del file batch da eseguire come criterio di gruppo. Forse potresti anche eseguirlo come uno script per computer, piuttosto che uno script utente.

Inizia con gpedit.msc. Tuttavia, ha bisogno di Ultimate o di una delle altre edizioni di fascia alta.


2

Utilità AutoExnt, dal Resource Kit.

Il servizio AutoExNT consente a un amministratore di configurare un computer basato su Windows per eseguire un file batch personalizzato al primo avvio del computer. Inoltre, non è necessario che un utente o un amministratore acceda al momento dell'esecuzione di questo file batch personalizzato.


2

hstart.exe - Sostituzione start.exe di terze parti all'indirizzo http://www.ntwind.com/software/hstart.html

L'invocazione è un po 'una seccatura, ma funziona davvero bene.


Prestare attenzione quando si consiglia il software. Come scritto, la tua risposta potrebbe essere vista come spam. La tua risposta dovrebbe includere una descrizione del software e come risolve la domanda. Ulteriori informazioni: Come posso raccomandare il software nelle mie risposte?
bwDraco,

No grazie. Non lo ritengo una mia responsabilità se le persone assumono erroneamente cose errate a causa del loro pessimismo e amarezza. Ho avuto questo problema e questa era la mia soluzione.
ClioCJS,

1

runas / user: SomeLocalAdminAccount

Qui deve essere così:

runas /noprofile /user:mymachine\administrator cmd

runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc

runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

1
Chiede ancora che il file venga eseguito con privilegi elevati
Joe Taylor,

1

Forse UACPass (gratuito) lo risolverà:

  • Installa il programma.
  • Apri la finestra di UACPass.
  • Trascina su di esso il programma che stai fingendo di eseguire all'avvio.

Fatto. Questo programma dovrebbe ora essere eseguito come amministratore senza il prompt UAC.
Il programma ha anche un'opzione per add to startup:-D.

Il tuo programma verrà eseguito solo dopo l'accesso (o almeno credo).


-1

È inoltre possibile creare un collegamento e specificare che il file del collegamento deve essere eseguito elevato.

(È in una casella di opzioni avanzate.)


Questo non funziona per le scorciatoie per pipistrare i file. Provalo.
Joe Taylor,

@JoeTaylor E che ne dite di creare un collegamento a cmd.exe e dare il file bat nella cmdline?
Werner Henze,

@werner Henze - l'hai provato?
Joe Taylor,

@JoeTaylor: questo non funziona per le scorciatoie per pipistrare i file. Cosa intendi esattamente con questo? La casella di controllo "Esegui come amministratore" è disponibile per i collegamenti a un file bat e per i collegamenti a cmd.exe (entrambi testati pochi minuti fa). Ma: l'interrogante non desidera il prompt UAC e la casella di controllo attiverà il prompt UAC (a seconda delle impostazioni UAC).
Werner Henze,

La corsa è elevata, mentre sorprende i prompt UAC non funziona nel modo in cui la risposta intende. Ecco cosa intendevo. Pertanto non è la risposta che l'OP stava cercando.
Joe Taylor,
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.