Option Explicit Dim strComputer : strComputer = "." Dim objWMIService : Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Dim colItems : Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalShareSecuritySetting") Dim objShareSecuritySetting, intRtn, wmiSecurityDescriptor Dim colDACLs, objACE, objUserGroup, strPermission, colShr, objShare Dim varSharName, varSharPath, varUserOrGroup, UneLigne Dim objFSO, objTextFile Dim NomFichier, CheminFichier, CheminScriptActuel, ScriptFileName, Position 'Déclaration des constantes Const ForReading = 1 Const ForWritting = 2 Const ForAppending = 8 ScriptFileName = wscript.scriptname Position = InstrRev(ScriptFileName,".") if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1) NomFichier = ScriptFileName & "_Result.txt" CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1) CheminFichier = CheminScriptActuel & "\" & NomFichier 'Déclaration du chemin et du nom du fichier If Len(CheminFichier) > 0 Then Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile(CheminFichier, ForWritting, True) objTextFile.WriteLine "Share Name" & VbTab & "Path" & VbTab & "Group Name" & VbTab & "Permissions" For Each objShareSecuritySetting In colItems varSharName = "" varSharName = objShareSecuritySetting.Name Set colShr = objWMIService.ExecQuery("Select * from win32_share where name='" & objShareSecuritySetting.Name & "'") For Each objShare in colShr varSharPath = objShare.Path Exit For Next intRtn = objShareSecuritySetting.GetSecurityDescriptor(wmiSecurityDescriptor) colDACLs = wmiSecurityDescriptor.DACL For Each objACE In colDACLs UneLigne = "" varUserOrGroup = "" Set objUserGroup = objACE.Trustee varUserOrGroup = objUserGroup.Name If IsNull(varUserOrGroup) = True Then varUserOrGroup = "SID non resolu" UneLigne = varSharName & VbTab & varSharPath & VbTab & varUserOrGroup Select Case objACE.AccessMask Case 1179817 strPermission = "READ" Case 1245631 strPermission = "CHANGE" Case 2032127 strPermission = "FULL CONTROL" End Select Set objUserGroup = Nothing UneLigne = UneLigne & VbTab & strPermission objTextFile.WriteLine UneLigne Next Next objTextFile.Close 'Fermeture du fichier Set objTextFile = Nothing Set objFSO = Nothing Else Wscript.echo "Operation annulee" End If 'CheminFichier