最近公司有台筆電的實體網卡壞了,因此臨時買了一個有 RJ45 接孔的 USB 網路卡來用,但新的網卡會有新的 MAC 位址,而該筆電所處的網路環境有綁定 IP 與 MAC 地址,因此導致筆電就無法上網了。這篇文章我來說明如何在 Windows 變更新買網卡的 MAC 位址。
變更現有網卡的實體位址 (MAC Address)
-
按下 Win+R
開啟「執行」視窗,輸入 ncpa.cpl
開啟「網路連線」頁面
-
找到實體網卡的網路介面 (Network Interface),按下滑鼠右鍵,點選「屬性」
-
點擊在網路介面卡旁邊的「設定」
-
切換至「進階」頁籤,找到「本地管理位址」,點擊輸入欄位左邊的單選按鈕,輸入新的 MAC 位址
注意:這裡的 本地管理位址 也有可能顯示 Network Address 或 Locally Administered Address 喔!
老實說,我不得不抱怨一下,這個「本地管理位址」翻譯的還真爛,完全聯想不到是 Network Address 的意思!
-
最後按下 OK
按鈕,就會自動套用到網卡上,此時網卡會先停用後自動啟用,網路也會瞬斷幾秒鐘,不用重開機,新的 MAC 位址就會生效了!
驗證網卡實體位址的方法
-
使用 getmac
命令
-
使用 ipconfig /all
命令
-
使用我從這篇文章微調過的 PowerShell 函式
function Get-InternetConnection {
$prf = Get-NetConnectionProfile -IPv4Connectivity Internet
$nic = Get-NetAdapter -InterfaceIndex $prf.InterfaceIndex -ErrorAction Ignore
$ipi = Get-NetIPInterface -InterfaceIndex $prf.InterfaceIndex -ErrorAction Ignore
$ip = $prf | Get-NetIPAddress -AddressFamily IPv4
$dg = $prf | Get-NetIPConfiguration
$stat = if ($nic) { if ($nic.InterfaceOperationalStatus -eq 1) { 'Up' } else { 'Down' } }
$maca = if ($nic) { $nic.MacAddress }
$props = [ordered]@{
ConnectionProfile = $prf.Name
IPv4Connectivity = $prf.IPv4Connectivity
IPv6Connectivity = $prf.IPv6Connectivity
InterfaceIndex = $prf.InterfaceIndex
InterfaceAlias = $prf.InterfaceAlias
NetAdapter_InterfaceStatus = $stat
NetAdapter_InterfaceMacAddr = $maca
NetIPInterface_ConnectionState = $ipi.ConnectionState
NetIPInterface_AddressFamily = $ipi.AddressFamily
IPAddress = $ip.IPAddress
SubnetMask = $ip.PrefixLength
DefaultGateway = $dg.IPv4DefaultGateway | Select-Object -ExpandProperty NextHop
DNSServer = ($dg.DNSServer).serverAddresses
}
New-Object -TypeName PSobject -Property $props
}
這個 PowerShell Function 的使用方式如下,非常簡單:
Get-InternetConnection
這個命令主要會取得目前上網的主要網路設定檔(Network Profile),然後取得該網路設定檔的網卡與網路設定,並且完整的呈現出來。
相關連結