1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
'Vbscript pour modifier des Droits NTFS d'un Dossier et de son contenu (sous-dossiers et Fichiers)
'© Hackoo 25/03/2012
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dossier = "c:\Essai"
If Not oFSO.FolderExists(Dossier) Then
'Crée le repertoire
Set oFld=oFSO.CreateFolder(Dossier)
end if
If oFSO.FolderExists(Dossier) Then
For each Fichier in oFSO.GetFolder(Dossier).Files
'MsgBox "Fichier :" & Fichier.path,64,"Nom des Fichiers"
LectureSeule(Fichier) 'chaque fichier devient en lecture seule
Next
End if
If oFSO.FolderExists(Dossier) Then
For each Folder in oFSO.GetFolder(Dossier).SubFolders
'MsgBox "Dossier :" & Folder.Path,64,"Nom des Dossiers"
LectureSeule(Dossier) 'chaque dossier devient en lecture seule
Next
End If
ControlTotale(Dossier) ' Pour rendre un controle Totale du dossier parent
Function LectureSeule(objet)
Set Ws = CreateObject("WScript.Shell")
Set ProcessEnv = Ws.Environment("Process")
NomUtilisateur = ProcessEnv("USERNAME")
Command = "%COMSPEC% /c Echo o| cacls "& objet &" /g " & qq(NomUtilisateur) & ":r administrateurs:r"
Result = ws.Run(Command,0,True) 'exécution de la commande sans afficher la console MS-DOS
End Function
Function ControlTotale(objet)
Set Ws = CreateObject("WScript.Shell")
Set ProcessEnv = Ws.Environment("Process")
NomUtilisateur = ProcessEnv("USERNAME")
Command = "%COMSPEC% /c Echo o| cacls "& objet &" /g " & qq(NomUtilisateur) & ":f administrateurs:f"
Result = ws.Run(Command,0,True) 'exécution de la commande sans afficher la console MS-DOS
End Function
Function qq(strIn)
qq = Chr(34) & strIn & Chr(34)
End Function |
Partager