2013-07-03 2 views
0

Я написал сценарий ниже, чтобы вернуть имя всех организационных единиц в пустом домене.Подсчитайте количество строк в массиве Powershell

Я хотел бы, чтобы сценарий также сообщил мне общее количество пустых OU в конце, посчитав возвращаемые строки. Я попытался присвоить $arrayNew-Object и добавить в конце сценария различные версии $array.count или | Measure-Object, но все они возвращаются 0.

Get-ADOrganizationalUnit -Filter * | 
foreach { 
    $o = Get-ADObject -filter * -searchbase $_.distinguishedname -searchscope 1 
    $total = ($o | Measure-Object).Count 
    New-Object psobject -Property @{ 
     Name=$_.distinguishedname 
     } | 
     where-object {$total -le "0"} 
    } 

ответ

1
$ou = Get-ADOrganizationalUnit -Filter * | 
Where-Object { -not (Get-ADObject -SearchBase $_.DistinguishedName -Filter * -SearchScope OneLevel) } 


# get the count 
$ou|measure 

$list OUs 
$ou 
+0

Как всегда, вы делаете работу в половине коды, и ваш ответ прямо на деньги, так что я буду принимать это как ответ. Однако я не ожидал, что это будет так хорошо. См., Что я хотел сохранить некоторую гибкость в сценарии, в случае, если мои коллеги хотели искать OU, у которых было только несколько объектов в OU. Есть ли способ сохранить «-le» 0 »или похожий в скрипте, чтобы можно было изменить количество объектов, которые искали? – idarryl

+1

Спасибо, я geuss вы можете сделать: где {@ (Get-ADObject -SearchBase $ _. DistinguishedName -Filter * -SearchScope OneLevel) .Count -le $ number} –

Смежные вопросы