C# 设置不在线的网络接口的IP地址(IEnabled not true)/未连接电缆?
是否可以为当前已关闭的网络接口设置IP地址(或其他任何内容) 我正在使用WMI,这意味着C# 设置不在线的网络接口的IP地址(IEnabled not true)/未连接电缆?,c#,networking,wmi,C#,Networking,Wmi,是否可以为当前已关闭的网络接口设置IP地址(或其他任何内容) 我正在使用WMI,这意味着ManagementObjectCollection和Invoke方法。但是,似乎没有办法在当前未连接的网络适配器上以c#配置IP 没有错误消息。 例如,我为wifi接口手动设置IP,并通过WMI将其设置为DHCP ManagementObjectSearcher query = new ManagementObjectSearcher("Select * from Win32_NetworkAdap
ManagementObjectCollection
和Invoke
方法。但是,似乎没有办法在当前未连接的网络适配器上以c#配置IP
没有错误消息。
例如,我为wifi接口手动设置IP,并通过WMI将其设置为DHCP
ManagementObjectSearcher query = new ManagementObjectSearcher("Select * from Win32_NetworkAdapterConfiguration where SettingID=\"" + selectedProfile.AdapterGUID + "\"");
ManagementObjectCollection moc = query.Get();
foreach (ManagementObject mo in moc)
{
ManagementBaseObject newDHCPIP = mo.GetMethodParameters("EnableDHCP");
mo.InvokeMethod("EnableDHCP", newDHCPIP, null);
ManagementBaseObject newDHCPDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newDHCPDNS["DNSServerSearchOrder"] = null;
mo.InvokeMethod("SetDNSServerSearchOrder", newDHCPDNS, null);
ManagementBaseObject newDHCPRenew = mo.GetMethodParameters("RenewDHCPLease");
mo.InvokeMethod("RenewDHCPLease", newDHCPRenew, null);
mo.Dispose();
}
我100%确信我选择了正确的网络适配器。但当我设置它,并查看配置(通过windows网络和共享中心,适配器属性)时,仍然存在静态IP
只有在我连接到wifi网络后,它才能工作,然后我查看配置,发现有DHCP我认为最好的解决方案是使用
netsh
,因为WMI无法正常工作。太模糊了。什么是IPEnabled?IPEnabled=true在您将网络电缆插入网卡时设置为网络接口,当网络处于联机状态时。。。(在w7上,在w2000上都是正确的,但这并不重要,重要的是如何在接口脱机时在c#中设置网络接口的IP地址。您能否更具体一点,特别是显示用于查找接口和操作接口的代码(大概)如果接口处于打开状态,则可以正常工作,但如果接口处于关闭状态,则无法工作,并指定其失败方式(抛出错误、在WMI搜索查询中找不到对象等)