使用NetConnectionID执行CIM Associators查询报错,求优化DHCP续租方案
解决方案
方法1:使用WQL JOIN查询(单CIM调用)
直接通过WQL内连接关联Win32_NetworkAdapter与Win32_NetworkAdapterConfiguration类,基于共同的SettingID属性过滤指定名称的适配器:
Get-CimInstance -Query @" SELECT * FROM Win32_NetworkAdapterConfiguration INNER JOIN Win32_NetworkAdapter ON Win32_NetworkAdapterConfiguration.SettingID = Win32_NetworkAdapter.SettingID WHERE Win32_NetworkAdapter.NetConnectionID = 'External' "@ | Invoke-CimMethod -MethodName RenewDHCPLease
方法2:管道式关联查询(更简洁)
先筛选出指定NetConnectionID的适配器实例,再通过-AssociatedClass参数直接关联到对应配置类,无需手动拼接DeviceID:
Get-CimInstance Win32_NetworkAdapter -Filter "NetConnectionID='External'" | Get-CimInstance -AssociatedClass Win32_NetworkAdapterConfiguration | Invoke-CimMethod -MethodName RenewDHCPLease
原Associators查询失败原因
WMI的Associators查询要求在实例路径中使用类的键属性唯一标识实例。Win32_NetworkAdapter的键属性是DeviceID,NetConnectionID只是普通属性而非键,因此直接用它构造实例路径会触发"无效路径"错误。
内容的提问来源于stack exchange,提问作者CFou
相关产品推荐
相关产品推荐

