Come eseguire un programma come amministratore all'avvio su Windows 10? [duplicare]


41

Questa domanda ha già una risposta qui:

Abbiamo un programma che ha problemi di avvio su Windows 10. Se il programma NON viene eseguito come amministratore, viene visualizzato un messaggio "Accesso negato" prima dell'avvio. Se eseguiamo il programma come amministratore, NON pop-up alcun messaggio di errore e si carica normalmente. Tuttavia, ora il programma non verrà eseguito all'avvio. Quindi, dobbiamo eseguire il nostro programma come amministratore ed essere in grado di eseguire automaticamente il programma all'avvio.

Aggiornamento: anche se la mia domanda e la domanda duplicata sono forse le stesse, ma le risposte fornite per entrambe le domande non hanno risolto il mio problema. L'Utilità di pianificazione avvia la mia applicazione o il mio programma solo come processo in background. Pertanto, il mio programma non si carica. Tuttavia, vedo il mio processo nel task manager sotto processo in background. È tutto.


@Moab: puoi confermare che il duplicato si applica a Win 10?
fixer1234

@Ramhound Sì, ma l'utilità di pianificazione non avvia il mio programma normalmente ma come processo in background. Non è quello che sto cercando. Mi sto perdendo qualcosa?
Giovedì

@ fixer1234 se stai specificamente parlando della mia domanda e della domanda contrassegnata come duplicata, allora no. La mia domanda è relativa a Windows 10 e il duplicato è relativo a Windows 7.
Gio

@Ramhound Hai ragione, ma una domanda è specificamente quella di Windows 10 e l'altra è per Windows 7 anche se entrambe le soluzioni applicano Windows 10.
Gio

@Ramhound Sì, hai ragione. Hai chiesto in che modo la mia domanda e la domanda duplicata sono diverse. Te l'ho detto a parte le versioni di Windows, sono entrambe uguali. puoi andare avanti e contrassegnare la mia domanda come duplicata se vuoi.
Giovedì

Risposte:


22

Questo è un po 'vecchio, ma avevo gli stessi problemi, e nessuno dei precedenti ha funzionato. Quello che ho fatto è stato creare un VBScript eseguito all'avvio che ha aperto il programma.

1) Fai clic con il pulsante destro del mouse sul programma, vai su Proprietà, quindi compatibilità e verifica "Run as Administrator"

2) Crea VBScriptusando un editor di testo (io uso Notepad ++)

script:

  Set WshShell = CreateObject("WScript.Shell" ) 
  WshShell.Run """C:\Program Files (x86)\File\Program.exe""", 0 'Must quote command if it has spaces; must escape quotes
  Set WshShell = Nothing

Nota: questo C:\Program Files (x86)\File\Program.exeè il percorso completo del programma con estensione. Inoltre, assicurati di salvarlo come .vbs

3) Ora posiziona VBScript nella cartella di avvio:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Oppure, in alternativa accedervi da Win+ Rshell:startupEnter

Ho usato questo invece di un file batch perché non volevo che venisse visualizzata quella brutta finestra di comando.


È possibile utilizzare %appdata%al posto della tua pagina personalizzata di AppData \ Roaming
Ben Philipp

Questo è esattamente quello che finisco per fare, ma ho usato Delphi per scrivere un mini programma che chiamerà il mio programma all'avvio. Questo mini programma è stato eseguito all'avvio. Questa soluzione ha fatto il lavoro.
Giovedì

Ho scoperto che per invocare un collegamento elevato in modo che funzionasse come elevato, ho dovuto consentire allo script di avviare cmd.exe con l'opzione / c per eseguire il collegamento.
Alf P. Steinbach,

Per essere chiari, ciò richiede comunque all'utente di dire se desidera eseguire il programma come amministratore, giusto? Questo trucco di avvio non lo ignora in qualche modo, giusto?
Kyle Delaney,

Dovrebbe esserci un modo integrato / nativo per farlo.
HolyAvengerOne

