Une question assez simple à laquelle j'ai du mal à trouver une réponse.
serverfault m'a précédemment aidé à trouver un moyen d'automatiser les mises à jour Windows sans utiliser WSUS. Cela fonctionne à merveille, mais pour l'exécuter sur le réseau, vous devez d'abord monter un lecteur partagé. C'est assez simple XP car il vous suffit de monter le lecteur et d'exécuter le programme de mise à jour.
Sur Vista et W7, cependant, tout cela doit être fait avec des privilèges élevés pour fonctionner correctement. Le compte UAC ne peut pas voir les lecteurs réseau montés par l'utilisateur normal, donc pour que tout fonctionne, je dois monter le partage via net use
un shell escaladé. J'aimerais automatiser le montage de ce partage et le lancement du programme de mise à jour via un simple fichier .bat.
Je pourrais probablement demander à tout le monde de cliquer avec le bouton droit de la souris sur "Exécuter en tant qu'administrateur" sur le fichier .bat, mais je voudrais que les choses soient aussi simples que possible et que le .bat invite automatiquement l'utilisateur à augmenter ses privilèges.
Étant donné que ces ordinateurs ne nous appartiennent pas, je ne peux pas compter sur l'installation de Powershell, de sorte que les règles de toute solution dans ce sens et doivent à peu près s'appuyer sur des éléments qui seraient inclus dans une installation RTM Vista. J'espère que je manque surtout quelque chose d'évident ici. :)
la source
elevate.cmd
etelevate.vbs
Si vous êtes prêt à convertir en PowerShell, c'est beaucoup plus facile à faire. Voici mon
Elevate-Process.ps1
script " " (avecsu
comme alias dans mon profil):La détection de l'élévation peut également être effectuée dans PSH (vous pouvez donc vérifier l'élévation, puis élever si nécessaire):
la source
voici un exemple de script que j'ai trouvé, j'espère qu'il aide les autres. Il s'agit d'un fichier de chauve-souris qui invite l'utilisateur à obtenir une autorisation, puis s'intensifie. Il envoie quelques vbscript qui déclenchent l'invite UAC puis réexécute le fichier bat élevé ... http://jagaroth.livejournal.com/63875.html
la source
Voici ce dont vous avez besoin: http://sites.google.com/site/eneerge/home/BatchGotAdmin
la source
FusionInventory.org est une solution open source principalement utilisée par les petits ateliers de réparation. Cela peut être comme votre programme de mise à jour Windows Windows contrôlé à distance.
la source
Aucune de ces solutions ne fonctionne pour un fichier .cmd qui doit être conscient des paramètres de ligne de commande. Mettez cela au tout début du fichier .cmd et tous vos problèmes seront résolus. (C'est pour les futures personnes parcourant ce fil [J'ai testé cela sur Windows XP, 7 Vista et 8; x86 + x64]):
la source
Comme l'a dit @emilio, ce script est OK mais il n'accepte aucun argument. Voici le script modifié pour être compatible avec les arguments:
la source
Si vous ne pouvez pas compter sur l'installation de Powershell, vous pouvez prendre cette solution sur StackOverflow:
élévation automatique avec UAC à l'aide d'un fichier de commandes
Il ne nécessite rien d'installation et fonctionne hors de la boîte. Si vous devez conserver les arguments de ligne de commande, envisagez cette mise à jour.
la source
Avez-vous essayé la
runas
commande?la source