Найти подразделение, в котором существует сервер, используя powershell - PullRequest
0 голосов
/ 17 июня 2011

Может ли кто-нибудь помочь мне найти подразделение, в котором существует учетная запись компьютера с использованием powershell? без использования квестовых командлетов AD, я имею в виду что-то, использующее [ADSI]

Спасибо Vinith

1 Ответ

1 голос
/ 17 июня 2011

Вы можете сделать что-то вроде этого:

$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."}

Вам придется изменить его, если ваши клиенты находятся во вложенных OU.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...