Question
Droit repertoire partagés sur AD 2008
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
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.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
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
Connexion ou Créer un compte pour participer à la conversation.
- torpyl
- Auteur du sujet
- Visiteur
-
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]<br><br>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
-
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.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Droit repertoire partagés sur AD 2008