« runas » est une commande qui permet à un utilisateur d’exécuter un programme avec les privilèges d’un utilisateur spécifique sans avoir besoin d’ouvrir une nouvelle session Windows.
Prenons un exemple: l’utilisateur « Benoit » qui n’est pas administrateur de son poste désire démarrer un service Windows. Il exécute donc la commande services.msc afin d’afficher la liste des services Windows présents sur sa machine. Lorsqu’il sélectionne le service désiré et qu’il clique sur « démarrer », il obtient l’erreur suivante « Accès refusé« .
Cela signifie qu’il ne possède pas les privilèges suffisent pour effectuer cette opération. Il peut néanmoins lancer ce programme avec les privilèges d’un autre utilisateur via cette commande « runas« .
La syntaxe de la commande est la suivante
runas /user:[username] [programme]
S’il désire par exemple lancer « notepad » avec les privilèges de l’utilisateur « admin », il lui suffit de taper
runas /user:admin notepad
Une fois le mot de passe correctement renseigné, l’application se lance.
Problématique avec un composant msc, donc services.msc
Cependant, si on applique cela au programme services.msc, ça ne fonctionne pas
runas /user:admin services.msc
Résultat
Erreur de RUNAS : Impossible d'exécuter - services.msc 193 : services.msc n'est pas une application Win32 valide.
Pour que cela fonctionne, il faut utiliser le programme mmc et lui passer en paramètre le nom de notre composant msc.
runas /user:admin "mmc services.msc"
Bonjour et merci beaucoup pour ce script,
il répond partiellement à mon problème.
Je voudrais déployer un .bat pour qu’il soit exécuté par des utilisateurs avec droits limités afin de démarrer QUE LE SERVICE spooler d’impression.
******
@echo off
pause
net start spooler
pause
******
Donc comment renseigner le mot de passe admin dans le fichier pour qu’il ne soit pas demandé à chaque exécution.
Je serai très reconnaissant.