Cuestión : Escritura de VB a la herencia enble en carpetas y archivos

Hola los expertos,
Im que mira la escritura a la herencia enble en las carpetas y el files

Here son la escritura que fue escrita por Chris-Abolladura, sin embargo, los trabajos de la escritura apenas en archivos, así que sería fácil que un experto en VBscript lo cambie para incluir el href= " http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21953774.html#discussion " de folders.

el rity/Operating_Systems_Security/Windows/Q_21953774.html#discussion
del e.com/Secu de http://www.experts-exchang class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
>Option notpretty " del class= " del id= " codeSnippet686563 del
           
class= > " claro " del
soluciones >Related class= title= " bandera del href= " /Security/Operating_Systems_Security/Windows/Q_21953774.html " del Change NTFS " del class= " de los archivos " en files

Respuesta : Escritura de VB a la herencia enble en carpetas y archivos


¿Intento de Hmm… esto?

Chris
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:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
Opción explícita

Const FS_TREE_ROOT = “C:\Temp”

Const SE_DACL_PRESENT = 4
Const SE_DACL_AUTO_INHERITED = 1024
Const SE_DACL_PROTECTED = 4096
Const SE_SELF_RELATIVE = 32768

Const ENABLE_INHERITANCE = 1
Const COPY_AND_TURN_OFF_INHERITANCE = 2
Const REMOVE_AND_TURN_OFF_INHERITANCE = 3

'
'Subrutinas
'

ResetInheritance secundario (strPath, intWhatToDoWithInheritance)
      El objFileSecSetting dévil, objSecurityDescriptor, objMethod, objInParam
      intControlFlagsVar dévil

      El objFileSecSetting determinado = objService.Get (“&_ del """ de Win32_LogicalFileSecuritySetting.Path=
            Substituir (strPath, “\”, “\ \ ") y el """")
      objSecurityDescriptor de objFileSecSetting.GetSecurityDescriptor      

      Seleccionar el intWhatToDoWithInheritance del caso
      Encajonar ENABLE_INHERITANCE
            intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_AUTO_INHERITED + SE_SELF_RELATIVE
      Caso COPY_AND_TURN_OFF_INHERITANCE, REMOVE_AND_TURN_OFF_INHERITANCE
            intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_PROTECTED + SE_SELF_RELATIVE      
      Extremo selecto
      
      objSecurityDescriptor.ControlFlags = intControlFlagsVar
            
      Fijar el objMethod = objFileSecSetting.Methods_ (“SetSecurityDescriptor”)
      Fijar el objInParam = objMethod.inParameters.SpawnInstance_ ()
      objInParam.Properties_.item (“descriptor”) = objSecurityDescriptor
      
      objFileSecSetting.ExecMethod_ “SetSecurityDescriptor”, objInParam
Submarino del extremo

DoWorkOnFolders secundario (strPath)
      objWorkingFolder dévil, objWorkingFile, objWorkingSubFolder

      'Reajustar la herencia llana de la carpeta
      strPath de ResetInheritance, ENABLE_INHERITANCE

      Fijar el objWorkingFolder = objFileSystem.GetFolder (el strPath)

      WScript.Echo “que trabaja en” y strPath
      
      Para cada uno objWorkingFile en objWorkingFolder.Files
            ResetInheritance objWorkingFile.Path, ENABLE_INHERITANCE
      Después

      Para cada objWorkingSubFolder en objWorkingFolder.SubFolders
            DoWorkOnFolders objWorkingSubFolder.Path
      Después
Submarino del extremo

'
'Código principal
'

objFileSystem dévil, objLocator, objService, objRootFolder, objFile, objFolder

Fijar el objFileSystem = CreateObject (“Scripting.FileSystemObject”)
Fijar el objLocator = CreateObject (“WbemScripting.SWbemLocator”)
Fijar el objService = objLocator.ConnectServer (“. ”, “raíz/cimv2”)

Fijar el objRootFolder = objFileSystem.GetFolder (FS_TREE_ROOT)

Para cada uno objFile en objRootFolder.Files
      ResetInheritance objFile.Path, ENABLE_INHERITANCE
Después      

objFile determinado = nada

Para cada objFolder en objRootFolder.SubFolders
      DoWorkOnFolders objFolder.Path
Después

Fijar el objFolder = nada

Fijar el objRootFolder = nada
Fijar el objService = nada
Fijar el objLocator = nada
Fijar el objFileSystem = nada
Otras soluciones  
 
programming4us programming4us