Utilisation de cacls [VBS] - VB/VBA/VBS - Programmation
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 !!!!
Marsh Posté le 24-10-2005 à 10:00:53
Marche pas non plus.
Mais par contre ça fonctionne en faisant appel à un batch.
pour ton aide.
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
Marsh Posté le 24-10-2005 à 14:04:22
Dans mon script vbs j'ai juste appelé un fichier bat à l'aide de WScript.CreateObject.
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
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