Configurazione delle attività in background per l'esecuzione automatica come amministratore


2

Sto cercando di capire come eseguire un programma che richiede l'accesso come amministratore per l'esecuzione automatica.

Alcuni programmi come DuMeter , Speedfan o ATI Tray Tools richiedono l'accesso come amministratore per interfacciarsi con l'hardware. Inoltre, sono attività in background che non si vorrebbe dover eseguire manualmente su ogni avvio, quindi dovrebbero essere parte dell'avvio.

Mi sono guardato intorno e la cosa più vicina a una soluzione che ho trovato è stata quella di programmarli come attività, ma non va bene perché non solo ingombra l'elenco delle attività, ma alcuni programmi devono essere eseguiti il ​​più presto possibile (ad es. monitorare i byte trasferiti sulla scheda NIC, per regolare la velocità della ventola o impostare i colori del desktop e le frequenze di aggiornamento).

Ho considerato di convertirli in servizi, ma ciò sembra inutilmente eccessivo.

Esiste un modo migliore per autorun programmi come amministratore?

Grazie.


Aggiornamento
Per essere chiari, il metodo per elevare le attività di esecuzione automatica non dovrebbe richiedere l'input dell'utente come l'accettazione del prompt UAC. Certo, si potrebbe disabilitare l'UAC, ma ovviamente non è l'ideale.

Risposte:


0

I programmi che hai citato di solito hanno un'opzione ESEGUI ALL'AVVIO dall'interno delle impostazioni - questo è di solito il modo più semplice per andare.

L'esecuzione dei programmi come attività ti consentirà di eseguirli con privilegi elevati. C'è un'opzione per fare proprio questo nella finestra di dialogo "Crea nuova attività".

Puoi anche controllare le proprietà di ciascun file exe e selezionare la casella nella pagina COMPATIBILITÀ per ESEGUIRE SEMPRE COME AMMINISTRATORE.

Maggiori dettagli qui - http://www.sevenforums.com/tutorials/11841-run-administrator.html

e http://www.sevenforums.com/tutorials/11949-elevated-program-shortcut-without-uac-prompt-create.html


Le funzioni di esecuzione automatica integrate le eseguono solo senza admin, il che limita le loro funzioni (ad esempio Speedfan utilizza un chip di monitoraggio diverso e meno funzionale quando non è admin). Come ho detto, devono essere eseguiti il ​​più presto possibile e pianificandoli come attività dopo la chiave RUN nel registro. Utilizzando il metodo di scelta rapida (ovvero nella cartella Avvio ha lo stesso problema).
Synetech,

Anche dopo aver specificato ESEGUI COME AMMINISTRATORE nella scheda COMPATIBILITÀ?
Sparx,

L'uso di tale opzione provoca un prompt UAC. Ovviamente le attività di esecuzione automatica devono essere eseguite senza un prompt. Lo aggiungerò alla domanda anche se per essere assolutamente chiaro.
Synetech,

0

Un'alternativa è usare PsExec di Microsoft: può trasmettere nome utente e password al comando che deve essere eseguito.


Destra; quello era uno degli "altri programmi che possono eseguire un programma usando un altro account" a cui mi riferivo. Tuttavia, per ultimo ho controllato, richiede comunque di inserire la password effettiva nella riga di comando / registro / file batch / ecc. in chiaro . Ho visto un altro programma in grado di eseguire programmi utilizzando un altro account in grado di codificare la password, ma questa è un'app commerciale.
Synetech,

0

