Windows中使用command方式變更網卡設定 (netsh)

2024/01/31閱讀時間約 3 分鐘
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定:

打開 Command Prompt(管理員權限):

  • 按下Win,輸入 cmd,點選滑鼠右鍵,選擇 "Run as administrator",這樣就能打開Command Prompt(管理員權限)。
raw-image


查看可用的 network adapter 列表:

  • 輸入下面命令可以查看可用的 network adapter 列表:
netsh interface ipv4 show interfaces
raw-image


查看所有 network adapter 的狀態:

顯示每個 network adapter 的詳細訊息,包含名稱、類型、連接狀態、管理員狀態等。

netsh interface show interface
管理員狀態 (Admin State) 為 Enabled 表示啟用,Disabled 表示禁用。
Enable P56

Enable P56

Disable P56

Disable P56

查看個別 network adapter 的詳細訊息:

包括 IP address、mask、以及是否是 static 配置等訊息。以 "P56"為例:

netsh interface ipv4 show config P56
raw-image

更改 network adapter 的名稱:

例如要把 "Ethernet 2" 更改為 "P56":

netsh interface set interface name="Ethernet 2" newname="P56"
raw-image

enable/disable network adapter(需管理員權限):

netsh interface set interface name="yourInterfaceName" admin=disable

or

netsh interface set interface name="yourInterfaceName" admin=enable

將 "yourInterfaceName" 替換為你要 enable 的 network adapter 的名稱。

Admin State

Admin State


更改 IP 和 subnet Mask(需管理員權限):

輸入下面指令,將 <InterfaceName> 替換為要更改的 adapter 的索引號(Idx)或是 Name,而 <IPAddress> 和 <SubnetMask> 替換為你希望設定的新 IP 和 mask。

netsh interface ipv4 set address name="<InterfaceName>" static <IPAddress> <SubnetMask>

例如:

netsh interface ipv4 set address name="Ethernet" static 192.168.1.2 255.255.255.0


補充(2024/03/25):

如果今天在網卡是disable的狀態下,然後用netsh去更改IP的話,是不會嗅出任何的 error的。但會在下次enable的時候出現 IP Address都是空的狀態。

所以在更改網卡 IP 前要先確保網卡是 enable的狀態。







留言0
查看全部
發表第一個留言支持創作者!