Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

runas: command line

Publié le par damcuvelier

 

 

Lors de mes différentes péripécies il a toujours été prévu à travers les outils d’executer mes scripts en tant qu’administrateur local…. Mais…

 

Aujourd’hui je travaille sur un outil arcaïque nommé LANDesk, qui je ne sais pas comment exactement (et puis ça m’interesse pas !!), empêche l’execution des scripts vbs (wscript.exe ne marche pas) sous le compte local system… Et puis, j’ai pas envie de trouver pourquoi, puisque mon but est de trouver une solution clé en main.

 

Alors, j’ai cherché, j’ai cherché et j’ai cherché… un moyen de faire runas en ligne de commande silencieuse…

 

 

Et j’ai fini par trouver:

 

 

runasspc.exe

 

Cet outil permet de faire un runas en ligne de commande silencieuse, c’est à dire sans cette Saloperie de “veuillez fournir le mot de passe…Etc” qu’affiche “runas.exe” natif windows.

 

Voici la syntaxe:

unasspc.exe /program:"%1 %2" /domain:%3 /user:%4 /password:%5 /quiet

où:

“%1 %2” = le programme à lancer.

Par exemple pour lancer hello.vbs:

                                                   %1= “C:\windows\system32\wscript.exe”

                                                   %2= “C:\…\hello.vbs”

mais si c’est pour lancer notepad alors: on remplace “%1 %2” par notepad.exe…

 

%2 = le domaine

%4 = username

%5 = le mot de passe.

 

 

Par exemple, pour lancer le script Hello.vbs en tant qu’administrateur local (mot de passe = P@ssw0rd). Il faut faire:

 

runas.cmd /program:"c:\windows\system32\wscript.exe C:\Users\toto\Desktop\hello.vbs" /domain:"localhost" /user:administrateur /password:P@ssw0rd /quiet

 

Mais on peut aussi le mettre dans un batch si on veut récupérer les informations via des variables d’environnement (si vous voyez ce que je veux dire landesk envt variables par exemple…):

 

dans le batch, on mettra:

runasspc.exe /program:"%1 %2" /domain:%3 /user:%4 /password:%5 /quiet

 

et on executera comme ça:

runas.cmd "c:\windows\system32\wscript.exe" "C:\Users\toto\Desktop\hello.vbs" "localhost" administrateur P@ssw0rd

 

Et si on veut parser des variables ça donnera dans landesk:

runas.cmd "c:\windows\system32\wscript.exe" "C:\Users\toto\Desktop\hello.vbs" %LDDomain% %LDUser% %LDPass%

 

 

Lsrunas

LSrunas can be used to run a command using another user account and passing the password as a parameter.
This is a big improvement over the standard runas tool which is not able to accept a password.
LSrunas can be used in scripts.
Parameters:
-----------
/user: specifies the username
/password: specifies the password
/domain: specifies the domain
/command: specifies the command to execute and the parameters
/runpath: specifies the path where the command should start
Examples:
---------
lsrunas /user:administrator /password:s3cr3tp@ssw0rd /domain:Mydomain /command:notepad.exe /runpath:c:\
lsrunas /user:administrator /password:s3cr3tp@ssw0rd/domain:Mydomain /command:"C:\Program Files\Internet Explorer\iexplore.exe" /runpath:c:\

lsrunas /user:administrator /password:s3cr3tp@ssw0rd /domain:Mydomain /command:"C:\Program Files\Internet Explorer\iexplore.exe http://www.google.be" /runpath:c:\

 

 

in batch:

lsrunas.exe /program:"%1 %2" /domain:%3 /user:%4 /password:%5 /quiet

lsrunas /user:%4 /password:%5 /domain:%3 /command:”%1 %2”

 

in landesk:

runas.cmd "c:\windows\system32\wscript.exe" "C:\Users\toto\Desktop\hello.vbs" %LDDomain% %LDUser% %LDPass%

 

 

 

Résultat on pourra lancer un script vbs pendant un provisionning pour effectuer une configuration spécifique comme par exemple détecter si l’architecture est x64 ou x86 et renvoyer ça dans un variable du template. Puis, utiliser des conditions…etc

 

A quoi ça sert?

 

A avoir un seul template, quelle que soit la langue, quelle que soit l’architecture, quel que soit le modèle, quel que soit le groupe ciblé…etc

Et c’est mieux 1 seul template qui prend tout en charge que 50 templates.

 

Après tout on est ingénieur, non? on a fait de études scientifiques, non?

Donc on adore la mise en équation. On est pas de bidouilleurs et on fait du boulot propre!!

 

BATCH c’est rouillé!!

 

 

 

//////////////////////////////////////////

PS: petite mise à jour:

1) lancer un programme en tant que compte système:

psexec.exe -s -i cmd.exe

puis on lance le programme ;)

 

2) lancer un script powershell as local admin:

powershell -file "<full path du script>" -verb runas

 

3) lancer une commande via powershell as local admin:

powershell -command 'start-process "<full path de la commande en respectant les règles d'espaces>" [option: -argumentlist "<les arguments de la commande s'il y en a"]' -verb runas

 

@+

 

 

Commenter cet article

A
Runas /Noprofile /savecred /user:Administrateur . ..... etc ! Et cela marche pour moi dans mon script batch plus besoin de taper ce f.... mot de passe ...!
Répondre
V
Bonjour, est ce que lsrunas fonctionne toujours dans les nouvelles versions de Windows? <br /> Je n'arrive pas à le mettre en place en déploiement.<br /> Merci, vincennt
Répondre
D
Salut, essayes d'utiliser "Start-Process powershell -Verb runAs".
S
Bonjour,<br /> Je suis intéressé par ces 2 programmes (runasspc.exe et lsrunas.ex) dont vous parlez ci dessus mais je n'ai pas trouvé de liens pour les télécharger : Pourriez vous SVP me dire où et comment me les procurer.<br /> Merci d'avance<br /> Cdt<br /> PS
Répondre
D
Une petite recherche sur google:<br /> lsrunas: http://www.moernaut.com/files/Lsrunas.zip<br /> runasspc: http://robotronic.de/runasspc/runasspcEn.zip