我需要更改网络设置,如 this article 中所述。到目前为止效果很好。但是我还需要知道我在哪个事件网络上进行了更改。
(为了更好地理解,请打开控制面板\网络和Internet\网络和共享中心
。不幸的是所有图片托管网站都被我公司屏蔽了,所以我无法发布屏幕截图。)
有关如何使用 WMI(或其他技术)查询哪个连接与哪个网络关联的任何帮助?
更新:
我需要查询远程机器。
最佳答案
您可以使用 NetworkListManager
COM 组件,可以使用如下所示的动态组件,也可以使用 Windows API Code Pack其中包含所有 COM 包装器。
dynamic networkListManager = Activator.CreateInstance(
Type.GetTypeFromCLSID(new Guid("{DCB00C01-570F-4A9B-8D69-199FDBA5723B}")));
var connections = networkListManager.GetNetworkConnections();
foreach (var connection in connections)
{
var network = connection.GetNetwork();
Console.WriteLine("Network Name: " + network.GetName());
Console.WriteLine("Network Category " +
network.GetCategory()+ " (0 public / 1 private / 2 Authenticated AD)" );
}
PowerShell:
$networkType = [Type]::GetTypeFromCLSID('DCB00C01-570F-4A9B-8D69-199FDBA5723B')
$networkListManager = [Activator]::CreateInstance($networkType)
$netWorks = $networkListManager.GetNetworkConnections()
foreach ($network in $netWorks)
{
$name = $network.GetName()
$category = $network.GetCategory()
write-host "Network Name: $name"
write-host "Network Category: $category"
}
关于c# - 用于查询事件网络和关联连接的 WMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268641/