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