Как считать конфигурацию сети в командном файле или скрипте в Windows?
Можно разобрать вывод ipconfig /all, но проще сделать скрипт с использованием WMI и Win32_NetworkAdapterConfiguration. Кроме того, скрипт позволяет определить конфигурацию сети удалённого компьютера.
Например, скрипт выводит названия всех сетевых адаптеров, их MAC адреса, IP адреса, а также адрес DHCP сервера:
[00000015] Intel(R) Centrino(R) Advanced-N 6200 ABG 00:23:14:75:AF:1C DHCP enabled, DHCP server is 192.168.1.1 192.168.1.110 / 255.255.255.0 [00000019] VMware Virtual Ethernet Adapter for VMnet1 00:50:56:C0:00:01 192.168.186.1 / 255.255.255.0 fe80::dc2b:27a2:b9d8:195c / 64 [00000020] VMware Virtual Ethernet Adapter for VMnet8 00:50:56:C0:00:08 192.168.2.1 / 255.255.255.0 fe80::852a:ee9:57a1:24fc / 64
Исходный код скрипта
Скрипт JScript основан на запросе к NetworkAdapterConfiguration в WMI. После выполнения запроса информация о сетевых платах выводится в цикле for:
var computer = ".";
var wmi = GetObject("winmgmts:\\\\" + computer + "\\root\\CIMV2");
var items = wmi.ExecQuery("SELECT * from Win32_NetworkAdapterConfiguration");
for ( var ci = new Enumerator(items); !ci.atEnd(); ci.moveNext() ) {
var ipconfig = ci.item();
if ( !ipconfig.IPEnabled )
continue;
WScript.Echo(ipconfig.Caption);
WScript.Echo(ipconfig.MACAddress);
if ( ipconfig.DHCPEnabled )
WScript.Echo("DHCP enabled, DHCP server is " + ipconfig.DHCPServer);
for (var i = ipconfig.IPAddress.lbound(); i <= ipconfig.IPAddress.ubound(); ++i)
WScript.Echo(ipconfig.IPAddress(i) + " / " + ipconfig.IPSubnet(i));
}
ipconfig.Caption – это название сетевого адаптера, ipconfig.MACAddress – это MAC адрес и т.д.
Если информация о виртуальных сетевых адаптерах не требуется, можно отфильтровать их, добавив в цикл условие:
if ( ipconfig.Caption.search(RegExp("virtual","i")) != -1 )
continue;
Чтобы считать сетевую конфигурацию удалённого компьютера, достаточно записать в переменную computer
его сетевое имя.
Запуск скрипта
Команда для запуска этого скрипта непосредственно из командной строки или из bat файла:
cscript //nologo network_configuration.js
См. также
Скачать этот и другие скрипты можно по ссылке