Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Получить mac-адрес проводной сетевой карты. (http://forum.oszone.net/showthread.php?t=344911)

Griboed0ff 19-04-2020 10:05 2917931

Получить mac-адрес проводной сетевой карты.
 
Доброго всем времени суток, нуждаюсь в помощи, нужно экспортировать в .csv мак-адрес именно проводной сетевой карты.

Vadikan 19-04-2020 10:12 2917932

Griboed0ff, интересно, вы гуглить пытаетесь или сразу на форум идете? https://www.google.com/search?q=powe...0mac%20address

Griboed0ff 19-04-2020 10:21 2917933

Цитата:

Цитата Vadikan
интересно, вы гуглить пытаетесь или сразу на форум идете? »

если честно пытался искать, но мне непонятно как сделать вывод в файл только самого адреса без названия сетевой карты.
команда
Get-CimInstance win32_networkadapterconfiguration | select description, macaddress | where {$_.MACAddress -ne $null }

выдает
description macaddress
----------- ----------
Realtek PCIe GBE Family Controller A0:D3:C1:4D:51:2D
а нужно только сам адрес с именем типа "сетевая карта".

Iska 19-04-2020 10:57 2917938

Цитата:

Цитата Griboed0ff
…только самого адреса без названия сетевой карты. »

Griboed0ff, разумеется, убрать свойство description из запроса.

Griboed0ff 19-04-2020 11:15 2917943

Цитата:

Цитата Iska
разумеется, убрать свойство description из запроса. »

сделал
Get-CimInstance win32_networkadapterconfiguration | select macaddress | where {$_.MACAddress -ne $null } | export-csv -Path D:\PowerShell\mac.csv -Delimiter ';' -Encoding utf8 -NoTypeInformation
теперь выводится слово macaddress а ниже результат A0:D3:C1:4D:51:2D. Как можно заменить слово "macaddress" на "сетевая карта"?

YuS_2 19-04-2020 11:20 2917944

Цитата:

Цитата Griboed0ff
Get-CimInstance win32_networkadapterconfiguration | select description, macaddress | where {$_.MACAddress -ne $null } »

Код:

(Get-CimInstance win32_networkadapterconfiguration | where {$_.MACAddress -ne $null } | select macaddress).macaddress

Griboed0ff 19-04-2020 11:35 2917947

Цитата:

Цитата YuS_2
(Get-CimInstance win32_networkadapterconfiguration | where {$_.MACAddress -ne $null } | select macaddress).macaddress »

сделал, но теперь вывод не работает
Скрытый текст
(Get-CimInstance win32_networkadapterconfiguration | where {$_.MACAddress -ne $null } | select macaddress).macaddress | export-csv -Path D:\PowerShell\mac.csv -Delimiter ';' -Encoding utf8 -NoTypeInformation
результат
Скрытый текст
Length
17


если просто ввожу вашу команду то выдает просто мак адрес, но не могу прикрутить вывод. Я пару дней назад узнал про PS, поэтому знаний на такое действие не хватает еще.

YuS_2 19-04-2020 12:21 2917959

Цитата:

Цитата Griboed0ff
но теперь вывод не работает »

А, т.е. требуется:
Цитата:

Цитата Griboed0ff
Как можно заменить слово "macaddress" на "сетевая карта"? »

?
Тогда так:
Код:

Get-CimInstance win32_networkadapterconfiguration | where {$_.MACAddress -ne $null } |
select @{n='Сетевая карта';e={$_.macaddress}}|
export-csv 'D:\PowerShell\mac.csv' -Delimiter ';' -Encoding utf8 -NoTypeInformation


Griboed0ff 19-04-2020 12:55 2917964

Цитата:

Цитата YuS_2
Get-CimInstance win32_networkadapterconfiguration | where {$_.MACAddress -ne $null } |
select @{n='Сетевая карта';e={$_.macaddress}}|
export-csv 'D:\PowerShell\mac.csv' -Delimiter ';' -Encoding utf8 -NoTypeInformation »

это работает, спасибо большое.

Busla 19-04-2020 13:07 2917965

данные по проводным картам получают так:
Код:

Get-WmiObject Win32_NetworkAdapter -Filter 'AdapterTypeId = 0 and MACAddress is not null'

Griboed0ff 19-04-2020 13:09 2917966

Цитата:

Цитата Busla
данные по проводным картам получают так: »

спасибо, но нужно было только в .csv сложить мак со словом сетевая карта.

Интересно я если поменяю на винде мак, то получу значение, которое я написал? Есть ли способ снять данные именно с самой сетевушки без учета, что там думает ос?

Busla 19-04-2020 14:16 2917977

Цитата:

Цитата Griboed0ff
спасибо, но нужно было только в .csv сложить мак со словом сетевая карта »

если вы не в состоянии самостоятельно собрать результирующее выражение и из кода YuS_2 и моего, вам стоит более пристально рассмотреть готовые решения по "инвентаризации"

Код:

Get-WmiObject Win32_NetworkAdapter -Filter 'AdapterTypeId = 0 and MACAddress is not null' |
select @{n='Сетевая карта';e={$_.macaddress}}|
export-csv 'D:\PowerShell\mac.csv' -Delimiter ';' -Encoding utf8 -NoTypeInformation

Цитата:

Цитата Griboed0ff
Интересно я если поменяю на винде мак, то получу значение, которое я написал? »

ну так попробуйте - это быстрее, чем дожидаться ответов на форуме, а потом всё равно проверять ;-)

