Я пытаюсь написать скрипт powershell, чтобы получить информацию о подразделениях для серверов, которые находятся во вложенном подразделении без использования командлетов QAD. Один член стека помог мне написать код, показанный ниже
$computerName = "DC1"
$found = $FALSE
$domain = [ADSI]("LDAP://dc=contoso,dc=com")
$ous = ($domain.psbase.children |
Where-Object {$_.psBase.schemaClassName -eq "OrganizationalUnit"} |
Select-Object -expand Name)
foreach ($child in $ous){
$ou = [ADSI]("LDAP://ou=$child,dc=contoso,dc=com")
$computers = ($ou.psbase.children |
Where-Object {$_.psBase.schemaClassName -eq "Computer"} |
Select-Object -expand Name)
foreach ($client in $computers){
if ($client -eq $computerName) {
Write-Host "Found $computerName in" $ou.psBase.name
$found = $TRUE
}
}
}
if (-not $found) {Write-Host "$computerName not found."}
Iпотребовалась некоторая помощь в модификации того же самого, чтобы сохранить существование компьютера во вложенной OU.
Спасибо, Vinith