VBscript et NTFS

VBscript et NTFS - VB/VBA/VBS - Programmation

Marsh Posté le 02-03-2005 à 17:37:29    

Bonjour,
 
Je recherches un script qui me permettrait de modifier les droits sur un fichier ou un répertoire en vbscript.
 
Merci par avance.


---------------
KARON
Reply

Marsh Posté le 02-03-2005 à 17:37:29   

Reply

Marsh Posté le 02-03-2005 à 17:51:52    

karon2005 a écrit :

Bonjour,
 
Je recherches un script qui me permettrait de modifier les droits sur un fichier ou un répertoire en vbscript.
 
Merci par avance.


 
Sans utiliser un exe extérieur...


---------------
KARON
Reply

Marsh Posté le 02-03-2005 à 17:56:14    

Tu peux être un peu plus précis ?

Reply

Marsh Posté le 02-03-2005 à 18:01:59    

knakes a écrit :

Tu peux être un peu plus précis ?


 
 
J'ai déjà trouver un script qui me liste les utilisateurs ayant des droits sur un fichier :
 

Code :
  1. On Error Resume Next
  2. Dim strComputer   'Nom de l'ordinateur
  3. Dim ColItems   'Objet
  4. Dim wmiSecurityDescriptor
  5. Dim RetVal    'Valeur de retour
  6. Dim DACL
  7. Dim wmiAce
  8. strComputer = "."
  9. 'Set objWMIService = GetObject( _
  10. ' "winmgmts:\\" & strComputer & "\root\cimv2" )
  11. 'Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalFileSecuritySetting",,48)
  12. Set ColItems = GetObject ( _
  13. "winmgmts:Win32_LogicalFileSecuritySetting." & _
  14. "path='D:\\administration\\wsh\\nouveau.txt'" )
  15. Wscript.Echo ColItems.Caption & ":" & vbCrlf
  16. RetVal = ColItems.GetSecurityDescriptor(wmiSecurityDescriptor)
  17. If Err <> 0 Then
  18. Wscript.Echo "GetSecurityDescriptor failed" &_
  19.  vbCrlf & Err.Number & vbCrlf & ErrDescription
  20. Wscript.Quit
  21. Else
  22. Wscript.Echo "GetSecurityDescriptor suceeded"
  23. End If
  24. DACL = wmiSecurityDescriptor.DACL
  25. Wscript.Echo "Control Flags: " & wmiSecurityDescriptor.ControlFlags
  26. Set wmiAce = CreateObject("Scripting.Dictionary" )
  27. For Each wmiAce In DACL
  28. Set Trustee = wmiAce.Trustee
  29. Wscript.Echo "Trustee Name: " & Trustee.Name
  30. Wscript.echo "Access Mask: "  & Trustee.AccessMask
  31. wmiAce.AccessMask = 37892 '131072
  32. Wscript.Echo "Access Mask: "  & Trustee.AccessMask
  33. Next
  34. RetVal = wmiFileSecSetting.SetSecurityDescriptor(wmiSecurityDescriptor)
  35. Wscript.Echo "ReturnValue is: " & RetVal


 
---------------------
 
J'aimerais pouvoir modifier ces droits...
 


---------------
KARON
Reply

Marsh Posté le 02-03-2005 à 18:32:13    

karon2005 a écrit :


For Each wmiAce In DACL
 
 Set Trustee = wmiAce.Trustee
 Wscript.Echo "Trustee Name: " & Trustee.Name
 Wscript.echo "Access Mask: "  & Trustee.AccessMask
 
 wmiAce.AccessMask = 37892 '131072  <<<<
 
 Wscript.Echo "Access Mask: "  & Trustee.AccessMask
Next


Le fait de mettre cette ligne ne modifie pas les droits d'accès ?

Reply

Marsh Posté le 02-03-2005 à 22:23:11    

C'est dommage que tu ne souhaite pas exécuter un .exe car il y a  
setacl.exe
( je le trouve nettement plus pratique que cacls )

Reply

Marsh Posté le 03-03-2005 à 09:49:25    

knakes a écrit :

Le fait de mettre cette ligne ne modifie pas les droits d'accès ?


 
 
Malheureusement, NON. Mais je ne sais pas pourquoi.


---------------
KARON
Reply

Marsh Posté le 03-03-2005 à 09:50:52    

c_moa a écrit :

C'est dommage que tu ne souhaite pas exécuter un .exe car il y a  
setacl.exe
( je le trouve nettement plus pratique que cacls )


 
 
Ah ! Les défis.


---------------
KARON
Reply

Sujets relatifs:

Leave a Replay

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