Freigeben über


PowerShell – Comment éviter le prompt d’UAC pour automatiser l’exécution d’un script

L'un de mes clients a récemment soulevé le fait qu'il ne pouvait pas exécuter un script PowerShell automatiquement car le script nécessitait une élévation de privilège (via un prompt UAC) ce qui bloquait l'exécution du script.
Bien entendu, la désactivation d'UAC n'était pas envisageable. En effectuant quelques recherches, je suis tombé sur l'article de blog suivant :
https://blogs.technet.com/b/benshy/archive/2012/06/04/using-a-powershell-script-to-run-as-a-different-user-amp-elevate-the-process.aspx

J'ai donc proposé à mon client d'exécuter une tâche planifiée avec une commande de ce type :
Start-Process -Verb Runas powershell.exe c:\test.ps1

La tâche planifiée a pour but de démarrer un processus PowerShell.exe qui va exécuter le script test.ps1 situé dans le répertoire C:\ en forçant l'élévation de privilège.
C'est la propriété Runas qui permet de forcer l'élévation de privilège et ainsi de ne pas être gêné par UAC.

En espérant que cet article vous soit utile.
@ Bientôt
Sylvain Lecerf et L'équipe de support IIS Microsoft France