У меня есть список ADComputers
$computers = Get-ADComputer -Filter {Name -like "Foo*"}
Я хочу видеть подмножество тех, которые находятся в сети и возвращают пинги прямо сейчас.
$results = @()
foreach ($computer in $computers) {
if (Test-Connection -ComputerName $computer.Name -Count 1 -Quiet) {
$results += $computer
}
}
однако теперь я обнаружил, что мне нужен и объект ADComputer, и IPv4Address, возвращенный из TestConnection
, поэтому я решил снова отфильтровать и обернуть компьютер в собственную хеш-таблицу вместе с возвращенным IPv4Address.
$results2 = @()
foreach ($result in $results) {
$ipv4 = Test-Connection -ComputerName $result.Name -Count 1 | Select -ExpandProperty IPv4Address
$results2 += @{Computer=$result; IPv4Address=$ipv4}
}
а затем получить мои результаты с
$results2 | Format-Table Computer.Name, IPv4Address
Однако мои результаты пустые
Computer.Name IPv4Address
------------- -----------
(many blank rows follow)
Как я могу получить ожидаемые результаты от этого? Или в качестве альтернативы: я лаю не на том дереве, и есть более простой способ сделать это?