WMI 可以查询 class 属性 并使用另一个 class 属性 进行过滤吗?
Can WMI query a class property and filter using another class property?
我是 WMI 菜鸟。我正在使用 BGInfo 并且有一个带有 2 个 NIC 的设备。我正在尝试查询其中一个 NIC 的 IP 地址。我想根据网卡名称提交查询
但是,我 运行 遇到一个问题,即 IP 地址存储在 Win32_NetworkAdapterConfiguration 中,网卡名称存储在 Win32_NetworkAdapter 中。
我想构建如下所示的 WMI 查询:
SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE Win32_NetworkAdapter.Name="My NIC Name".
这可能吗?
为了基本的理解,运行(来自cmd
window)以下命令行
wmic path Win32_NetworkAdapter get DeviceID, Index, InterfaceIndex, Name, NetConnectionId
wmic path Win32_NetworkAdapterConfiguration get Index, InterfaceIndex, IPAddress
wmic path Win32_NetworkAdapterSetting
并阅读以下文档:
- Win32_NetworkAdapter class - 表示计算机 运行 上 Windows 操作系统(已弃用?)的网络适配器,
- Win32_NetworkAdapterConfiguration class - 表示网络适配器的属性和行为,
- Win32_NetworkAdapterSetting class - 关联
WMI
class 关联网络适配器及其配置设置。
然后您可以了解以下代码片段的工作原理(如果您使用 _adapterName
的真实值而不是 My NIC Name 占位符):
set "_adapterName=My NIC Name"
wmic path Win32_NetworkAdapter where "Name='%_adapterName%'" ASSOC:value /RESULTCLASS:Win32_NetworkAdapterConfiguration
最后,您可以将以上输出限制在 IPAddress=…
行,如下所示:
wmic path Win32_NetworkAdapter where "Name='%_adapterName%'" ASSOC:value /RESULTCLASS:Win32_NetworkAdapterConfiguration | findstr "^IPAddress"
我是 WMI 菜鸟。我正在使用 BGInfo 并且有一个带有 2 个 NIC 的设备。我正在尝试查询其中一个 NIC 的 IP 地址。我想根据网卡名称提交查询
但是,我 运行 遇到一个问题,即 IP 地址存储在 Win32_NetworkAdapterConfiguration 中,网卡名称存储在 Win32_NetworkAdapter 中。
我想构建如下所示的 WMI 查询:
SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE Win32_NetworkAdapter.Name="My NIC Name".
这可能吗?
为了基本的理解,运行(来自cmd
window)以下命令行
wmic path Win32_NetworkAdapter get DeviceID, Index, InterfaceIndex, Name, NetConnectionId
wmic path Win32_NetworkAdapterConfiguration get Index, InterfaceIndex, IPAddress
wmic path Win32_NetworkAdapterSetting
并阅读以下文档:
- Win32_NetworkAdapter class - 表示计算机 运行 上 Windows 操作系统(已弃用?)的网络适配器,
- Win32_NetworkAdapterConfiguration class - 表示网络适配器的属性和行为,
- Win32_NetworkAdapterSetting class - 关联
WMI
class 关联网络适配器及其配置设置。
然后您可以了解以下代码片段的工作原理(如果您使用 _adapterName
的真实值而不是 My NIC Name 占位符):
set "_adapterName=My NIC Name"
wmic path Win32_NetworkAdapter where "Name='%_adapterName%'" ASSOC:value /RESULTCLASS:Win32_NetworkAdapterConfiguration
最后,您可以将以上输出限制在 IPAddress=…
行,如下所示:
wmic path Win32_NetworkAdapter where "Name='%_adapterName%'" ASSOC:value /RESULTCLASS:Win32_NetworkAdapterConfiguration | findstr "^IPAddress"