取得 cmd.exe 上的預設 Windows 網路名稱字串

取得 cmd.exe 上的預設 Windows 網路名稱字串

Windows 會自動識別連接的網路並將其命名為Wireless NetworkWired Network 2windows.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-NetConnectionProfilecmdlet,您可以使用下列命令僅提取網路名稱:

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網卡。它將顯示所有網路的相對狀態。

注意:我的丹麥電腦上的設定名稱可能會被誤譯。

相關內容