Цитата:

Цитата Griboed0ff
Есть ли способ снять данные именно с самой сетевушки без учета, что там думает ос? »

ОС тут не при чём, она ничего не "думает"
новый MAC прописывается в сетевую карту и под ним она видна в сети сразу после включения компьютера, ещё до загрузки ОС
(по крайней мере так оно задумывалось)

Griboed0ff 19-04-2020 14:23 2917978

Цитата:

Цитата Busla
если вы не в состоянии самостоятельно собрать результирующее выражение и из кода YuS_2 и моего, вам стоит более пристально рассмотреть готовые решения по "инвентаризации" »

я имел ввиду, что YuS_2 уже дал нужное решение и оно работает. А про смену мака буду пробовать.

Цитата:

Цитата Busla
Get-WmiObject Win32_NetworkAdapter -Filter 'AdapterTypeId = 0 and MACAddress is not null'
select @{n='Сетевая карта';e={$_.macaddress}}|
export-csv 'D:\PowerShell\mac.csv' -Delimiter ';' -Encoding utf8 -NoTypeInformation »

результат: п»ї

Busla 19-04-2020 14:29 2917980

Griboed0ff, да, потерял оператор конвейера - поправил

Griboed0ff 19-04-2020 14:32 2917982

Цитата:

Цитата Busla
поправил »

проверил работает корректно, это получается второе решение в теме!

Busla 19-04-2020 15:22 2917991

Griboed0ff, нет, оба решения делают не то, что вы просили
YuS_2 не задумывался о существовании беспроводных адаптеров, а я заблуждался на счёт типа адаптера возвращаемого WMI - мой вариант отсекает 4G-модем, но всё равно выводит Bluetouth и Wi-Fi - и то, и другое числятся как Ethernet 802.3 :-(

Griboed0ff 19-04-2020 15:24 2917992

Цитата:

Цитата Busla
нет, оба решения делают не то, что вы просили »

действительно в основном пк только с одной сетевушкой, а потом следует зоопарк ноутов и прочего.

Iska 19-04-2020 15:45 2917993

У меня оба кода возвращают четыре MAC-адреса. При наличии одной физической сетевой карты (нет подключений) и одного беспроводного соединения (через USB WiFi адаптер). Плюс парочка виртуальных — VirtualBox Host-Only Ethernet Adapter и Адаптер мини-порта виртуального WiFi Microsoft.

Посему автору следует определиться, что же именно он хочет увидеть.

DJ Mogarych 19-04-2020 15:52 2917994

Есть очень удобная команда в PS:
Код:

Get-NetAdapter -Physical |? ndismedium -eq 0

Griboed0ff 19-04-2020 16:07 2917995

Цитата:

Цитата Iska
Посему автору следует определиться, что же именно он хочет увидеть. »

нужна мак физическая проводная сетевая карта

Iska 19-04-2020 16:17 2917996

Griboed0ff,

1) а если их несколько?
2) нужны всех или только подключённых к сети?

Griboed0ff 19-04-2020 16:26 2917997

Цитата:

Цитата Iska
1) а если их несколько? »

такого оборудования в пользовании юзеров нет.

Busla 19-04-2020 22:46 2918042

Цитата:

Цитата Griboed0ff
нужна мак физическая проводная сетевая карта »

тут есть забавный нюанс в том, что хост может ходить в сеть через виртуальный интерфейс

Griboed0ff 20-04-2020 06:29 2918090

Цитата:

Цитата Busla
тут есть забавный нюанс в том, что хост может ходить в сеть через виртуальный интерфейс »

да нету никаких виртуальных интерфейсов, есть однотипное оборудование с одной сетевушкой, ну максимум ноуты где можеть быть вафля.


Время: 17:45.

Время: 17:45.
© OSzone.net 2001-