function NyChildOU {
$overOU = Read-Host "Type in the name of the parrent OU"
$oucheck = [adsi]::Exists("LDAP://OU=$overOU,OU=PS,DC=PS,DC=local")
if ($oucheck -eq "true") {
$navnpaaou = Read-Host "Type in the name of the new OU"
$oucheck2 = [adsi]::Exists("LDAP://OU=$navnpaaou,OU=$overOU,OU=PS,DC=PS,DC=local")
if ($oucheck2 -eq "false") {
New-ADOrganizationalUnit -Name $navnpaaou -path "OU=$navnpaaou,OU=$overOU,OU=PS,DC=PS,DC=Local"
Write-Host "The new entry: $navnpaaou is created within $overOU"
} else {
Write-Host "OUen $navnpaaou do exist within $overOU"
}
} else {
Write-Host "OUen $overOU doesen't exist, trie again"
}
}
这是我的脚本,其目的是创建一个 OU,除非它已经存在。我只是无法弄清楚我的代码有什么问题。
最佳答案
只需检查 Get-ADOrganizationalUnit
是否返回具有该专有名称的 OU,否则创建它:
$parentOU = 'OU=parent,OU=PS,DC=example,DC=com'
$navnpaaou = Read-Host "Type in the name of the new OU"
$newOU = "OU=$navnpaaou,$parentOU"
if (Get-ADOrganizationalUnit -Filter "distinguishedName -eq '$newOU'") {
Write-Host "$newOU already exists."
} else {
New-ADOrganizationalUnit -Name $navnpaaou -Path $parentOU
}