
Windows 會自動識別連接的網路並將其命名為Wireless Network
,Wired Network 2
或windows.domain.tld
在加入網域的系統的情況下。是否有任何命令可以取得 Windows 偵測到的已連接網路的字串?
更新
在嘗試@Bob的答案後,我注意到輸出列出了它連接到的每個網路的一行:
> Get-NetConnectionProfle | Select-Object -ExpandProperty Name
Wired Connection
Wireless Connection 3
VPN Name
預設情況下,Windows 僅使用連接的網路之一來處理所有流量,例如僅使用有線連接(即使也連接了無線),並且僅使用 VPN(如果已連接)。如何僅取得預設網路的名稱字串?
答案1
要找到預設接口,您必須找到度量值最低的預設路由。您可以使用下列 PowerShell 程式碼來執行此操作:
$DefaultIPv4InterfaceIndex=
Get-NetRoute -DestinationPrefix 0.0.0.0/0|
Sort-Object {$_.RouteMetric+(Get-NetIPInterface -AssociatedRoute $_).InterfaceMetric}|
Select-Object -First 1 -ExpandProperty InterfaceIndex
$DefaultIPv6InterfaceIndex=
Get-NetRoute -DestinationPrefix ::/0|
Sort-Object {$_.RouteMetric+(Get-NetIPInterface -AssociatedRoute $_).InterfaceMetric}|
Select-Object -First 1 -ExpandProperty InterfaceIndex
請注意,IPv4 和 IPv6 的預設介面可以不同。現在,由於您有介面索引,您可以使用Get-NetConnectionProfile
來取得網路名稱:
(Get-NetConnectionProfile -InterfaceIndex $DefaultIPv4InterfaceIndex).Name
(Get-NetConnectionProfile -InterfaceIndex $DefaultIPv6InterfaceIndex).Name
答案2
如果您可以使用 PowerShell,從 Windows Server 2012 R2/Windows 8.1 開始,它具有Get-NetConnectionProfile
cmdlet,您可以使用下列命令僅提取網路名稱:
Get-NetConnectionProfile | Select-Object -ExpandProperty Name
您可以透過安裝 PowerShell 4.0 (Windows管理框架4.0)。
您可以透過將其傳遞到 PowerShell 並使用powershell -c
.
您也可以直接存取註冊表項,但我不確定您如何確定哪一個是當前的:如何在 Windows 8 中重新命名網路?
答案3
如果你去Controlpanel > Network & Internet > Network & Sharing center
它就會顯示active networks
。
您也可以從Network & Sharing center
並點擊Edit Settings
網卡。它將顯示所有網路的相對狀態。
注意:我的丹麥電腦上的設定名稱可能會被誤譯。