windows-server-2012 – Get-NetAdapter Powershell Cmdlet中“不存在”是什么意思?

Server 2012,Power shell 3.0.

我正在做一些需要自动启用和禁用网络适配器的工作.以下是我在运行Get-NetAdapter时看到的示例:

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Slot 0 Port 4             HP NC382i DP Multifunction Gigabi...#53      15 Not Present  11-80-1B-94-2A-82          0 bps
Slot 0 Port 2 (TM-2)      HP NC382i DP Multifunction Gigabi...#51      14 Up           11-80-1B-94-27-72         1 Gbps
Team 1 (Team)             Microsoft Network Adapter Multiplexo...      17 Up           11-80-1B-94-2A-72         1 Gbps
Slot 0 Port 3             HP NC382i DP Multifunction Gigabi...#52      13 disabled     11-80-1B-94-2A-80         1 Gbps
Slot 0 Port 1 (TM-1)      HP NC382i DP Multifunction Gigabi...#50      12 Up           11-80-1B-94-2A-70         1 Gbps

请注意,Status属性不是二进制.它可能是Up,disabled或Not Present.

当我在状态为“Not Present”的NIC上运行Enable-NetAdapter时,该命令将以静方式返回,不会输出错误,但不会启用NIC.然后,我通过右键单击“控制面板”中的图标并选择“启用”来手动启用NIC.其状态现已启用,状态为Up.

然后我在网卡上运行了disable-NetAdapter.它的状态现在是“已禁用”.

现在,Enable-NetAdapter Cmdlet按预期工作并打开NIC.

>那么什么是“不存在”以及为什么Powershell在处于该状态时无法启用NIC,但是我通过GUI启用它没有任何问题,但现在它似乎只在Enabled和disabled之间来回切换?
>如果我愿意,我如何得到’不在场’?
>当处于“不存在”状态时,如何使用Powershell启用NIC?

Not Present状态来自MSFT_NetAdapter类的InterfaceOperationalStatus.它用于已知但由于缺少硬件而当前不可用的网络接口.另一个原因可能是硬件的驱动程序当时没有加载.如果使用设备管理器停用NIC,则驱动程序将卸载.例如,VMware Workstation的虚拟NIC在启动使用它们的虚拟机之前将被取消激活并显示为“不存在”.

Powershell仅使用Enable-NetAdapter,disable-NetAdapter和Get-NetAdapter处理接口而不是NIC本身.如果设备失效,那么您可能必须使用device management cmdlets

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...