[VBS] Utilisation de cacls

Utilisation de cacls [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 21-10-2005 à 14:44:12    

Bonjour,
 
Je viens d'installer xcacls pour modifier les droits d'un dossier. J'ai créé un fichier vbs contenant :
 
xcacls "c:\dossier" /E /P "MonOrdi\Moi":r;r
 
Et à l'execution, il me retourne l'erreur "Erreur de compilation Microsoft VBScript: Fin d'instruction attendue" alors que la commande fonctionne dans l'invité de commande...
 
Merci pour votre aide.


Message édité par moldar le 21-10-2005 à 15:48:10
Reply

Marsh Posté le 21-10-2005 à 14:44:12   

Reply

Marsh Posté le 22-10-2005 à 13:36:03    


Tu as essayé :
xcacls " 'c:\dossier' /E /P 'MonOrdi\Moi':r;r "
 
car "String1"&"String2" en VBS et à mon avis il ne comprend pas les /E /P ni :r;r !!!!
 
 
 

Reply

Marsh Posté le 24-10-2005 à 10:00:53    

Marche pas non plus.
Mais par contre ça fonctionne en faisant appel à un batch.
 :jap:  pour ton aide.

Reply

Marsh Posté le 24-10-2005 à 11:25:57    

En vbs tu dois passer par un objet Shell
Exemple avec la méthode Run
 
'initialisation des variables, peut être automatisé.
Cscript_Path = "d:\winnt\system32\cscript.exe"
xcacls_vbs = "e:\xcacls.vbs"
 
'Init commande
Ma_cmd = "%ComSpec% /k" 'ou /c rajouter alors contrôle retour
Ma_Cmd = Ma_Cmd & Cscript_Path & " " & xcacls_vbs  
 
'Lance en help pour essais
Ma_Cmd = Ma_Cmd & " /?"
Set oShell = WScript.CreateObject ("WSCript.shell" )
oShell.run(Ma_cmd)  
Set oShell = Nothing  

Reply

Marsh Posté le 24-10-2005 à 14:04:22    

:jap:  
Dans mon script vbs j'ai juste appelé un fichier bat à l'aide de WScript.CreateObject.

Reply

Marsh Posté le 27-10-2005 à 16:15:51    

J'ai trouvé pourquoi !!!
 
Si tu ne mets pas de chr(34) et que le nom de tes variable on un espace ça ne marche pas !!!
 
Pour exemple mon repertoire ( FileRep) est : Droits des serveurs !
Idem pour ne nom de fichier  !
 
Mais la c'est Ok ok ok !!
 
Set oSh = WScript.CreateObject("WScript.Shell" )
 
' Drv1 = Y:
' Share = PARTAGE
 
MyStr = "cmd /K cacls "&Drv1&Share& "> "&chr(34)& FileRep & FileNameOut & Chr(34)
oSh.Run MyStr
 
Voilà ça intéressera surment quelqu'un !
 
Fred

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed