1

Windows автоматически идентифицирует подключенные сети и называет их « Wireless Network , « Wired Network 2 или « windows.domain.tld в случае присоединения к домену. Есть ли какая-либо команда для получения строки подключенной сети, в которой обнаружена Windows?

ОБНОВИТЬ

Попробовав ответ @ Боба, я заметил, что в выводе отображается строка для каждой сети, к которой он подключен:

> Get-NetConnectionProfle | Select-Object -ExpandProperty Name
Wired Connection
Wireless Connection 3
VPN Name

По умолчанию Windows использует только одну из подключенных сетей для всего трафика, например, только проводное соединение, даже если беспроводное соединение также подключено, и только VPN, если подключено. Что мне сделать, чтобы получить только строку имени сети по умолчанию?

3 ответа3

2

Чтобы найти интерфейс по умолчанию, вы должны найти маршрут по умолчанию с самой низкой метрикой. Вы можете сделать это с помощью следующего кода 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
1

Если вы можете использовать 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?

-1

Если вы зайдете в Controlpanel > Network & Internet > Network & Sharing center отобразятся active networks .

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .