Configuration des tâches en arrière-plan pour l'exécution automatique en tant qu'administrateur

2

J'essaie de comprendre comment exécuter un programme qui nécessite un accès administrateur pour autorun.

Certains programmes tels que DuMeter , Speedfan ou ATI Tray Tools nécessitent un accès administrateur pour l’interface avec le matériel. En outre, il s’agit de tâches en arrière-plan qu’on ne voudrait pas exécuter manuellement à chaque démarrage; elles devraient donc faire partie du démarrage.

J'ai regardé autour de moi et la solution la plus proche d'une solution que je pouvais trouver était de les planifier en tâches, mais ce n'est pas une bonne chose, car elle encombre la liste des tâches, mais certains programmes doivent être exécutés dès que possible (par exemple, surveiller les octets transférés sur la carte réseau, pour régler la vitesse du ventilateur ou définir les couleurs et les fréquences de rafraîchissement du bureau).

J'ai envisagé de les convertir en services, mais cela semble excessivement inutile.

Existe-t-il un meilleur moyen de lancer automatiquement des programmes en tant qu'administrateur?

Merci.


Mise
à jour Pour être clair, la méthode pour élever les tâches d'exécution automatique ne nécessite pas l'intervention de l'utilisateur, telle que l'acceptation de l'invite UAC. Bien sûr, on pourrait désactiver le contrôle de compte d'utilisateur, mais ce n'est évidemment pas idéal.

Synetech
la source

Réponses:

0

Les programmes que vous avez mentionnés ont généralement une option Exécuter au démarrage dans les paramètres, ce qui constitue généralement le moyen le plus simple.

L'exécution des programmes en tant que tâches vous permettra de les exécuter avec des privilèges élevés. Il existe une option pour le faire dans la boîte de dialogue "Créer une nouvelle tâche".

Vous pouvez également vérifier les propriétés de chaque fichier exe et cocher la case dans la page COMPATIBILITY pour TOUJOURS EXECUTER EN TANT QU'ADMINISTRATEUR.

Plus de détails ici - http://www.sevenforums.com/tutorials/11841-run-administrator.html

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

Sparx
la source
Les fonctions d'exécution automatique intégrées ne les exécutent que sans administrateur, ce qui limite leurs fonctions (par exemple, Speedfan utilise une puce de surveillance différente, moins fonctionnelle, en dehors de l'administration). Comme je l'ai dit, ils doivent s'exécuter le plus tôt possible et leur planification en tant que tâches est postérieure à celle définie dans la clé RUN du registre. Utiliser la méthode du raccourci (c’est-à-dire que le dossier de démarrage pose le même problème).
Synetech
Même après avoir spécifié RUN AS ADMINISTRATOR dans l'onglet COMPATIBILITY?
Sparx
L'utilisation de cette option provoque une invite UAC. Les tâches d'exécution automatique doivent évidemment être exécutées sans invite. Je vais ajouter cela à la question, mais pour être absolument clair.
Synetech
0

Une alternative consiste à utiliser PsExec de Microsoft - il peut transmettre le nom d'utilisateur et le mot de passe à la commande à exécuter.

Sparx
la source
Droite; c'était l'un des "autres programmes pouvant exécuter un programme utilisant un compte différent" auquel je faisais référence. Cependant, la dernière fois que j'ai vérifié, il faut toujours indiquer le mot de passe actuel dans le fichier de ligne de commande / registre / batch / etc. dans le clair . J'ai vu un autre programme capable d'exécuter des programmes utilisant un compte différent pouvant coder le mot de passe, mais il s'agit d'une application commerciale.
Synetech
0

