Bonjour,

J'ai fait 2 scripts ci-dessous, le premier pour rechercher tous les dossiers et sous-dossiers dans mon lecteur r: appelés "prive" et le deuxieme pour rechercher les groupes de sécurité(commencant par FR_DEPT ou LTGFR) sur un dossier.
Mon problème est que je voudrais concatener les 2 scripts pour qu'à chaque fois qu'il trouve un dossier nommé "prive", il cherche s'il y a des groupes de sécurité qui y sont affecté....
Pourriez-vous m'aider ?
Merci bcp,

Code :
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
'------------------------------------- 1er script
 
Option Explicit
 
Dim path_start
Dim subfolder
Dim Myfso, result
Set Myfso = CreateObject("Scripting.FileSystemObject")
 
path_start = "R:"
subfolder = "prive"
 
result = Find(path_start, subfolder)
 
 
 
Function Find (strPath, strFileName)
	Dim MyDir, MyFile, MySubDir
	Dim strResult
 
	If strFileName = Empty Then Exit Function
	strFileName = Ucase(strFileName)
 
	Set MyDir = Myfso.GetFolder(strPath)
 
	For Each MyFile In MyDir.subFolders
		If Ucase(MyFile.Name) = strFileName Then strResult = strResult & strPath & "\" & MyFile.Name & vbCrLf
	Next
 
	For Each MySubDir In MyDir.SubFolders
		strResult = strResult & Find(strPath & "\" & MySubDir.Name, strFileName)
	Next
 
	Find = strResult
 
End Function
Code :
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
'---------------------------------- 2eme script
strFolderName = "Le dossier prive de mon 1er script"
Const INPUT1_FILE_NAME = "c:\test1.txt"
 
Const FOR_READING = 1, FOR_WRITING = 2, FOR_APPEND = 8
 
 
Const OVER_WRITE_EXISTING = True
Set WshShell = WScript.CreateObject("WScript.Shell")
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile(INPUT1_FILE_NAME, FOR_APPEND,true)
 
Set objWMIService = GetObject("winmgmts:")
Set objFolderSecuritySettings = _
objWMIService.Get("Win32_LogicalFileSecuritySetting='" & strFolderName & "'")
intRetVal = objFolderSecuritySettings.GetSecurityDescriptor(objSD)
 
intControlFlags = objSD.ControlFlags
 
      arrACEs = objSD.DACL
 
      For Each objACE in arrACEs
 
		if Left(objACE.Trustee.Name,7) = "FR_DEPT" then 
		f.write(strFolderName & "           ")
		f.write(objACE.Trustee.Domain & "\" & objACE.Trustee.Name  + VbCrLf)
 
		WScript.Echo strFolderName
		WScript.Echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name
 
		 else 
			if Left(objACE.Trustee.Name,5) = "LTGFR" then
			f.write(strFolderName & "             ")
			f.write(objACE.Trustee.Domain & "\" & objACE.Trustee.Name  + VbCrLf)
 
			WScript.Echo strFolderName
			WScript.Echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name
			end if
 
		 end if
      next