29

Creare un'attività pianificata da attivare all'accesso.

Nella finestra di dialogo Crea attività , selezionare quanto segue:

  1. Generale (scheda) - Esegui con i privilegi più alti
  2. Trigger (scheda) - Nuovo (pulsante) - Avvia l'attività - All'accesso

2
Ho seguito la tua risposta ma avvia il programma come processo in background e non come applicazione. Di conseguenza, nulla viene caricato nella schermata e il processo viene elencato in Processo in background nel Task Manager.
Giovedì

Il programma dovrà essere eseguito per qualsiasi accesso dell'utente o solo per l'utente che ha effettuato l'accesso?
Steven,

2
questa è in realtà una risposta MOLTO migliore della precedente, poiché è possibile programmare l'avvio di un demone all'avvio del computer e nessun utente è connesso, ad esempio è necessario avviare il deluging all'avvio del computer anche io o nessun altro accederà quel computer (diluvio è un client torrent, che in modalità non classica diventerà client / server, quindi non ho bisogno che il client abbia iniziato a far funzionare il server), l'unica altra soluzione, ma questo è farlo partire da un altro servizio ( come il cron di Cygwin) o per renderlo un servizio (e farlo manualmente se i produttori di software non lo hanno progettato in questo modo)
THESorcerer

1
@ThN Puoi provare ad aggiungere un piccolo ritardo, 10-15 secondi, al trigger. Ciò ha corretto la "corsa in background" per me. Era per uno script AutoHotkey, non so se si applica al tuo problema.
Anders Jørgensen,

2
All'inizio non funzionava neanche per me, ma solo perché avevo impostato il trigger su "All'avvio", il che è sbagliato perché il mio programma non è un servizio, è un'applicazione con un'interfaccia utente. Invece, ho dovuto impostare il trigger su "All'accesso" e selezionare il mio utente di Windows. Ha funzionato subito dopo!
Nicolas C.

4

Bene, perché non copiare semplicemente il collegamento del programma nella cartella Avvio e nelle sue proprietà, abilitare le autorizzazioni di amministratore nella scheda Compatibilità?


1
Lo abbiamo fatto e il mio programma genera ancora Access Deniedun messaggio di errore.
Giovedì

hai fatto clic con il pulsante destro del collegamento nella cartella Avvio e impostato correttamente le autorizzazioni? L'opzione "Esegui come amministratore" è generalmente presente nella scheda Compatibilità della finestra delle proprietà
Surya Teja Karra,

1
Hai ragione. Innanzitutto, abbiamo abilitato la Run with highest privilegecasella di controllo nella sezione compatibilità per il collegamento. Quindi, facendo clic sull'icona, viene comunque visualizzato il messaggio di errore. Quindi, abbiamo spostato il collegamento nella cartella di avvio, ha comunque sollevato il messaggio di errore. Abbiamo anche provato l'Utilità di pianificazione e sempre lo stesso. Ho anche provato un file batch nell'utilità di pianificazione come suggerito da qualcuno. lo stesso. L'unica volta che si carica normalmente è quando facciamo clic con il pulsante destro del mouse sul file eseguibile effettivo per il mio programma e facciamo clic Run as an Administratorsull'opzione nel menu a comparsa. L'unico utente è l'amministratore in sys
Gio

Sai ai tempi, XP aveva questo menu contestuale "Esegui come" con il quale avrei potuto eseguire un programma come un altro utente se avessi avuto l'autorizzazione per farlo. Forse questo tuo programma ha bisogno della stessa cosa: /
Surya Teja Karra,

1
Questo non funziona
HolyAvengerOne

1

Puoi provare a ricontrollare la scheda Sicurezza nelle Proprietà del programma / app e vedere se tutti gli utenti / gruppi hanno "Controllo completo". Non sono sicuro se ciò risolverà, ma vale la pena provare


1
Questo non funziona
HolyAvengerOne
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.