У меня есть большое количество устройств (серверов и рабочих станций), для которых мне нужно собрать MAC-адреса сетевых адаптеров и соответствующие IP-адреса. У меня есть рабочий скрипт, но по какой-то причине он не возвращает MAC в результатах. Я что-то делаю не так или использую не те формулировки?
Get-NetIPConfiguration -ComputerName ComputerName -Detailed | select ComputerName,macaddressipv4address
Когда я запускаю Get-NetIPConfiguration без канала, он возвращает значение MAC-адреса. Но когда я добавляю в канал выбора, он возвращает только имя компьютера и IP-адрес. Столбец MAC пуст.
Есть идеи?





MacAddress — это вложенное свойство в свойство NetAdapter, вы можете использовать вычисляемое свойство, чтобы получить его:
Get-NetIPConfiguration -ComputerName ComputerName -Detailed |
Select-Object ComputerName, @{ N='MacAddress'; E = { $_.NetAdapter.MacAddress }}, @{ N='IPv4Address'; E = { $_.IPv4Address.IPAddress }} |
Export-Csv path\to\export.csv -NoTypeInformation
@MjrPayne да, это все, что вам нужно сделать, подключиться к экспорту csv
Я печатал то, что у меня было, а потом заметил, что вы отредактировали комментарий. Это именно то, что у меня есть, так что я рад, что я на той же странице!
Итак, я настроил сценарий следующим образом: ``` $servers = Get-Content "path" foreach ($server in $servers) { Get-NetIPConfiguration -ComputerName ComputerName -Detailed | Select-Object ComputerName, @{ N='MacAddress'; E = { $_.NetAdapter.MacAddress }}, @{ N='IPv4Address'; E = { $_.IPv4Address.IPAddress }} } export-csv -path "path" -notypeinformation ``` Результаты все равно будут отображаться на экране IDE, но csv пуст. Идеи?
Догадаться. Пришлось переместить закрывающую скобку после -notypeinformation, чтобы включить export-csv. Отлично работает сейчас.
Еще вопрос, с которым вы могли бы помочь. Я хотел бы экспортировать все в файл csv. Основываясь на текущем скрипте, мне просто нужно передать объект выбора в экспорт-csv или мне нужно сделать что-то немного другое?