【发布时间】:2008-10-15 04:17:55
【问题描述】:
我正在寻找一种方法来准确确定接口是否是 Windows 中 PC 上的物理 802.3 以太网端口。
使用 ipconfig /all 我可以列出所有接口,当我在我的电脑上执行此操作时,可以在此处列出几个条目,包括 VPN、蓝牙、Wifi 和物理以太网接口。
我正在寻找类似“isPhysical(interface)”的东西。 (有多个物理网口也没关系,我就是想知道是不是物理网口)。
更新:
谢谢杰和克里斯!
(cmets 空间不足,我会在这里发布)
我目前正在考虑使用 WMI Win32_NetworkAdapter。 但是,它显示了 4 个 AdapterType="Ethernet 802.3" 的接口。
我的电脑上只有 1 个物理端口,其他端口的名称为“虚拟机网络服务驱动程序”。 (我假设这些是我的公司出于某些邪恶的原因安装的)
我在界面中找到了我需要的属性,但是winXP下没有!!!
PhysicalAdapter 数据类型:布尔型 访问类型:只读
表示适配器是否为 物理或逻辑适配器。如果 没错,适配器是物理的。 窗口 服务器 2003、Windows XP、Windows 2000、 和 Windows NT 4.0:这个属性是 不可用。
除了对名称中的“Virtual”一词进行文本过滤外,有什么方法可以确定它是否是物理端口?
2008 年 12 月更新
看起来虚拟接口是在您安装 VM 时添加的。
以下是有关虚拟适配器的一些详细信息: http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/01/404816.aspx
发现如果用户没有管理员权限,WMI 界面不会返回所需的数据。所以,现在看看 GetAdapterInfo 方法。但是,它似乎在实际适配器的描述中添加了“虚拟机服务驱动程序”,使得“虚拟”文本检查无效。
以及GetAdapterInfo返回的结构:
http://msdn.microsoft.com/en-us/library/aa366062(VS.85).aspx
【问题讨论】:
-
你需要澄清你的问题——你问的是哪一个是硬连线的,然后在人们告诉你可能不止一个时标记他们的回答。您的问题需要更改为“如何判断接口是否为有线以太网接口?”
-
他不是那个标记你的人。
-
好的,这很好 - 但是标记一个没有解释就挑战问题本身的回答是没有帮助的。当前形式的问题存在问题 - 目前的两个答案都指出了该问题。
-
它们不应该是答案;他们应该是这个问题的cmets。
标签: windows wmi admin ipconfig