Active Directory ile uğraşan arkadaşlar bazı sebeplerden dolayı OU yapısını başka bir sunucuya kopyalamak isteyebilirler. Bu işlem için aşağıdaki powershell kodları kullanılabilir. Kodların çalışması için powershelle activedirectory modülünün tanıtılmış olması gerekmektedir.
Öncelikle aşağıdaki kod ile mevcut yapı bir txt dosyasına alınır.
[powershell]
$ou= Get-ADOrganizationalUnit -Filter * -SearchBase “OU=LAB,DC=LAB,DC=SE”; $ou.DistinguishedName > ou.txt
[/powershell]
Burada “OU=LAB” ifadesinde LAB yerine dışarı aktarılacak OU adı, DC ifadelerinde de LAB yerine domain adı, SE yerine de domain uzantınızı yazınız.
Daha sonra da hedef domainde aşağıdaki kod çalıştırılarak OU yapısı taşınmış olur.
[powershell]
# File with OU structure</pre>
$ou=Get-Content -Path C:\temp\OU.txt
# Get every line from the file
foreach ($iou in $ou)
{
$path=""
$sou=$iou.Split(",")
$nou=$sou.Split("=")
$name=$nou[1]
# Create OU path
for ($i=1; $i -lt $sou.count; $i++)
{
if ($path-eq"")
{
$path=$sou[$i]
}
else
{
$path=$path + "," + $sou[$i]
}
}
Write-Host "Creating: $name – $path"
# Create OU structure
New-ADOrganizationalUnit -Name $name -Path "$path"
}
[/powershell]