在 Windows 上啟用/禁用 Wi-Fi 的隨機硬件 (MAC) 地址
Windows 10 和 11 中的隨機硬件尋址功能通過為每個 Wi-Fi 網絡連接生成唯一的隨機 MAC 地址來增強隱私和安全性。此功能的主要目的是通過降低在公共 Wi-Fi 網絡上跟踪設備和收集用戶行為數據的能力來提高用戶隱私和匿名性。啟用後,將使用唯一的、隨機生成的 MAC 地址來連接到每個 Wi-Fi 網絡,而不是無線適配器的物理硬件 MAC 地址。
在 Windows 中,您可以為特定 Wi-Fi 網絡或所有無線網絡啟用或禁用 MAC 地址隨機化。
- 前往設定->網絡與互聯網->無線上網
- 通過按啟用或禁用 MAC 地址隨機化使用隨機硬件地址切換。

在我的 Windows 10 筆記本電腦上,有一個選項可以每天生成一個新的、唯一的 MAC 地址。


每個保存的 Wi-Fi 配置文件的設置中也提供此選項。按管理已知網絡-> 選擇保存的 WLAN 網絡(配置文件)並啟用/禁用使用隨機硬件地址轉變。
最新的硬件支持隨機 MAC 功能。如果您的設備不支持地址隨機化,您將不會在 Wi-Fi 網絡設置中看到此選項。


這通常是由以下原因引起的:
- 並非所有 Wi-Fi 適配器都支持 MAC 地址欺騙。
- 安裝的無線驅動程序不支持此功能。嘗試下載並安裝 Wi-Fi 適配器的最新驅動程序版本。
使用隨機 MAC 地址通常僅對公共 Wi-Fi 網絡有意義。但是,此功能在企業或小型辦公室/家庭辦公室 (SOHO) 無線網絡中使用時可能會導致問題。
- 如果 DHCP 服務器為您設備的 MAC 地址保留了 IP 地址,則使用隨機 MAC 地址將阻止您獲取該靜態 IP 地址。
- 如果使用強制門戶進行 Wi-Fi 設備授權,您可能會面臨不同的連接問題。
- 通過網絡上的 MAC 地址過濾訪問將無法正常工作。
- 管理員更難跟踪網絡上具有隨機 MAC 地址的設備
- 某些軟件許可證可能與計算機的物理 MAC 地址相關聯。
對於企業網絡上的設備,管理員通常會禁用隨機硬件地址功能。內置 Windows 組策略模板不提供允許禁用隨機硬件 (MAC) 地址的選項。但是,可以通過註冊表禁用它。
獲取 Wi-Fi 適配器的 ID 和 MAC 地址:
Get-NetAdapter | Where-Object {$_.MediaType -match 'Native 802.11'}| select Name, MacAddress,InstanceID


打開註冊表編輯器並導航到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}。在子項中搜索 WIFI_InstanceID(包含在 NetCfgInstanceId 值中)。


創建一個名為 REG_SZ 參數網絡地址在此註冊表項中。在此參數的值中指定 Wi-Fi 適配器的實際 MAC 地址。在我的示例中,無線適配器的 MAC 地址是 D0:37:45:12:51:BD。但是,將其添加到註冊表時,輸入時必須不包含連字符或空格。


重新啟動計算機並檢查控制面板中使用隨機 MAC 地址的選項現在呈灰色(不活動)。


要自動禁用此選項,您可以使用以下 PowerShell 腳本:
建議閱讀:使用 PowerShell 將 Microsoft 365 別名地址更改為主 SMTP 地址
$WiFi = Get-NetAdapter | Where-Object {$_.MediaType -match 'Native 802.11'}
$RegPath = "HKLM:SYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}"
$MacAddress = $WiFi.MacAddress -replace "[:-]", ""
$subKeys = Get-ChildItem -Path $RegPath
foreach ($subKey in $subKeys) {
$props = Get-ItemProperty -Path $subKey.PSPath -ErrorAction SilentlyContinue
if ($props -and $props.DriverDesc -eq $WiFi.InterfaceDescription) {
New-ItemProperty -Path $subKey.PSPath -Name "NetworkAddress" -Value $MacAddress -PropertyType String -Force
Write-Host "NetworkAddress set for adapter: $($WiFi.InterfaceDescription)"
break
}
}


此 PowerShell 腳本可以通過組策略、SCCM 或其他自動化工具在用戶計算機上運行。
或者,為了防止用戶自行啟用或禁用 MAC 地址隨機化選項,您可以通過組策略隱藏“設置”菜單中的相應頁面來限制對網絡設置的訪問(使用hide:ms-settings:network-wifi選項)。
