萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows Server 2003 教學

Windows Server 2003 不重啟重新啟用網卡:netsh 與 devcon 兩種命令列方案

生產環境 Server 2003 需要重置網卡(如更換 IP、驅動更新、網卡故障恢復)但不允許重啟伺服器。提供兩種命令列方案:netsh(內建、無相依)與 devcon(需 Windows Driver Kit 工具),均可實現網卡停用/啟用自動化。

方案一:netsh interface(推薦、零相依)

建立批次檔 RestartLan.bat:

@echo off
rem 適用 Windows Server 2003 / XP
rem 若 XP 缺少 ifmon.dll,可從 Server 2003 複製至 System32

rem 停用網卡(介面名稱需與系統一致,中文預設為「區域連線」或「本地連線」)
netsh interface set interface name="本地連線" admin=DISABLED

rem 稍作等待確保釋放資源
ping -n 3 127.0.0.1 >nul

rem 啟用網卡
netsh interface set interface name="本地連線" admin=ENABLED

echo 網卡已重置完成。

關鍵點: name= 參數必須完全符合「網路連線」資料夾中的介面名稱(含空白),可用 netsh interface show interface 查詢確切名稱。

方案二:devcon.exe(硬體層級、支援 PCI 關鍵字比對)

準備: 從 Windows Driver Kit (WDK) 取得 devcon.exe (32/64 位對應) 放入 %PATH% 目錄(如 C:\Windows\System32)。

建立互動式批次檔 ToggleNIC.bat:

@echo off
echo 請輸入選擇:(N=停用網卡, Y=啟用網卡)
set /p SELECT=
if /i "%SELECT%"=="Y" set SELECT=ENABLE & goto :DO
if /i "%SELECT%"=="N" set SELECT=DISABLE
:DO
for /f "tokens=2 delims=&" %%i in ('devcon find pci* ^| findstr "Fast Ethernet"') do devcon %SELECT% *%%i* >NUL
echo 網卡已 %SELECT% 完成。
pause

原理: devcon find pci* 列舉所有 PCI 設備,findstr "Fast Ethernet" 過濾網卡描述,devcon ENABLE/DISABLE *硬體ID* 執行啟用/停用。可依實際硬體描述調整關鍵字(如 "Gigabit", "Intel", "Broadcom")。

進階:排程自動化/遠端執行

  • 排程工作:控制台 → 排程工作 → 新增 → 執行 RestartLan.bat,設定每日/每週維護時段。
  • 遠端執行:psexec \\ServerIP -u Admin -p Pass -h -d C:\Scripts\RestartLan.bat (Sysinternals PsExec)。
  • 監控整合:Zabbix/Nagios/PRTG 觸發器偵測網卡流量異常 → 自動呼叫腳本重置 → 紀錄事件。

注意事項

  • 停用網卡會中斷所有該介面連線(RDP、SMB、資料庫連線等),請在維護窗口或確認可接受中斷時執行。
  • 多網卡環境請精確指定介面名稱/硬體 ID,避免誤停管理介面導致失聯。
  • 虛擬機環境(VMware/Hyper-V)網卡重置可能觸發虛擬網卡重新協商,建議配合 VM Tools 執行。

掌握 netsh 與 devcon 兩把刷子,實現 Server 2003 網卡熱重置,保障服務連續性與維運彈性。

copyright © 萬盛學電腦網 all rights reserved