2013-12-23 27 views
1

我想確定使用powershell的系統的雙工;我發現的唯一解決方案是可以通過查詢MSNdis_macOptions WMI類來獲取設置,並且NdisMacOptions屬性等於雙工設置。這是我目前使用獲取活動界面的價值:如何解譯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的可能值,或者他們的意思,我將不勝感激。

回答

2

您可以在wmicore.mof文件(它是WDK的一部分)中找到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文件,該文件的NDIS

#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 
部分