Это зависит от того, что вы пытаетесь отключить. Если вы пытаетесь отключить сетевые интерфейсы ЛВС, то единственная возможность на XP-машинах (насколько я знаю) сделать это программно - это devcon.exe
(программа, похожая на утилиту командной строки менеджера устройств).
Синтаксис будет
devcon disable *hardware ID of your adapter*
Вы получаете HWID (вместе со многими другими деталями) с
wmic NIC
или если у вас есть доступ к Powershell на вашем XP-компьютере, вы можете использовать его, потому что вы можете там хорошо фильтровать. wmic NIC
ничего не делает, кроме вывода результатов Select * From Win32_NetworkAdapter
gwmi win32_networkAdapter | select Name, PNPDeviceID | where {$_.Name -eq "*your adapter name*"}
или
gwmi -query "select Name, PNPDeviceID from Win32_Networkadapter" | where {$_.Name -eq "*your adapter name*"}
Проблема с использованием WMI для отключения или включения ваших адаптеров заключается в том, что драйвер устройства должен реализовать методы Disable()
и Enable()
, чтобы вы действительно не могли полагаться на его работу.
Я не знаю, насколько хорошо netsh
работает для адаптеров Bluetooth и других устройств, но я определенно рекомендую вам попробовать это, потому что это гораздо проще, чем использовать devcon и искать HWID.