[R] Error: Missing separator character after keyword.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

[R] Error: Missing separator character after keyword.

#1

Message 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 :)
Modifié en dernier par turbif08 le mer. 06 nov. 2013 15:02, modifié 4 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: Error: Missing separator character after keyword.

#2

Message par timmalos »

Merci de respecter les règles de présentation d'un message ou celui-ci sera directement mis à la poubelle.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#3

Message 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
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#4

Message par turbif08 »

AutoIt ne gère pas le VBS ? Il faut réécrire le script ?
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#5

Message 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.
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#6

Message par turbif08 »

Oui mais le souci c'est que le mot de passe est en clair et visible.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#7

Message 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.
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#8

Message 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.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#9

Message 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
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#10

Message 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.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#11

Message 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...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#12

Message 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 :oops:
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#13

Message 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.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#14

Message 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 :)
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#15

Message 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.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#16

Message 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
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#17

Message 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.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#18

Message par jguinch »

Regarde dans la partie Extract the Package dans le deuxième lien
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#19

Message 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.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Error: Missing separator character after keyword.

#20

Message par timmalos »

REgardez au niveau du WorkingDir
Répondre