GETMAC — встроенная команда Windows, которая выводит физические (MAC) адреса всех сетевых адаптеров компьютера. Применяется при настройке сетевой фильтрации, диагностике сети, инвентаризации оборудования и сборе данных с удалённых машин без необходимости устанавливать стороннее ПО.
- Синтаксис команды GETMAC
- Ключи и параметры
- Примеры использования
- Быстро получить MAC-адрес локального компьютера
- Подробный вывод с именем адаптера
- Получить MAC-адрес удалённого компьютера
- Сохранить список MAC-адресов в CSV-файл
- Найти конкретный адаптер через FINDSTR
- Массовый сбор MAC-адресов по списку хостов
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Показывает ли GETMAC MAC-адреса отключённых адаптеров?
- Можно ли изменить MAC-адрес через GETMAC?
- Чем GETMAC отличается от ipconfig /all?
- Почему в выводе GETMAC несколько одинаковых MAC-адресов?
- Работает ли GETMAC на удалённом компьютере без VPN?
- Как получить только 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 — результат сразу в переменной.


