Page 1 sur 2
[R] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:39
par turbif08
Bonjour,
J'ai finis un script VBS pour automatiser l'installation du NET Framework 4, je souhaite en faire un exe de manière à ce que le mot de passe ne soit pas visible, voici mon script :
Code : Tout sélectionner
Set oShell = Wscript.CreateObject("WScript.Shell")
If RegExists ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client\Version") = False Then
oShell.Run "runas /user:domaine.local\administrateur ""\\srv-files\dotNetFx40_Full_x86_x64.exe"""
WScript.Sleep 100
oShell.Sendkeys "toto~"
Wscript.Quit
End if
Function RegExists(value)
On Error Resume Next
Set WS = CreateObject("WScript.Shell")
val = WS.RegRead(value)
If (Err.number = -2147024893) or (Err.number = -2147024894) Then
RegExists = False
Else
RegExists = True
End If
End Function
Le problème c'est que quand je lance le fichier au3 pour tester, j'ai cette erreur
"Error: Missing separator character after keyword." Je comprends l'erreur mais mon code me paraît bon et il fonctionne en VBS.
Merci d'avance

Re: Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:41
par timmalos
Merci de respecter les règles de présentation d'un message ou celui-ci sera directement mis à la poubelle.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:50
par timmalos
Le problème c'est que justement vous avez un code VB et pas du tout AutoIt. Quelque chose comme ceci sera déja beaucoup plus adapté au langage
Code : Tout sélectionner
If RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client","Version") = "" Then
RunAs("administrateur","domaine.local","password",1,"\\srv-files\dotNetFx40_Full_x86_x64.exe")
Sleep(100)
EndIf
Edit : Rajoutez l'option -silent et le tour est joué, pas besoin d'automatisation inutile.
Cf
http://blogs.msdn.com/b/astebner/archiv ... 11664.aspx
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:52
par turbif08
AutoIt ne gère pas le VBS ? Il faut réécrire le script ?
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:59
par timmalos
Hmmm, oui

. Mais regardez mon Edit il vous evitera d'utiliser AutoIt si vous preferez rester en VBS et de refaire votre code, un simple paramètre et le tour est joué!
Sinon mon code devrait tout aussi bien faire l'affaire, et a l'avantage d'intégrer directement le mot de passe à la commande au lieu de le taper par la suite d'une manière pas du tout optimisée.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 10:59
par turbif08
Oui mais le souci c'est que le mot de passe est en clair et visible.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 11:06
par timmalos
Vous ne pourrez pas y couper c'est le risque des scripts comme ceci.
La meilleure (et seule?) solution c'est d'utiliser un simple Run() au lieu du RunAs et de créer une tâche planifiée qui elle aura les droits administrateurs avec un compte réseau, tout en cryptant le password. Ceci dit pour un script d'installation comme ceci le plus simple serait d'utilsier une solution de deploiement et de lancer le script en distant via le réseau avec les droits admins ainsi rien n'est sur la machine en question.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 11:15
par turbif08
Mon idée était de toute façon de passer via une GPO et rajouter les paramètres pour une installation silencieuse mais c'est cette histoire de mot de passe qui ne me plaît pas.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 11:18
par timmalos
Et bien utilisez simplement Run("\\srv-files\dotNetFx40_Full_x86_x64.exe -silent") sans mot de passe, si le script est lancé via une GPO alors il aura les droits et verra sans problème l'executable
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 12:03
par turbif08
C'était bien mon idée de base mais je n'ai pas réussi, impossible d'exécuter ce script via une GPO ordinateur, rien ne ce lance au démarrage.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 13:40
par jguinch
Sauf erreur de ma part, un script exécuté par une GPO s'exécutera sous le compte utilisateur et non avec un compte admin ou système.
Par contre, il est possible de déployer un MSI depuis une GPO, sans passer par un script...
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 13:44
par timmalos
jguinch a écrit :Sauf erreur de ma part, un script exécuté par une GPO s'exécutera sous le compte utilisateur et non avec un compte admin ou système.
Par contre, il est possible de déployer un MSI depuis une GPO, sans passer par un script...
mea culpa, J'etais persuadé du contraire

Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 14:09
par jguinch
Tim, j'ai bien dit "Sauf erreur de ma part". D'ailleurs, je pense que tu as raison.
J'ai l'habitude de lancer des scripts à l'ouverture de session, mais uniquement des scripts niveau utilisateur (Configuration utilisateur), pas des installations ou configurations qui nécessitent des droits admin.
Si on place le script dans Configuration ordinateur, ça doit être bon je pense. A vérifier.
Par contre, j'insiste quand-même sur le fait qu'on peut déployer des MSI (et même EXE avec les fichier .ZAP) avec une GPO.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 14:18
par timmalos
J'ai fait ca par le passé d'apres mes souvenirs mais actuellement je n'ai pas les droits pour ce genre de chose je peux pas verifier c'est pour ca que je t'ai fait confiance

Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 14:24
par turbif08
Je viens de tester la GPO au niveau utilisateur et ordinateur :
- Utilisateur : ça fonctionne, enfin il faut s'authentifier pour l'installation
- Ordinateur : la GPO est bien exécutée mais le script ne se lance pas, je cherche...
Pour les fichiers ZAP, je ne connaissais pas, je vais regarder ça.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 15:01
par jguinch
Le fichier d'installation de framework 4 est un autoextractible.
Tu peux facilement d'extraire avec 7ZiP, ou même tu lances le setup et tu attends la fin de l'extraction puis tu recopies les fichiers (avec de fermer le setup).
Pour les fichiers ZAP, un
petit lien.
Pour l'extraction et GPO :
http://clintboessen.blogspot.fr/2010/09 ... ork-4.html
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 15:27
par turbif08
Je dois avoir à un problème de droit ou quelque chose comme ça. Le ZAP ne fonctionne pas et pour l'auto-extraction, la méthode ne fonctionne plus visiblement.
Re: [..] Error: Missing separator character after keyword.
Posté : lun. 04 nov. 2013 15:39
par jguinch
Regarde dans la partie Extract the Package dans le deuxième lien
Re: [..] Error: Missing separator character after keyword.
Posté : mar. 05 nov. 2013 09:10
par turbif08
Bon ça y est, je suis près du but, je passe par une GPO (Ordinateur) au démarrage, le seul problème restant c'est que le script ce lance bien mais il me dit que le chemin vers mon NET Framework est introuvable alors que ce même script fonctionne en manuel, je continue de chercher.
Re: [..] Error: Missing separator character after keyword.
Posté : mar. 05 nov. 2013 13:44
par timmalos
REgardez au niveau du WorkingDir