Bonjour à tous,

Etant formateur pour Windows 2008 R2 Serveur , je voudrais lancer un script Powershell sur chaque machine de mes élèves qui "scanne" les OU d'un domaine AD.
Le but étant de reproduire l'arborescence qui se trouve dans 'utilisateurs et ordinateurs active Directory".
Exemple d'arborecence d'OU (noms d'OU fictifs) :

Groupes-DL
||
===> Groupes-01

Entreprise-X
||
===> DRH
||
===> Production
||
===> Outils



J'ai donc opté pour une boucle récursive qui scanne les OU du domaine, voici mon script :
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Import du module AD
Import-Module ActiveDirectory
 
# Récupération du DN du domaine courant
$dom = (Get-AdDomainController).defaultpartition
 
function Scan-OU
{
    param
    (
    [Parameter(Mandatory=$true)][string]$PATH
    )
 
	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
 
	Foreach ($item in $ou)
	{
		if ($item.name -ne "Domain Controllers")
        {
            if ($item.name -ne $null)
            {
            write-host $item.name
            }
        }
    }
write-host
if ($item.name -ne $null)
{
Scan-OU -path $item.DistinguishedName
}
}
 
Scan-ou -path $dom
Résultat :
le script fonctionne mais me liste les OU de la façon suivante:

Groupes-DL
Entreprise-X

Groupes-01
DRH
Production

Outils

je sens que je ne suis pas loin , il me manque l'affichage et le décalage des "||" et des "====>"

Merci d'avance pour votre éventuelle aide..
Gros Bisous.