如何以编程方式禁用网络连接属性中的特定项目?

问题描述

我想知道是否存在某些API /代码来禁用(当前)网络连接属性中的特定项?

image

如果是,您能否显示一个有效的代码示例,解释其详细信息,并指出所使用技术的某些限制(如果存在)?

解决方法

禁用这些绑定的API是INetCfgBindingPath::Enablebindview示例说明了如何调用API。

在Windows 8和更高版本中,您也可以调用WMI方法/root/standardcimv2/MSFT_NetAdapterBindingSettingData::Disable。以下是PowerShell的代码行,它说明了如何禁用从名为“ mb-port”的NIC到“ ms_msclient”驱动程序(也称为wkssvc)的绑定:

Get-CimInstance -Namespace root/standardcimv2 -Query 'SELECT * FROM MSFT_NetAdapterBindingSettingData WHERE Name = "mb-port" AND ComponentID = "ms_msclient"' | Invoke-CimMethod -MethodName Disable

请注意,GUI正在偷偷摸摸:它将多个绑定路径合并到同一复选框中。在您突出显示的示例中,从ms_msclient到NIC可能有2个绑定路径:一个在IPv4上,一个在IPv6上。当您清除/勾选复选框时,GUI会禁用/启用所有路径。如果要通过API进行操作,并希望执行同样的操作,则需要枚举所有从ms_msclient开始并进入NIC mb-port的绑定路径。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...