GETMAC — получение MAC-адреса сетевого адаптера из командной строки

GETMAC выводит физические MAC-адреса всех сетевых адаптеров компьютера — локально и на удалённых машинах. Синтаксис, ключи /FO /V /S и практические примеры.

GETMAC — встроенная команда Windows, которая выводит физические (MAC) адреса всех сетевых адаптеров компьютера. Применяется при настройке сетевой фильтрации, диагностике сети, инвентаризации оборудования и сборе данных с удалённых машин без необходимости устанавливать стороннее ПО.

Синтаксис команды GETMAC

GETMAC [/S система [/U [домен\]пользователь [/P [пароль]]]] [/FO {TABLE|LIST|CSV}] [/NH] [/V] [/?]

Все параметры необязательны. Без параметров GETMAC выводит MAC-адреса и транспортные имена всех адаптеров локального компьютера в формате таблицы.

Ключи и параметры

Ключ Описание Пример
/S <система> Имя или IP-адрес удалённого компьютера. По умолчанию — локальный компьютер /S 192.168.1.10
/U [домен\]<пользователь> Имя пользователя для подключения к удалённому компьютеру /U DOMAIN\admin
/P [<пароль>] Пароль для указанного пользователя. Если не задан — запрашивается интерактивно /P MyPass123
/FO TABLE Вывод в виде таблицы с выровненными столбцами (по умолчанию) /FO TABLE
/FO LIST Вывод в виде списка «Поле: Значение» — удобно для чтения /FO LIST
/FO CSV Вывод в формате CSV — удобно для импорта в Excel или обработки скриптом /FO CSV
/NH Не выводить строку заголовков столбцов (работает с TABLE и CSV) /FO CSV /NH
/V Подробный режим: добавляет столбцы с именем соединения и описанием адаптера /V
/? Краткая справка по синтаксису getmac /?

Примеры использования

Быстро получить MAC-адрес локального компьютера

Самый простой вариант — запустить без параметров:

getmac

Вывод покажет физический адрес в формате XX-XX-XX-XX-XX-XX и транспортное имя для каждого адаптера, включая отключённые виртуальные.

Подробный вывод с именем адаптера

Когда нужно понять, какой MAC принадлежит конкретному адаптеру (Wi-Fi, Ethernet, VPN):

getmac /v

В расширенном выводе добавятся столбцы «Имя соединения» (например, «Ethernet» или «Wi-Fi») и «Сетевой адаптер» с названием устройства из диспетчера устройств.

Получить MAC-адрес удалённого компьютера

В корпоративной сети с правами администратора:

getmac /s 192.168.1.50 /u CORP\admin /p

Ключ /p без значения вызывает запрос пароля в консоли — безопаснее, чем указывать его в открытом виде.

Сохранить список MAC-адресов в CSV-файл

Для инвентаризации парка компьютеров удобно сохранить данные в файл:

getmac /fo csv /nh > C:\Inventory\macs.csv

Файл macs.csv содержит только данные без заголовков — готов к обработке скриптом или импорту в Excel.

Найти конкретный адаптер через FINDSTR

При наличии нескольких адаптеров можно отфильтровать нужный по имени:

getmac /v /fo list | findstr /i "Wi-Fi"

Команда выведет только строки, содержащие «Wi-Fi» — MAC беспроводного адаптера без лишних данных.

Массовый сбор MAC-адресов по списку хостов

С помощью цикла FOR в командном файле:

for /f %i in (hosts.txt) do getmac /s %i /fo csv /nh >> C:\macs_all.csv

Результаты по всем хостам из файла hosts.txt добавятся в единый CSV. В BAT-файле замените %i на %%i.

Частые ошибки и решения

Ошибка / симптом Причина Решение
Не удалось подключиться к "имя хоста" Удалённый компьютер недоступен, брандмауэр блокирует RPC или неверное имя/IP Проверьте доступность через ping; убедитесь, что на удалённом ПК разрешён удалённый реестр (RemoteRegistry) и WMI в правилах брандмауэра
Отказано в доступе Недостаточно прав для подключения к удалённому компьютеру Укажите учётные данные через /U и /P; убедитесь, что учётная запись входит в группу «Администраторы» на целевом ПК
В выводе GETMAC нет нужного адаптера Адаптер отключён программно или не инициализирован GETMAC показывает все адаптеры, включая отключённые. Если адаптер всё равно не виден — проверьте диспетчер устройств; возможно, отсутствует драйвер
MAC-адрес отображается как N/A Адаптер не имеет физического MAC (например, туннельный псевдоинтерфейс) Это нормально для виртуальных адаптеров (Teredo, WAN Miniport). Реальный MAC есть только у физических и виртуальных NIC (VMware, Hyper-V)
Вывод обрезается в таблице Ширина консоли мала для форматаTABLE Используйте /fo list для полного вывода или увеличьте ширину окна консоли

Когда применять, а когда нет

GETMAC удобна для быстрого получения MAC-адреса без открытия графического интерфейса, для автоматизации инвентаризации через BAT/PowerShell-скрипты и для сбора данных с удалённых машин в домене. Команда не требует прав администратора для локального запуска, но подключение к удалённому компьютеру (/S) требует административных прав на целевой машине. Альтернатива в PowerShell: Get-NetAdapter | Select-Object Name, MacAddress — даёт более структурированный вывод и поддерживает фильтрацию по статусу адаптера.

FAQ

Показывает ли GETMAC MAC-адреса отключённых адаптеров?

Да. GETMAC выводит MAC-адреса всех зарегистрированных сетевых адаптеров, в том числе отключённых и неактивных. Чтобы увидеть только активные, используйте PowerShell: Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Select-Object Name, MacAddress.

Можно ли изменить MAC-адрес через GETMAC?

Нет — GETMAC только читает данные. Для смены MAC-адреса используйте свойства сетевого адаптера в диспетчере устройств (вкладка «Дополнительно» → «Network Address») или сторонние утилиты типа Technitium MAC Address Changer.

Чем GETMAC отличается от ipconfig /all?

ipconfig /all выводит полную информацию о каждом адаптере: IP-адрес, маску, шлюз, DNS, MAC и т.д. GETMAC сосредоточена только на MAC-адресах, поддерживает форматы вывода TABLE/LIST/CSV и позволяет запрашивать данные с удалённых компьютеров через /S. Для скриптов инвентаризации GETMAC удобнее.

Почему в выводе GETMAC несколько одинаковых MAC-адресов?

Один физический адаптер может быть привязан к нескольким транспортным протоколам (TCP/IP, IPv6, WINS и др.) — каждая привязка отображается отдельной строкой с одним и тем же MAC. Это нормально; для просмотра по адаптерам используйте getmac /v.

Работает ли GETMAC на удалённом компьютере без VPN?

Да, если удалённый компьютер доступен по сети и разрешены входящие подключения через RPC и WMI в брандмауэре Windows. В домене эти правила обычно включены политиками. В рабочей группе — настройте вручную или используйте PsExec.

Как получить только MAC без лишнего текста для использования в скрипте?

Используйте комбинацию ключей и FINDSTR. Например, для получения первого MAC без заголовков:

getmac /fo csv /nh

В скрипте PowerShell удобнее: (Get-NetAdapter | Select-Object -First 1).MacAddress — результат сразу в переменной.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

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