Windows-Server-2012
Get-NetAdapter Powershell Cmdlet 中的“不存在”是什麼意思?
伺服器 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-NetAdapter
Cmdlet 按預期工作並打開了 NIC。
- 那麼什麼是“不存在”,為什麼Powershell在該狀態下無法啟用網卡,但我通過GUI啟用它沒有問題,但現在它似乎只能在啟用和禁用之間來回切換?
- 如果我願意,如何恢復“不存在”?
- 當 NIC 處於“不存在”狀態時,如何使用 Powershell 啟用它?
該
Not Present
狀態來自 MSFT_NetAdapter 類的 InterfaceOperationalStatus。它用於已知但由於缺少硬體而目前不可用的網路介面。另一個原因可能是當時沒有載入硬體驅動程序。如果您使用設備管理器停用 NIC,驅動程序將解除安裝。例如,VMware Workstation 的虛擬 NIC 將失去活力並顯示為“不存在”,直到您啟動使用它們的虛擬機。
Enable-NetAdapter
Powershell 僅使用和處理介面Disable-NetAdapter
而不是 NIC 本身Get-NetAdapter
。如果設備已停用,那麼您可能必須使用設備管理 cmdlet