IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

WMI : Récupération des utilisateurs ayant des droits sur les dossiers partagés


Sujet :

Windows

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut WMI : Récupération des utilisateurs ayant des droits sur les dossiers partagés
    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

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai un peu avancé sur mon problème. J'arrive à executer mon script sur la totalité de mes partages (voir le code qui suit).

    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Share",,48)

    For Each objItem in colItems
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "Nom du partage: " & objItem.Name
    Wscript.Echo "Chemin d'accès: " & objItem.Path
    Wscript.Echo "Type de partage: " & objItem.Type

    if objitem.Type = 0 then

    ' The Win32_LogicalShareSecuritySetting

    Set wmiFileSecSetting = GetObject("winmgmts:Win32_LogicalShareSecuritySetting.Name='" & objItem.Name & "'")

    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

    end if

    Next

    En revanche, ce que je n'arrive pas à faire, c'est un export de la totalité de mais résultats vers un fichier de type html ou txt.

    Si quelqu'un a une idée....

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/11/2012, 09h21
  2. Réponses: 4
    Dernier message: 18/04/2012, 11h43
  3. Droits sur les dossiers sous linux
    Par mims1664 dans le forum Sécurité
    Réponses: 2
    Dernier message: 30/11/2010, 11h51
  4. [SAMBA] Droits sur les dossier et fichiers (mount)
    Par fredob dans le forum Réseau
    Réponses: 0
    Dernier message: 29/03/2010, 22h29
  5. Pb de droit sur les dossiers partagés Win 2003
    Par alcoon30 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 18/01/2008, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo