Powershell 如何破译WMI对象类的值,以及选项?

Powershell 如何破译WMI对象类的值,以及选项?,powershell,wmi,wmi-query,duplex,Powershell,Wmi,Wmi Query,Duplex,我想确定使用powershell的系统的双工;我发现的唯一解决方案是,您可以通过查询MSNdis_macOptions WMI类来获得设置,并且NdisMacOptions属性等于双工设置。这就是我目前用来获取活动界面值的方法: (Get-WmiObject Win32_NetworkAdapter | Where-Object { $_.NetEnabled -eq $True } | ForEach-Object{ Get-WmiObject -Namespace root/WMI -cla

我想确定使用powershell的系统的双工;我发现的唯一解决方案是,您可以通过查询MSNdis_macOptions WMI类来获得设置,并且NdisMacOptions属性等于双工设置。这就是我目前用来获取活动界面值的方法:

(Get-WmiObject Win32_NetworkAdapter | Where-Object { $_.NetEnabled -eq $True } | ForEach-Object{ Get-WmiObject -Namespace root/WMI -class MSNdis_macOptions -filter "InstanceName='$($_.Name)'" }).NdisMacOptions

我得到的值是717,我相信是全双工的;但我没有任何东西可以与之相比。在谷歌上搜索,我发现大多数人都不知道这个数字的含义。如果有人能给我指出正确的方向来获取NdisMacOptions的可能值,或者它们的含义,我将不胜感激。

您可以在
wmicore.mof
文件中找到
NdisMacOptions
属性的可能值(该文件是文件的一部分)。此属性表示定义基础驱动程序或其NIC的可选属性的位掩码

//  This is an inclusive OR of the following types:

 NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA     0x00000001
 NDIS_MAC_OPTION_RECEIVE_SERIALIZED      0x00000002
 NDIS_MAC_OPTION_TRANSFERS_NOT_PEND      0x00000004
 NDIS_MAC_OPTION_NO_LOOPBACK             0x00000008
 NDIS_MAC_OPTION_FULL_DUPLEX             0x00000010
 NDIS_MAC_OPTION_EOTX_INDICATION         0x00000020
 NDIS_MAC_OPTION_RESERVED                0x80000000
或者您可以检查
ntddndis.h
文件,该文件是

#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED  0x00000002
#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND  0x00000004
#define NDIS_MAC_OPTION_NO_LOOPBACK         0x00000008
#define NDIS_MAC_OPTION_FULL_DUPLEX         0x00000010
#define NDIS_MAC_OPTION_RESERVED            0x80000000