Bonjour,
Sur des 2003 server, je voudrais savoir s'il existe une solution pour récupérer une liste des utilisateurs déclarés sur un dossier partagé.
J'ai cherché dans les classes WMI, et j'obtiens un script comme suit :
On Error Resume Next
' The Win32_LogicalShareSecuritySetting instance with the name ‘astuces$ ‘
Set wmiFileSecSetting = GetObject("winmgmts:Win32_LogicalShareSecuritySetting.Name='astuces$'")
RetVal = wmiFileSecSetting.GetSecurityDescriptor(wmiSecurityDescriptor)
If Err <> 0 Then
WScript.Echo "GetSecurityDescriptor failed" & VBCRLF & Err.Number & VBCRLF & Err.Description
WScript.Quit
Else
WScript.Echo "GetSecurityDescriptor succeeded"
End If
' Retrieve the DACL array of Win32_ACE objects.
DACL = wmiSecurityDescriptor.DACL
For each wmiAce in DACL
wscript.echo "Access Mask: " & wmiAce.AccessMask
wscript.echo "ACE Type: " & wmiAce.AceType
' Get Win32_Trustee object from ACE
Set Trustee = wmiAce.Trustee
wscript.echo "Trustee Domain: " & Trustee.Domain
wscript.echo "Trustee Name: " & Trustee.Name
' Get SID as array from Trustee
SID = Trustee.SID
strsid = join(SID, ",")
wscript.echo "Trustee SID: {" & strsid & "}"
Next
(Merci msdn...)
Mon problème est qu'il faut déclaré le nom du répertoire à chaque fois.
Existe-il une solution pour que le script scan tous les partages et me renvoie les infos sans que je sois obligé de changer le nom du répertoire ?
Et enfin comment fait-on pour copier ses informations dans un fichier.
Merci d'avance
Partager