Как узнать GUID сетевого интерфейса за минуту

Обновлено 05.12.2020

GUID logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию и настройке компьютера Pyatilistnik.org. В прошлый раз мы с вами разобрались, как устранять проблему с нерабочей кнопкой Пуск в Windows Server 2019. Двигаемся дальше, сегодня у нас очень интересная и полезная задача, мы научимся вычислять значения GUID сетевого адаптера, рассмотрим в каких ситуациях это может быть полезно, а такие ситуации уж поверьте мне бывают очень частыми. Данный навык прокачает ваш уровень траблшутинга и позволит вам экономить время при неполадках в сети.

Где может потребоваться узнать GUID интерфейса?

О том, что такое GUID я рассказывал, в нескольких словах, это термин, используемый Microsoft для числа, которое ее программа генерирует, чтобы создать уникальную идентичность для объекта, в нашем случае, это сетевой интерфейс. Операционной системе Windows, так проще его идентифицировать и иметь записи такого вида у себя в реестре.

Теперь я приведу несколько сценариев, где вам потребуется уметь узнавать GUID сетевого интерфейса:

  1. Первое, что приходит на ум, это когда необходимо изменить размер MTU на нужном сетевом интерфейсе, и вот чтобы его найти нам нужно знать его GUID
  2. Второй пример, это когда у вас могут оставаться в системе данные об удаленном интерфейсе в реестре, что будет мешать корректной настройке сети, вот пример такого случая "Виртуальная машина ESXI получает неправильные настройки сети"

Методы определения GUID у сетевого интерфейса:

  • Через реестр Windows
  • Через командную строку
  • Через PowerShell
  • Через утилиту NetworkInterfacesView

Как узнать GUID сетевой карты через net config

Утилита командной строки ipconfig нам уже известна, мы с ее помощью проверяли настройки сети у Windows Server 2019 при его настройке. Давайте я выведу текущие вводные данные. Как видите у меня есть два сетевых интерфейса Intel(R) 82574L Gigabit Network Connection, у одного mac-адрес 00-0C-29-DD-CC-73 у второго 00-0C-29-DD-CC-7D, которые подключены к моей тестовой виртуальной машине с Windows 10.

Как узнать GUID сетевой карты через скрипт PowerShell

Далее в командной строке введите:

net config rdr

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

Как узнать GUID сетевой карты через net config

Как узнать GUID сетевой карты через netsh

Я уже вам показывал разное применение команды netsh, можете ознакомиться. Тут чтобы ее использовать нам необходимо две запущенные службы в Windows:

  • dot3svc - Проводная автонастройка
  • WlanSvc - Служба автонастройки WLAN

Откройте PowerShell и введите команду, которая проверяет статус данных службЖ

Get-Service dot3svc, WlanSvc

Если службы у вас не запущены, то введите:

Get-Service dot3svc, WlanSvc | Start-Service

Как узнать GUID сетевой карты через netsh

Далее по очереди введите команды:

netsh wlan show interfaces

netsh lan show interfaces

В результате вы получите удобный список, где вы увидите:

  • Имя: Ethernet0
  • Описание: Intel(R) 82574L Gigabit Network Connection
  • Код GUID: ba2ef413-146b-4521-b179-fbc66bb286d9
  • Физический адрес: 00-0C-29-DD-CC-73
  • Состояние: Подключение выполнено. Сеть не поддерживает проверку подлинности.

Вывод информации о GUID сетевого интерфейса

Как узнать GUID сетевой карты через NetworkInterfacesView

Я вам много раз рассказывал уже про крутой набор утилит NirLauncher, например мы его использовали когда нужно было посмотреть пароли в браузере. В данный пакет входит утилита NetworkInterfacesView.

Загрузите ее и запустите, NetworkInterfacesView отобразит вам все сетевые интерфейсы найденные в системе, есть столбец GUID, но так же можно два раза кликнуть по нужному интерфейсу и получить более красивое окно со сводными данными.

Как узнать GUID сетевой карты через NetworkInterfacesView

Как узнать GUID сетевой карты через wmic nicconfig

Есть еще утилита wmic, которая так же в одну строку показывает GUID сетевого адаптера. В командной строке введите:

wmic nicconfig get description,settingid

На выходе будет имя интерфейса и его GUID.

Как узнать GUID сетевой карты через wmic nicconfig

Как узнать GUID сетевой карты через Get-NetAdapter

Есть замечательный командлет Get-NetAdapter, который за пару минут вам выведет информацию по сетевым интерфейсам, в оболочке PowerShell введите:

Get-NetAdapter -Name * -Physical | select Name,InstanceID,MacAddress | FT

На выходе вы увидите прекрасную, сводную таблицу.

Как узнать GUID сетевой карты через Get-NetAdapter

Подробнее почитайте про командлет Get-NetAdapter - https://docs.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=win10-ps

Как узнать GUID сетевой карты через реестр

Логично предположить, что любая из утилит достает нужные нам данные из реестра Windows. Запустите окно редактора реестра Windows. Перейдите в раздел:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\

Тут будет список ваших сетевых интерфейсов, в моем случае их два. Тут будут ключи реестра Description и ServiceName (InstanceID)

Как узнать GUID сетевой карты через реестр

Еще вы можете запросить вот такую ветку реестра:

Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*" | select -ExpandProperty pschildname

Тут плохо, что не понятно к какому интерфейсу, это относится.

Как узнать GUID сетевой карты через реестр

Чтобы соотнести данные GUID с сетевым адаптером, вы можете выполнить скриптик:

$aGUID_SET = @(Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*" | select -ExpandProperty pschildname)

Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\*" -exclude "Properties" |
Where-Object {$aGUID_SET.Contains($_.NetCfgInstanceId)} |
ForEach-Object {
""
$_.DriverDesc
$_.NetCfgInstanceId
}

Напоминаю, что если вы получите ошибку при запуске скрипта, то посмотрите, как убрать проверку подписывания скриптов со стороны PowerShell.

Как узнать GUID сетевой карты через Get-WmiObject

В PowerShell введите команду:

Get-WmiObject Win32_NetworkAdapter -Filter "netenabled = true" | Select Guid,Name,MacAddress

Тоже очень удобная команда и при выводе ничего лишнего.

Как узнать GUID сетевой карты через Get-WmiObject

На этом у меня все, мы с вами разобрали кучу методов позволяющих нам определить GUID сетевой карты в Windows. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

2 Responses to Как узнать GUID сетевого интерфейса за минуту

  1. Proswert:

    getmac

  2. Roman:

    Все супер. Все методы работают. Благодарю за статью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *