Favorite6233
Знающий
- Сообщения
- 21
- Репутация
- 5
Возник вопрос: как переименовать сетевое подключение программно. После подключения нового физического сетевого адаптера или программного получается имя сетевого подключения такого вида: "Подключение по локальной сети", "Подключение по локальной сети 2" и т.д. Задача: переименовать вот это "Подключение по локальной сети" в что-нибудь другое, например "Internet" или "Local"
Понятно, что можно прямой записью в реестре это поменять, но это уже хирургическое вмешательство в кишки Windows. А есть ли программный интерфейс для такого изменения типа WMI? У меня через WMI получилось только получить имена сетевых адаптеров и имена подключений, которые соответствуют этим сетевым адаптерам. В указанном ниже примере я выделяю из общего списка сетевых адаптеров адаптер, который ставится системой Open VPN и имеет имя "TAP-Win32 Adapter V9". Этому имени будет соответствовать имя подключения "Подключение по локальной сети" (ну или какое я могу вручную написать в разделе сетевых подключений). А вот как бы поменять это "Подключение по локальной сети" не используя реестр?
Понятно, что можно прямой записью в реестре это поменять, но это уже хирургическое вмешательство в кишки Windows. А есть ли программный интерфейс для такого изменения типа WMI? У меня через WMI получилось только получить имена сетевых адаптеров и имена подключений, которые соответствуют этим сетевым адаптерам. В указанном ниже примере я выделяю из общего списка сетевых адаптеров адаптер, который ставится системой Open VPN и имеет имя "TAP-Win32 Adapter V9". Этому имени будет соответствовать имя подключения "Подключение по локальной сети" (ну или какое я могу вручную написать в разделе сетевых подключений). А вот как бы поменять это "Подключение по локальной сети" не используя реестр?
Код:
#include <array.au3>
$objWMIService = ObjGet("winmgmts:\\.\root\cimv2")
$objClass = $objWMIService.ExecQuery("Select * from Win32_NetworkAdapter where Name=""TAP-Win32 Adapter V9""")
Local $MyArray[1][2]
$i=0
For $obj in $objClass
$MyArray[$i][0] = $obj.Name
$MyArray[$i][1] = $obj.NetConnectionID
; $obj.NetConnectionID = "OVPN"
$i += 1
ReDim $MyArray[$i+1][2]
Next
_ArrayDisplay($MyArray)