Windows-Server-2012

Get-NetAdapter Powershell Cmdlet 中的“不存在”是什麼意思?

  • March 31, 2014

伺服器 2012,Powershell 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 屬性不是二進制的。它可能已啟動、已禁用或不存在。

當我Enable-NetAdapter在狀態為“不存在”的 NIC 上執行時,該命令會靜默返回,沒有錯誤輸出,但不會啟用 NIC。然後我通過右鍵點擊控制面板中的圖示並選擇啟用來手動啟用 NIC。它的狀態現在是 Enabled,狀態為 Up。

然後我Disable-NetAdapter在網卡上執行。它的狀態現在是“禁用”。

現在,Enable-NetAdapterCmdlet 按預期工作並打開了 NIC。

  • 那麼什麼是“不存在”,為什麼Powershell在該狀態下無法啟用網卡,但我通過GUI啟用它沒有問題,但現在它似乎只能在啟用和禁用之間來回切換?
  • 如果我願意,如何恢復“不存在”?
  • 當 NIC 處於“不存在”狀態時,如何使用 Powershell 啟用它?

Not Present狀態來自 MSFT_NetAdapter 類的 InterfaceOperationalStatus。它用於已知但由於缺少硬體而目前不可用的網路介面。另一個原因可能是當時沒有載入硬體驅動程序。如果您使用設備管理器停用 NIC,驅動程序將解除安裝。例如,VMware Workstation 的虛擬 NIC 將失去活力並顯示為“不存在”,直到您啟動使用它們的虛擬機。

Enable-NetAdapterPowershell 僅使用和處理介面Disable-NetAdapter而不是 NIC 本身Get-NetAdapter。如果設備已停用,那麼您可能必須使用設備管理 cmdlet

引用自:https://serverfault.com/questions/580633