Je me demande s’il est possible d’ ouvrir automatiquement un fichier de commandes en tant qu’administrateur lorsque vous double-cliquez sur le fichier de commandes, car les commandes doivent être exécutées avec des droits d’administrateur.
Remarque: Je connais déjà la solution consistant à cliquer avec le bouton droit de la souris sur le fichier et à cliquer sur Run As Administrator
, mais ce n'est pas une solution automatique.
windows-7
batch-file
Antp
la source
la source
Réponses:
Oui, vous pouvez exécuter un fichier de commandes avec des droits d’administrateur. Malheureusement, vous ne pouvez pas le faire directement à partir du fichier de commandes. Vous devez d'abord créer un raccourci de ce fichier de commandes et modifier les propriétés de ce raccourci pour que cela fonctionne.
Pour créer un raccourci, il existe plusieurs façons, mais la plus simple et la plus rapide consiste à utiliser l' option Envoyer à du menu contextuel.
Bien sûr, vous pouvez envoyer le raccourci où vous le souhaitez. Pour élever le fichier de commandes à exécuter en tant qu'administrateur, procédez comme suit:
la source
if "%~1" == "" start %USERPROFILE%\Desktop\Shortcut.lnk && GOTO :EOF
ci@echo off
- dessous , et créer le lien de raccourci auprogram.bat a
lieu de justeprogram.bat
.Tel que posté dans une réponse de Ben Gripka à une autre question:
la source
La réponse acceptée fonctionne effectivement. Mais j’ai trouvé que dans Windows 7, je devais supporter la boîte de dialogue UAC à chaque clic sur le raccourci. Cet IMHO diminue considérablement le "automatiquement" dans cette question!
Ensuite, j’ai trouvé que dans mon cas, le
.bat
fichier en question devait être exécuté par le Planificateur de tâches. Dans ce cas, cochez l'Run with highest privileges
option sur l'General
onglet de la tâche pour résoudre le problème. Le.bat
est ensuite exécuté en tant qu'administrateur sans tracas.PS: Je n'avais pas réalisé que je ne pouvais pas télécharger d'images sur cette réponse, car j'ai une jolie petite capture d'écran assise avec moi maintenant! Ou puis-je?
la source
sur Windows 7
Créer un raccourci vers ce fichier batch
Cliquez avec le bouton droit sur le fichier de raccourci
Cliquez sur le bouton avance pour trouver une case à cocher pour exécuter en tant qu'administrateur
Vérifiez la capture d'écran ci-dessous
la source
Vous pouvez utiliser mon script Batch_Admin pour élever automatiquement l'administrateur à utiliser dans n'importe quel type de script propre à Batch, BAT ou .CMD. Cette fonction garantit le travail sur un environnement standard, avec des outils standard et de la même manière sur différents systèmes Windows. Il utilise plusieurs commandes Windows standard et intégrées. N'utilisez pas d'autres scripts externes. Il peut être utilisé pour appeler n’importe quel programme en tant qu’administrateur, pas seulement les scripts Batch. Il suffit de créer un petit script, qui appelle ensuite le programme nécessitant l'autorisation Administartor. Placez ceci dans n’importe quel dossier PATH de recherche (à partir de% PATH%).
Pour l'utiliser, il vous suffit d'insérer la ligne suivante (exactement comme) dans son script Batch parent, qui doit être exécuté en tant qu'administrateur. Ceci est mieux fait en haut de notre script parent et il vaut mieux d'abord, qui sera appelé via l'appel, quelques sous-scripts (voir l'explication détaillée ci-dessous).
Cela peut être inséré dans n'importe quel script enfant, appelé par la syntaxe CALL. Pour afficher un message alors qu'il est toujours sans privilèges d'administrateur, par exemple. pendant 5 secondes avant d'appeler Batch_Admin, définissez la variable "ShowAdminInfo" sur le nombre de secondes
Alors comment ça marche:
• Appelle UAC.ShellExecute via VBScript pour obtenir les autorisations des utilisateurs.
• Batch exécute le script, ou BAT ou CMD
• L'appelant de script peut avoir un espace de nom long inclus dans l'appel entre guillemets
• Rendez tous les paramètres, le script maître passé depuis la ligne de commande, comme s'il n'y avait pas eu de transmission de l'appel et démarrez à partir de zéro, également avec des caractères spéciaux, comme des points d'exclamation (!) Et des pourcentages (%), ainsi que avec des parenthèses ()
• Détient un emplacement de script maître si l'appel a eu lieu dans le répertoire où ce script est le maître
• Auxiliary affiche un message si nous définissons avant nous-mêmes la variable "ShowAdminInfo", par exemple. pendant 5 secondes, ce qui peut empêcher le transfert immédiat des droits de l'administrateur donnant des informations supplémentaires et la possibilité d'une décision éclairée. Exemples de paramètres à définir: SET ShowAdminInfo = 5 Par défaut, cette variable n'étant pas définie, elle ne s'affiche pas.
• Le script appelle également dans le chemin de recherche système% PATH% et à partir d'une ressource réseau, telle que: \ Ordinateur \ partage \ test.bat
• Empêche les malentendus dans l'écriture des fichiers auxiliaires nécessaires lorsque le script appelle plusieurs Batch_Admin presque simultanément. Il utilise le nombre aléatoire de 1 à 100
• Mais le mieux est de l’utiliser sur un script parent. La transition vers les droits d’administrateur nécessite toujours de réexécuter complètement le script, dans une nouvelle fenêtre, dans un nouvel environnement, sans recourir aux variables précédemment définies dans notre script et les valeurs de ces variables ne sont pas passées à appeler en tant qu’administrateur. . Juste le script sera exécuté à nouveau.
Ci-dessous un script complet Batch_Admin. Des informations détaillées à ce sujet se trouvent sur mon site.
Copiez le texte suivant dans le Bloc-notes et enregistrez-le sur le disque en tant que: Batch_Admin.bat
la source
Vous pouvez également créer un deuxième fichier de commandes, ce qui pourrait vous permettre d'exécuter n'importe quoi en tant qu'administrateur, tout en entrant le mot de passe de l'administrateur une seule fois. Le mot de passe est enregistré dans un jeton d'authentification et nécessite un certain savoir-faire informatique.
la source
Cela fonctionne aussi SOURCE: https://social.technet.microsoft.com/Forums/windows/en-US/bc8a4561-d97e-4339-9b1c-9b90e54a7f92/request-elevation-inside-cmdbatch-file
la source
Vous pouvez utiliser un utilitaire de ligne de commande
elevate
. (lien de téléchargement - https://drive.google.com/open?id=0Bz7qe_olclTwVGZLUklFMHNxQ00 )la source
C'est un exemple pour exécuter la batte en tant qu'administrateur. Ça marche pour moi.
Ça va comme ça:
la source