Eseguire uno speedfan come attività pianificata era un'idea giusta.
In Windows 7 l'attività può essere pianificata non solo in base alla data / ora, ma può anche essere eseguita con i trigger.
Ma è necessario configurarlo in modo corretto.
Il modo più semplice è solo copiare tutte le impostazioni dall'attività di esecuzione automatica di Skype. Se ne hai una
E ho anche aggiunto un altro trigger per il programma di esecuzione dell'attività: esegui all'accesso. (Sto traducendo le impostazioni dalla mia lingua. Quindi la traduzione non può essere esatta come vedi nella tua versione inglese)
Ecco le impostazioni:

  1. Crea nuova attività (NON SEMPLICE COMPITO)
  2. nelle schede comuni
  3. assegnare un nome ( Speedfan )
  4. Descrizione: Speedfan
  5. All'opzione per eseguire l'attività utilizzare l'account : fare clic sul pulsante Cambia ... , digitare Utenti quindi fare clic su Controlla nomi se il processo è andato a buon fine vedrai qualcosa come BUILTIN \ Users
  6. Fai clic sulla casella di controllo ESEGUI CON IL MASSIMO DESTRA
  7. Fai clic sulla scheda Trigger .
  8. Fai clic su Crea
  9. seleziona la seconda opzione in un elenco ( all'accesso )
  10. Fai clic su OK
  11. Fai clic su Crea
  12. selezionare Quando si modifica o si crea l' opzione dell'attività
  13. Clicca OK . L'attività è ora pronta e non richiederà più un'elevazione
  14. Seleziona la scheda Azioni
  15. Fai clic su Crea
  16. Lascia l' opzione Esegui programma e fai clic sul pulsante Sfoglia : seleziona il percorso per speedfan.exe (ad esempio:) "C:\Program Files (x86)\SpeedFan\speedfan.exe"e digita le opzioni della riga di comando nel campo a destra. Le mie opzioni sono -minimize -nosmbscan. Quindi fare clic su OK
  17. E infine fai clic su OK, usa questo per eseguire CCC.EXE, RaidCall e tutti i fastidiosi autoruns.

L'avevo già considerato e usato da un po ', tuttavia ho già spiegato i difetti con esso nella domanda.
Synetech,

0

Ok, ho trovato un modo per farlo senza troppi problemi o senza esporre una password in chiaro .

Innanzitutto, dovrai abilitare l'account amministratore. Questa è la parte più scomoda. Ho impostato il mio account normale per l'accesso automatico, ma è fastidioso che l'account amministratore sia disponibile nella schermata di accesso, anche se non lo vedo mai davvero. Alcuni potrebbero lamentarsi del fatto che esponendo l'account amministratore, rende il sistema un po 'meno sicuro, ma poiché è necessario impostare una password per l'account per poterlo utilizzare dalla riga di comando, tale preoccupazione è controversa.

Il metodo che ho scelto richiede l'utilizzo di una sorta di programma SHELLEXECUTE che supporti l'esecuzione di programmi minimizzati. (Si potrebbe usare invece il comando START incorporato nell'interprete dei comandi CMD, ma ciò farebbe lampeggiare una finestra del prompt dei comandi mentre un programma senza console senza finestre lo eviterebbe.) Ci sono molte tra cui scegliere, ma ne ho appena usato uno che Ho scritto molto tempo fa.

Ora, basta creare una voce di registro nella chiave RUN che chiama ShellExecute, specificando l'opzione di minimizzazione e usando RUNAS come programma da eseguire. (Se preferisci, ci sono altri programmi che possono eseguire un programma usando un altro account, ma RUNAS viene fornito con Windows e può salvare la password per evitare di includerla nella riga di comando.) In alternativa, puoi creare un collegamento di Windows regolare e spostare nella cartella Avvio .

Infine, dovrai passare il programma (e tutti gli argomenti per esso) come argomento a RUNAS.

(Non dimenticare di eseguire il programma di destinazione o qualsiasi altro programma con RUNAS, specificando l'opzione / SAVECRED, almeno una volta senza eseguirlo minimizzato per salvare la password.)

La riga di comando da utilizzare può diventare piuttosto complessa perché è un programma che chiama un programma che chiama un programma. Peggiora se è necessario specificare argomenti per il programma di destinazione e molto peggio se è necessario includere spazi. La situazione delle virgolette può diventare rapidamente esasperante, quindi sarà probabilmente necessaria molta sperimentazione.

Ad esempio, se si utilizza ShelExec da PJ Naughter e si desidera eseguire SpeedFan, utilizzare una riga di comando come questa:

shelexec /showcmd:sw_hide /EXE runas "/params:/user:administrator /savecred ""C:\Program Files\SpeedFan\speedfan.exe"""

Devo sottolineare che ho impostato le opzioni di SpeedFan per iniziare a minimizzare, altrimenti invece di eseguire speedfan "direttamente", dovrei eseguire un secondo programma ShellExecute con la sua opzione di minimizzazione per eseguire SpeedFan (un programma che chiama un programma che chiama un programma che chiama un programma). Far funzionare tutto ciò farebbe quasi sicuramente impazzire anche l'amministratore di computer più abile.

Può essere un po 'complicato elaborare la riga di comando, ma sembra funzionare abbastanza bene per tutte le attività in background eseguite automaticamente che richiedono l'accesso amministrativo. Soprattutto, funziona con account utente standard / limitati, quindi è possibile utilizzare questo metodo per eseguire automaticamente i programmi con privilegi elevati senza fornire un prompt UAC per gli utenti regolari.

(Mentre funziona bene, ha i suoi lati negativi, in particolare perché, poiché esegue i programmi indirettamente, i gestori di esecuzione automatica come Autoruns, StartupDelayer, HijackThis ecc. Non saranno in grado di rilevare quale programma reale è in esecuzione automatica: lo faranno funziona ancora ed è in grado di disabilitare / cancellare / ecc., ma non mostreranno l'icona giusta o le informazioni sulla risorsa file.)


0

Penso che l'uso dell'utilità di pianificazione per l'avvio automatico dei programmi non sia molto facile da usare e, a volte, ha avuto effetti collaterali per me (ad esempio, l'icona della barra delle applicazioni per un programma non viene aggiunta).

Per ovviare a questo, ho creato un programma chiamato Elevated Startup che prima si riavvia con i privilegi di amministratore, quindi avvia tutti i file in una directory. Poiché Elevated Startup è ora elevato, a tutti i programmi che avvia vengono assegnati privilegi di amministratore. La directory si trova nel menu di avvio accanto alla directory di avvio classica e funziona in modo molto simile.

È possibile che venga visualizzato un prompt UAC quando il programma si riavvia da solo, a seconda delle impostazioni UAC.

Puoi ottenere il programma qui: https://stefansundin.github.io/elevatedstartup/

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.