Я пытаюсь получить имя хоста и MAC-адрес со всех компьютеров в Active Directory. Я знаю, что MAC-адреса отсутствуют в каталоге Activce. Вот почему я уже использовал небольшой сценарий от кого-то еще. Дело в том, что мне нужно составить список имен хостов, что я могу сделать, но затем другой скрипт сталкивается с проблемой, потому что некоторые компьютеры не подключены к сети.
Может кто-нибудь помочь мне получить список только с компьютерами, которые в сети?
Это часть, которая ищет список, который я создаю, с именами хостов.
$Computers = Import-CSV C:\Users\admin_stagiair\Desktop\Computers.txt
$result = @()
foreach ($c in $Computers){
$nic = Invoke-Command {
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter 'ipenabled = "true"'
} -ComputerName $c.Name
$x = New-Object System.Object | select ComputerName, MAC
$x.Computername = $c.Name
$x.Mac = $Nic.MACAddress
$result += $x
}
$result | Export-Csv C:\Users\admin_stagiair\Desktop\Computers.csv -Delimiter ";" -NoTypeInformation
И это та часть, в которой я пытался выполнить поиск в списке и отфильтровать онлайн-компьютеры, которые абсолютно не работают, и я не могу понять, как это сделать.
$Computers = Import-Csv C:\Users\admin_stagiair\Desktop\Computers.txt
foreach ($c in $Computers) {
$ping = Test-Connection -Quiet -Count 1
if ($ping) {
$c >> (Import-Csv -Delimiter "C:\Users\admin_stagiair\Desktop\online.txt")
} else {
"Offline"
}
}
Последний бит, это часть, которую я использую для создания списка всех компьютеров в Active Directory.
Get-ADComputer -Filter {enabled -eq $true} -Properties * |
select Name > C:\Users\(user)\Desktop\Computers.txt