Где в реестре хранится информация о состоянии сетевого адаптера?

Где в реестре хранится информация о состоянии сетевого адаптера?

Запуск netsh interface ipv4 show interfacescmd отображает некоторую информацию о сетевом интерфейсе, включая состояние (подключен или отключен).Хранится ли эта информация в реестре, и если да, то где ее можно найти?

Я знаю, что IP-адреса находятся в подразделах HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces(как ответилздесь), но я не вижу там информации о состоянии. Я нашел значение StaleAdapterв подключах HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdapters, которое обновляется при подключении/отключении. Однако я сомневаюсь, что это действительно то, что я ищу, так как в выводе меньше подключей, чем сетевых интерфейсов netsh.

решение1

Сомневаюсь. Нет смысла хранить такую ​​информацию на диске. ОС может просто запросить сетевую карту. С другой стороны, адреса DHCP имеют преимущество в том, что их можно записать на диск. Если компьютер отключится, то после восстановления он сможет запросить тот же адрес у сервера DHCP (но не обязательно ожидать, что этот запрос будет выполнен).

Если вы хотите получить доступ к данным не через графический интерфейс, а каким-то другим способом, вы можете обнаружить, что такую ​​информацию можно получить с помощью WMI.

Один из способов работы с WMI — использовать команду WMIC. Ниже могут быть показаны некоторые сведения о состоянии сетевых карт.

WMIC NIC WHERE (NetEnabled=TRUE) GET Availability,Index,Name,MACAddress,NetEnabled,NetworkAddresses,Speed /FORMAT:LIST

Это всего лишь часть того, что я выбрал. (Если вы видите «Недопустимый запрос», попробуйте удалить некоторые элементы, пока не выясните, какой запрос был недопустимым.) Чтобы увидеть больше, вы можете выполнить:

WMIC NIC WHERE (NetEnabled=TRUE) GET /FORMAT:LIST

Связанный контент