Получить строку имени сети Windows по умолчанию в cmd.exe

Получить строку имени сети Windows по умолчанию в cmd.exe

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Командлет, и вы можете извлечь только имя сети с помощью следующего:

Get-NetConnectionProfile | Select-Object -ExpandProperty Name

Вы можете запустить это в более ранних версиях Windows, установив PowerShell 4.0 (Windows Management Framework 4.0).

Вы можете запустить его из устаревшей командной строки, передав его в PowerShell с помощью powershell -c.

Вы также можете получить доступ к разделам реестра напрямую, хотя я не уверен, как вы определите, какой из них является текущим:Как переименовать сеть в Windows 8?

решение3

Если вы пойдете туда, Controlpanel > Network & Internet > Network & Sharing centerто увидите active networks.

Вы также можете перейти Network & Sharing centerи нажать Edit Settingsна сетевую карту. Она покажет все сети с относительным статусом.

Примечание: названия настроек могут быть неправильно переведены с моего датского ПК.

Связанный контент