Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 12/01/2006, 15h34   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mai 2005
Messages: 25
Par défaut nom personne ayant des droits sur des dossiers

Tout d'abord je souhaite une heureuse et bonne Année à tout le forum. Que ce qui veulent de l'argent en ai, que ce qui veulent un enfant prospere bref....que tout un chacun soit heureux.


Je cherche a recuperer les logins NT des users ayant des droits d'acces Read et/ou write sur des dossiers.

Mon code VBA fonctionne en grande partie mais je bloque desesperemment sur cette partie.
Merci aux ames charitable de me venir en aide.


Plum'
plumpony531 est déconnecté   Réponse avec citation
Vieux 12/01/2006, 21h33   #2 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 702
Par défaut Re:nom personne ayant des droits sur des dossiers

bonsoir Plum

cet exemple est adapté de ce lien

http://microsoft.supinfo.com/scripts/14048/



Option Explicit

Sub lister_Aurorisations_Repertoire()
'
'http://microsoft.supinfo.com/scripts/14048/
'
'adapté et testé avec Excel 2002 & WinXP
'

Dim strFolderName As String
Dim objWMIService As Object, objFolderSecuritySettings As Object
Dim objACE ' As ?????
Dim objSD ' As ?????
Dim intRetVal As Long
Dim intControlFlags As Long
Dim arrACEs ' As ?????

strFolderName = 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier\\\\\\\\excel '
Const SE_DACL_PRESENT = &H4
Const ACCESS_ALLOWED_ACE_TYPE = &H0
Const ACCESS_DENIED_ACE_TYPE = &H1

Const FILE_ALL_ACCESS = &H1F01FF
Const FOLDER_ADD_SUBDIRECTORY = &H4
Const FILE_DELETE = &H10000
Const FILE_DELETE_CHILD = &H40
Const FOLDER_TRAVERSE = &H20
Const FILE_READ_ATTRIBUTES = &H80
Const FILE_READ_CONTROL = &H20000
Const FOLDER_LIST_DIRECTORY = &H1
Const FILE_READ_EA = &H8
Const FILE_SYNCHRONIZE = &H100000
Const FILE_WRITE_ATTRIBUTES = &H100
Const FILE_WRITE_DAC = &H40000
Const FOLDER_ADD_FILE = &H2
Const FILE_WRITE_EA = &H10
Const FILE_WRITE_OWNER = &H80000

Set objWMIService = GetObject('winmgmts:')
Set objFolderSecuritySettings = _
objWMIService.Get('Win32_LogicalFileSecuritySettin g='' & strFolderName & ''')
intRetVal = objFolderSecuritySettings.GetSecurityDescriptor(ob jSD)

intControlFlags = objSD.ControlFlags

If intControlFlags And SE_DACL_PRESENT Then
arrACEs = objSD.DACL
For Each objACE In arrACEs
Debug.Print objACE.Trustee.Domain & '\\\\\\\\' & objACE.Trustee.Name
If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then
Debug.Print vbTab & 'Allowed:'
ElseIf objACE.AceType = ACCESS_DENIED_ACE_TYPE Then
Debug.Print vbTab & 'Denied:'
End If
If objACE.AccessMask And FILE_ALL_ACCESS Then
Debug.Print vbTab & vbTab & 'FILE_ALL_ACCESS '
End If
If objACE.AccessMask And FOLDER_ADD_SUBDIRECTORY Then
Debug.Print vbTab & vbTab & ' FOLDER_ADD_SUBDIRECTORY '
End If
If objACE.AccessMask And FILE_DELETE Then
Debug.Print vbTab & vbTab & 'FILE_DELETE '
End If
If objACE.AccessMask And FILE_DELETE_CHILD Then
Debug.Print vbTab & vbTab & 'FILE_DELETE_CHILD '
End If
If objACE.AccessMask And FOLDER_TRAVERSE Then
Debug.Print vbTab & vbTab & ' FOLDER_TRAVERSE '
End If
If objACE.AccessMask And FILE_READ_ATTRIBUTES Then
Debug.Print vbTab & vbTab & 'FILE_READ_ATTRIBUTES '
End If
If objACE.AccessMask And FILE_READ_CONTROL Then
Debug.Print vbTab & vbTab & 'FILE_READ_CONTROL '
End If
If objACE.AccessMask And FOLDER_LIST_DIRECTORY Then
Debug.Print vbTab & vbTab & ' FOLDER_LIST_DIRECTORY '
End If
If objACE.AccessMask And FILE_READ_EA Then
Debug.Print vbTab & vbTab & 'FILE_READ_EA '
End If
If objACE.AccessMask And FILE_SYNCHRONIZE Then
Debug.Print vbTab & vbTab & 'FILE_SYNCHRONIZE '
End If
If objACE.AccessMask And FILE_WRITE_ATTRIBUTES Then
Debug.Print vbTab & vbTab & 'FILE_WRITE_ATTRIBUTES '
End If
If objACE.AccessMask And FILE_WRITE_DAC Then
Debug.Print vbTab & vbTab & 'FILE_WRITE_DAC '
End If
If objACE.AccessMask And FOLDER_ADD_FILE Then
Debug.Print vbTab & vbTab & ' FOLDER_ADD_FILE '
End If
If objACE.AccessMask And FILE_WRITE_EA Then
Debug.Print vbTab & vbTab & 'FILE_WRITE_EA '
End If
If objACE.AccessMask And FILE_WRITE_OWNER Then
Debug.Print vbTab & vbTab & 'FILE_WRITE_OWNER '
End If
Next
Else
Debug.Print 'No DACL present in security descriptor'
End If
End Sub



bonne soiree
MichelXld
MichelXld est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 08h14.


(C) 2006 Excel Downloads