[..] Exécution d'un fichier .bat en admin ou utilisateur

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
christophe
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 09 déc. 2015 16:05
Localisation : Metz
Status : Hors ligne

[..] Exécution d'un fichier .bat en admin ou utilisateur

#1

Message par christophe »

Bonjour,

Voila je cherche à exécuter un fichier .bat en tant qu'admin ou utilisateur faisant partie du groupe admin local de la machine.

ma tentative de script Autoit :

Code : Tout sélectionner

 #include <AutoItConstants.au3>

Example()

Func Example()
    ; Change the username and password to the appropriate values for your system.
    Local $sUserName = "user"
    Local $sPassword = "user"

    ; Run .bat . DEL_KB3035583_KB2976978.bat is run under the user previously specified.
   RunAs($sUserName, @ComputerName, $sPassword, "C:\temp01\DEL_KB3035583_KB2976978.bat" )

EndFunc   ;==>Example



Username : user -> c'est le nom d'utilisateur des sessions Windows
password : user -> le mot de passe ^^

les PC démarrent sans devoir saisir le mot de passe à chaque fois grâce à la fonction : control userpasswords2

mon fichier .bat ressemble à sa :
son nom : DEL_KB3035583_KB2976978.bat

Code : Tout sélectionner

start /wait wusa /uninstall /kb:3035583 /quiet /norestart
start /wait wusa /uninstall /kb:2976978 /quiet /norestart
start /wait c:/temp01/HIDE_KB3035583_KB2976978.vbs
 


donc il s'agit de supprimer les méchants KB de MR Microsoft qui propose/force l'installation de Win 10 et la dernière ligne appel un fichier VBS
qui masque les dit KB dans Windows Update.
Quand je fait double clic sur le fichier .bat, la fenêtre s'ouvre, désinstalle les KB puis appel le VBS pour les masquer.

Mais j'aimerais exécuter le fichier d'une part sans que la fenêtre s'affiche mais aussi sans devoir demander à mes 200 collègues de cliquer sur un fichier,
ou d'aller sur les 25 sites différent pour le faire à leur place.


Pour ceux qui se demande comment/qui va executer ce fichier/script la réponse est tout simplement GLPI avec FusionInventory.

Donc pour information, nous avons donc environs 25 site distant, en VPN mais hors domaine.
Et avec GLPI - FusionInventory j'arrive à envoyer des fichiers sur tout les PC des 25 sites. Mais impossible que GLPI - FusionInventory exécute
mon fichier .bat en mode "admin" ou utilisateur faisant partie du groupe admin local de la machine.

Donc est-il possible de créer un script converti en exe ? (merci Autoit) pour que je puisse l'exécuter avec GLPI ?

Merci d'avance pour votre aide et si vous avez des questions, n'hésiter pas.

Bonne journée
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Exécution d'un fichier .bat en admin ou utilisateur

#2

Message par jguinch »

Ah, ça fait plaisir d'avoir quelqu'un qui parle fusion inventory !
Je comprends pas trop ta difficulté pour la partie admin, car l'agent fusion s'exécute en tant que compte système, donc avec les droits administrateur.

Dans ton cas, pas besoin de .bat, il suffit de faire exécuter les commandes par ton script AutoIt, en spécifiant le bon chemin vers wusa.exe (donc attention aux OS 64 bits) :
► Afficher le texte
Si vraiment il faut que tu exécutes ça avec un compte spécifique, tu peux faire comme ça (mais il faut que l'UAC soit désactivé) :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
christophe
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 09 déc. 2015 16:05
Localisation : Metz
Status : Hors ligne

Re: [..] Exécution d'un fichier .bat en admin ou utilisateur

#3

Message par christophe »

Tout d'abord merci de la réponse à cette heure si ;-). Et oui comme tu dit l'agent fusion agît en compte système mais l'exécution du .bat ne fonctionne pas... Bug de fusioninventory ? XD... Bon peu importe.

Mais je suis tout à fait partant pour faire le même job avec Autoit.
Et donc tout mes PC sont en win8.1 pro 64bits. Donc pour le wusa.exe je devrait pas trop avoir de soucis.

Après pour l'utilisation d'un compte spécifique ce n'est pas obligé mais vu que je n'arrivait pas a exécuter mon .bat je pensait qu'il fallait renseigner un compte du group admin local dans un fichier avec login et password en claire.
Et pour finir tout nos PC ont l'UAC de désactivé, ils sont comme des clients léger pour nous et nos utilisateurs vue qu'on bosse sur une ferme Citrix xenapp ;-)

Dans tout les cas merci pour le/les scripts je test demain matin.
christophe
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 09 déc. 2015 16:05
Localisation : Metz
Status : Hors ligne

Re: [..] Exécution d'un fichier .bat en admin ou utilisateur

#4

Message par christophe »

Bonjour,

Donc premier retour sur le script que tu a fait jguinch

j'ai eu un soucis sur la dernière ligne, concernant le fichier vbs. Quand j'exécutais le script, il me m'était un message d'erreur sur le faite qu'il ne trouve pas mon fichier, alors que le chemin du .vbs était bien renseigné.

j'ai donc testé ceci

Code : Tout sélectionner

#include <WinAPIFiles.au3>

_WinAPI_Wow64EnableWow64FsRedirection ( False )

RunWait("wusa /uninstall /kb:3035583 /quiet /norestart", @SystemDir)
RunWait("wusa /uninstall /kb:2976978 /quiet /norestart", @SystemDir)
ShellExecuteWait ("HIDE_KB3035583_KB2976978.vbs")
 
et nickel sa à fonctionné.

je n'ai plus qu'a voir pourquoi mon glpi ne veux pas exécuter le .exe que j'ai générer ( il fonctionne en faisant double clic dessus) et ce sera parfait pour virer les KB de Mr Crosoft :wink:
je passe le sujet en résolus dans la journée ou en début de semaine prochaine au cas ou si j'ai d'autres questions/problèmes :wink:

Dans tout les cas merci beaucoup
Répondre