locked
[2008 R2] Groupe Utilisateur Liste des accès RRS feed

  • Question

  • Bonjour

    Je voulais savoir si pour un groupe utilisateur, il était possible de connaitre les droits ouverts et la liste des dossiers accessibles.

    cordialement,


    • Modifié raynor lundi 27 janvier 2014 11:47
    lundi 27 janvier 2014 11:46

Réponses

  • Bonjour,

    il n'y a pas de base de données uniquement regroupant tous les droits sur toutes les ressources possibles et imaginables.

    Il faudrait interroger chaque station/serveur/Exchange/registre/Annuaire/... pour savoir où un groupe peut avoir été utilisé pour définir un droit!

    Maintenant, si l'on veut analyser une partition ou un partage donné, il existe des outils pour exporter tous les droits, puis y rechercher le groupe souhaité.

    Voici un exemple de script : http://base.faqexchange.info/TOUTE%20LA%20DOCUMENTATION%20EST%20ICI/Scripting/VbScript/showperms.vbs.TXT

    Si l'on redirige la sortie vers un fichier, ce fichier peut être utilisé dans un tableur. Avec le filtrage automatique, on obtient rapidement l'information souhaitée.

    A bientôt,


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(78 MCPs). https://mvp.support.microsoft.com/profile=CE2B565B-B13D-4C24-B04D-F0D5766D14A1 http://base.faqexchange.info

    lundi 27 janvier 2014 15:24
  • Il y a aussi Shareenum qui liste les droits sur un partage (mais pas les sécurités) NTFS, et accessenum pour les droits NTFS.

    Sinon si on recherche la présence d'un groupe dans les ACL powershell est assez simple (le script ne prend pas un sous dossier si le droit est hérité du parent)

    exemple :

    $cherche_group = "*groupe1*"

    $chemin = "c:\dossier"


    function tableau-acl

     {

    param([string]$path,[string]$groupe)

          $obj = New-Object PSObject

          $obj | Add-Member -name Chemin -membertype NoteProperty -Value ($path)

          $obj | Add-Member -name Groupe -membertype NoteProperty -Value ($groupe)

          return $obj

    }

    $liste=get-childitem $chemin -Recurse
    $resultat=@()
    foreach ($fichier in $liste)

    {
    $acl=Get-Acl ($fichier.fullname)
    $accessgroup= $acl.access

    $grp = $accessgroup | Where-Object {$_.IdentityReference -like $cherche_group  -and $_.IsInherited -eq $false} 
    if ($grp -ne $null) 

    {
    $resultat += tableau-acl -path $fichier.fullname -groupe $grp.IdentityReference

    }
    $grp=$null
    }

    $resultat




    lundi 27 janvier 2014 19:51

Toutes les réponses

  • Bonjour,

    il n'y a pas de base de données uniquement regroupant tous les droits sur toutes les ressources possibles et imaginables.

    Il faudrait interroger chaque station/serveur/Exchange/registre/Annuaire/... pour savoir où un groupe peut avoir été utilisé pour définir un droit!

    Maintenant, si l'on veut analyser une partition ou un partage donné, il existe des outils pour exporter tous les droits, puis y rechercher le groupe souhaité.

    Voici un exemple de script : http://base.faqexchange.info/TOUTE%20LA%20DOCUMENTATION%20EST%20ICI/Scripting/VbScript/showperms.vbs.TXT

    Si l'on redirige la sortie vers un fichier, ce fichier peut être utilisé dans un tableur. Avec le filtrage automatique, on obtient rapidement l'information souhaitée.

    A bientôt,


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(78 MCPs). https://mvp.support.microsoft.com/profile=CE2B565B-B13D-4C24-B04D-F0D5766D14A1 http://base.faqexchange.info

    lundi 27 janvier 2014 15:24
  • Il y a aussi Shareenum qui liste les droits sur un partage (mais pas les sécurités) NTFS, et accessenum pour les droits NTFS.

    Sinon si on recherche la présence d'un groupe dans les ACL powershell est assez simple (le script ne prend pas un sous dossier si le droit est hérité du parent)

    exemple :

    $cherche_group = "*groupe1*"

    $chemin = "c:\dossier"


    function tableau-acl

     {

    param([string]$path,[string]$groupe)

          $obj = New-Object PSObject

          $obj | Add-Member -name Chemin -membertype NoteProperty -Value ($path)

          $obj | Add-Member -name Groupe -membertype NoteProperty -Value ($groupe)

          return $obj

    }

    $liste=get-childitem $chemin -Recurse
    $resultat=@()
    foreach ($fichier in $liste)

    {
    $acl=Get-Acl ($fichier.fullname)
    $accessgroup= $acl.access

    $grp = $accessgroup | Where-Object {$_.IdentityReference -like $cherche_group  -and $_.IsInherited -eq $false} 
    if ($grp -ne $null) 

    {
    $resultat += tableau-acl -path $fichier.fullname -groupe $grp.IdentityReference

    }
    $grp=$null
    }

    $resultat




    lundi 27 janvier 2014 19:51