Windows 為每個網絡配置文件 (Network Profile) 自動分配名稱 (如「網絡」、「網絡 2」、「網絡 3」),隨著連接環境變化名稱會不斷遞增,導致識別困難。通過修改註冊表可永久自定義顯示名稱,本文提供圖形界面操作與 PowerShell 自動化兩種方案。
每個網絡配置文件對應註冊表鍵值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{GUID}
關鍵值:
ProfileName (REG_SZ) —— 顯示在「網絡和共享中心」/「設定」中的名稱。Description (REG_SZ) —— SSID (無線) 或 連接描述 (有線)。NameType (DWORD) —— 0=無線, 1=有線, 2=其他。Category (DWORD) —— 0=公用, 1=專用, 2=域。此外,...NetworkList\Signatures\Unmanaged\{GUID} 下的 FirstNetwork 值也可能影響首次識別顯示。
regedit → 回車。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\。{GUID} 下的 Description 值,找到目標網絡 (如 SSID "MyWiFi")。{GUID} 下的 ProfileName,修改為期望名稱 (如「公司WiFi-5G」)。...Signatures\Unmanaged\{GUID} 下的 FirstNetwork 為同一名稱 (防止重新識別時復原)。net stop Netman & net start Netman) 生效。# 需管理員權限運行 PowerShell
# 示例:將所有 Description 為 "MyWiFi" 的配置文件 ProfileName 改為 "公司WiFi-5G"
$targetDesc = "MyWiFi"
$newName = "公司WiFi-5G"
$profilesPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles"
$signaturesPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"
Get-ChildItem $profilesPath | ForEach-Object {
$desc = (Get-ItemProperty $_.PSPath).Description
if ($desc -eq $targetDesc) {
Set-ItemProperty $_.PSPath -Name ProfileName -Value $newName
Write-Host "已修改 Profile: $($_.PSChildName) -> $newName"
# 同步修改 Signatures
$sig = Get-ChildItem $signaturesPath | Where-Object { (Get-ItemProperty $_.PSPath).Description -eq $targetDesc }
if ($sig) { Set-ItemProperty $sig.PSPath -Name FirstNetwork -Value $newName }
}
}
# 重啟網絡列表服務生效
Restart-Service Netman -Force
Write-Host "完成,請重新連接網絡查看效果。"
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles" | ForEach-Object {
$props = Get-ItemProperty $_.PSPath
$current = $props.ProfileName
$desc = $props.Description
$new = Read-Host "配置文件 `$($_.PSChildName`) 當前名稱: '$current' (SSID: $desc)`n請輸入新名稱 (直接回車跳過):"
if ($new) {
Set-ItemProperty $_.PSPath -Name ProfileName -Value $new
# 同步 Signatures
$sig = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged" | Where-Object { (Get-ItemProperty $_.PSPath).Description -eq $desc }
if ($sig) { Set-ItemProperty $sig.PSPath -Name FirstNetwork -Value $new }
}
}
Restart-Service Netman -Force
通過註冊表或 PowerShell 精準控制網絡顯示名稱,讓「網絡 2/3/4...」成為歷史,提升多網絡環境下的識別效率與管理體驗。