Faire fonctionner un speedfan en tant que tâche planifiée était une bonne idée.
Dans Windows 7, la tâche peut être planifiée non seulement par la date / heure, mais également par des déclencheurs.
Mais vous devez le configurer correctement.
Le moyen le plus simple consiste simplement à copier tous les paramètres de
la tâche d'exécution automatique de Skype.Si vous en avez un Et j'ai également ajouté un déclencheur supplémentaire pour le programme d'exécution de la tâche: exécution à l'ouverture de session. (Je traduis les paramètres de ma langue. La traduction peut donc ne pas être exacte, comme vous le voyez dans votre version anglaise)
Voici les paramètres:

  1. Créer une nouvelle tâche (PAS SIMPLE TASK)
  2. aux onglets communs
  3. attribuer un nom ( Speedfan )
  4. Description: Speedfan
  5. Au choix, pour exécuter la tâche, utilisez le compte : cliquez sur le bouton Modifier ... , tapez Utilisateurs, puis cliquez sur Vérifier les noms si le processus a abouti. Vous verrez apparaître quelque chose comme BUILTIN \ Users.
  6. Cochez la case EXÉCUTER AVEC LA PLUS HAUT DROITE
  7. Cliquez sur l' onglet Déclencheurs .
  8. Cliquez sur Créer
  9. sélectionnez la deuxième option dans une liste ( à l'ouverture de session )
  10. Cliquez OK
  11. Cliquez sur Créer
  12. sélectionnez Lorsque vous modifiez ou créez l' option de tâche
  13. Cliquez sur OK . La tâche est maintenant prête et ne demandera plus d'élévation.
  14. Onglet Sélectionner des actions
  15. Cliquez sur Créer
  16. Quittez le programme Exécuter et cliquez sur le bouton Parcourir - sélectionnez le chemin d'accès à speedfan.exe (Par exemple:) "C:\Program Files (x86)\SpeedFan\speedfan.exe"et tapez vos options de ligne de commande dans le champ situé à droite. Mes options sont -minimize -nosmbscan. Puis cliquez sur OK
  17. Et enfin, cliquez sur Ok. Utilisez-le pour exécuter CCC.EXE, RaidCall et tous les autoruns ennuyeux.
Kitty Hawk
la source
J'avais déjà réfléchi à cette question et je l'avais utilisée pendant un certain temps, mais j'avais déjà expliqué les lacunes de cette question dans la question.
Synetech
0

D'accord, j'ai trouvé un moyen de le faire sans trop de tracas ni d'exposer un mot de passe en clair .

Tout d'abord, vous devez activer le compte d'administrateur. C'est la partie la plus gênante. J'ai configuré mon compte normal pour la connexion automatique, mais il est gênant que le compte administrateur soit disponible sur l'écran de connexion, même si je ne le vois jamais vraiment. Certains pourraient se plaindre qu'en exposant le compte administrateur, le système sera un peu moins sécurisé. Toutefois, comme vous devez définir un mot de passe pour le compte afin de pouvoir l'utiliser à partir de la ligne de commande, cette préoccupation est sans objet.

La méthode que j'ai choisie nécessite l'utilisation d'une sorte de programme SHELLEXECUTE qui prend en charge les programmes en cours d'exécution minimisés. (On pourrait utiliser la commande START intégrée à l'interpréteur de commandes CMD à la place, mais cela ferait clignoter une fenêtre d'invite de commande alors qu'un programme non console sans fenêtre éviterait cela.) Il y a beaucoup de choix, mais j'en J'ai écrit il y a longtemps.

Maintenant, créez simplement une entrée de registre dans la clé RUN qui appelle ShellExecute, en spécifiant l'option de réduction et en utilisant RUNAS en tant que programme à exécuter. (Si vous préférez, certains programmes peuvent exécuter un programme avec un compte différent, mais RUNAS est fourni avec Windows et peut enregistrer le mot de passe pour éviter de l'inclure dans la ligne de commande.) Vous pouvez également créer un raccourci Windows normal et le déplacer. dans le dossier de démarrage .

Enfin, vous devrez passer le programme (et ses arguments) comme argument à RUNAS.

(N'oubliez pas de lancer le programme cible, ou n'importe quel programme, avec RUNAS, en spécifiant l'option / SAVECRED, au moins une fois sans l'exécuter minimisé afin de sauvegarder le mot de passe.)

La ligne de commande à utiliser peut devenir assez complexe car il s’agit d’un programme appelant un programme appelant un programme. Cela s'aggrave si vous devez spécifier des arguments pour le programme cible, et pire encore si vous devez inclure des espaces. La situation des guillemets peut rapidement devenir exaspérante, de sorte que de nombreuses expériences seront probablement nécessaires.

Par exemple, si vous utilisez ShelExec de PJ Naughter et souhaitez exécuter SpeedFan, vous utiliserez une ligne de commande comme celle-ci:

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

Je dois souligner que j’ai défini les options de SpeedFan pour un démarrage minimisé, sinon au lieu d’exécuter «directement» speedfan, je devrais exécuter un deuxième programme ShellExecute avec son option minimiser pour exécuter SpeedFan (un programme appelant un programme appelant un programme appelant un programme). Faire en sorte que cela fonctionne conduirait presque sûrement même le plus accompli des administrateurs informatiques à devenir fou furieux.

La ligne de commande peut être un peu fastidieuse, mais cela semble assez bien fonctionner pour toutes les tâches en arrière-plan à exécution automatique nécessitant un accès administrateur. Mieux encore, cela fonctionne pour les comptes d'utilisateur standard / limités. Vous pouvez donc utiliser cette méthode pour que les programmes s'exécutent automatiquement avec des privilèges élevés sans donner d'invitation UAC aux utilisateurs habituels.

(Bien que cela fonctionne bien, il a ses inconvénients, notamment parce qu’il exécute les programmes indirectement, les gestionnaires d’exécution automatique tels que Autoruns, StartupDelayer, HijackThis, etc. ne pourront pas détecter le programme en cours d’exécution automatique. fonctionne toujours et peut désactiver / supprimer / etc, mais ils n’afficheront pas les bonnes informations sur les ressources des icônes ou des fichiers.)

Synetech
la source
0

Je pense que l'utilisation du planificateur de tâches pour lancer automatiquement des programmes n'est pas très conviviale, et parfois cela a eu des effets secondaires pour moi (par exemple, l'icône de la barre des tâches d'un programme n'est pas ajoutée).

Pour remédier à cela, j'ai créé un programme appelé Démarrage accéléré qui se relance tout d'abord avec des privilèges d'administrateur, puis lance tous les fichiers d'un répertoire. Etant donné que Elevated Startup est maintenant élevé, tous les programmes qu’il lance ensuite disposent également de privilèges d’administrateur. Le répertoire se trouve dans le menu de démarrage à côté du répertoire de démarrage classique et fonctionne pratiquement de la même manière.

Vous pouvez rencontrer une invite UAC lorsque le programme se relance, en fonction de vos paramètres UAC.

Vous pouvez obtenir le programme ici: https://stefansundin.github.io/elevatedstartup/

Stefansundin
la source