c# - 用于查询事件网络和关联连接的 WMI

标签 c# .net c#-4.0 wmi

我需要更改网络设置,如 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/

相关文章:

c# - 运动起点/终点检测

c# - PropertyGrid 的替代品?请听我说完

.net - System.Net.Mail.SmtpClient 是否支持 CRAM-MD5 身份验证?

.Net 程序集绑定(bind)重定向与不同的公钥 token

.net - 如何评估多个 ServicePointManager.ServerCertificateValidationCallback 方法?

c# - 我应该处理 System.Windows.Media.Pen 吗?

asp.net-mvc - 我们可以在客户端服务器架构中使用智能卡身份验证吗?

c# - .NET Core 3 Worker 服务设置依赖注入(inject)

c# - 在数据注释的 ErrorMessage 属性中使用 html

.net - 可移植类库何时引用 mscorlib 版本 5.0.5.0?