Question Droit repertoire partagés sur AD 2008

Plus d'informations
il y a 13 ans 3 mois #13895 par Matthew BETTON
Bonsoir,

torpyl écrit:

Quelle fut ma joie lorsque le client m'a indiqué disposer de win2003 et non 2008... donc module AD sous le nez...

- executer le script à partir de son poste (preferable pour charger le module AD de win7


Dans un Active Directory 2003, si pas un seul Contrôleur de Domaine 2008 R2... A moins de mettre en place un Web Service Active Directory , tu ne pourras pas utiliser le module 'ActiveDirectory'.

Si tu es dans ce cas, tu peux utiliser le snapin Active Directory de Quest .

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13896 par Matthew BETTON
torpyl écrit:

Je pense utiliser ca !

[code:1] $ListDirectory = Get-ChildItem \\localhost\Lot2 -Recurse | Where-Object{($_.psiscontainer)}
foreach ($directory in $ListDirectory)
{
$aclfolder = get-acl $directory.FullName
write-host \"ACL Directory \" $directory.Name
write-host $aclfolder.AccessToString
write-host \"FIN\"
}
[/code:1]

Je retrouve bien la recursivite des dossiers, mais pas des groupes ;(

Quelqu'un à une idée ?


Dans ton exemple, tu utilises des 'Write-Host' quio ne font que renvoyer l'information dans la console.

Avec PowerShell, penses avant tout 'Objet'

[code:1]$aclfolder = get-acl $directory.FullName
[/code:1]

Ici, c'est un bon début.

Ensuite, pour créer un objet personnalisé, dont tu vas définir des propriétés ('NoteProperty') avec ce qui t'intéresse :

[code:1]New-Object PSObject -Property @{Name = $directory.FullName ; $Acls = $aclfolder.AccessToString}[/code:1]

Ensuite, il est possible de générer un liste d'objets :

[code:1]$List = @()
foreach ($directory in $ListDirectory)
{
$FullName = $directory.FullName
$aclfolder = get-acl $FullName
$List += New-Object PSObject -Property @{Name = $FullName ; $Acls = $aclfolder.AccessToString}
}
$List[/code:1]

Dans cet exemple, $List (la dernière ligne) permet d'écrire en sortie la collection d'objets personnalisés.

On a tout loisirs ensuite de choisir le format de sortie :

[code:1]$List | Out-GridView[/code:1]

ou

[code:1]$List | Export-Csv .\test.csv -NoTypeInformation -Delimiter \";\" -Encoding UTF8[/code:1]

ou de faire du tri :

[code:1]
$List | Sort-Object Name[/code:1]

Pour ce qui concerne l'itération sur les groupes, il faut :

  • Toujours dans la première boucle, récupérer les ACEs (ACL) dans une variable puis faire une nouvelle itération (boucle, foreach)

    Dans chaque cas, tester s'il s'agit d'un groupe

    S'il s'agit d'un groupe (if) savoir tester s'il s'agit d'un groupe local au serveur ou d'un groupe AD

    Récupérer la liste des membres via 2 méthodes différentes, l'une dans le cas où il s'agit d'un groupe local, l'autre lorsqu'il s'agit d'un groupe AD
  • <br><br>Message édité par: Matthew BETTON, à: 6/02/13 22:36

    Connexion ou Créer un compte pour participer à la conversation.

    • torpyl
    • Auteur du sujet
    • Visiteur
    • Visiteur
    il y a 13 ans 3 mois #13899 par torpyl
    Réponse de torpyl sur le sujet Re:Droit repertoire partagés sur AD 2008
    Matthew BETTON écrit:

    Dans chaque cas, tester s'il s'agit d'un groupe

    S'il s'agit d'un groupe (if) savoir tester s'il s'agit d'un groupe local au serveur ou d'un groupe AD

    Récupérer la liste des membres via 2 méthodes différentes, l'une dans le cas où il s'agit d'un groupe local, l'autre lorsqu'il s'agit d'un groupe AD[/li]&lt;br&gt;&lt;br&gt;Message édité par: Matthew BETTON, à: 6/02/13 22:36


    C'est bien la mon problème ! Je n'ai aucune idée de comment procéder...

    Please help :)

    Connexion ou Créer un compte pour participer à la conversation.

    • torpyl
    • Auteur du sujet
    • Visiteur
    • Visiteur
    il y a 13 ans 3 mois #13900 par torpyl
    Réponse de torpyl sur le sujet Re:Droit repertoire partagés sur AD 2008
    J'ai trouvé ce script qui fait tout !!

    Sauf la ventilation des membres des groupes....

    Je suis desespéré....


    Quelqu'un aurais une solution ??

    La pièce jointe listacl.ps1 est absente ou indisponible

    Pièces jointes :

    Connexion ou Créer un compte pour participer à la conversation.

    Temps de génération de la page : 0.039 secondes
    Propulsé par Kunena