Skip to content

Commit 8fe3578

Browse files
authored
Update Get-Network.ps1
1 parent 0ac0180 commit 8fe3578

File tree

1 file changed

+39
-28
lines changed

1 file changed

+39
-28
lines changed

Modules/Scripts/Get-Network.ps1

+39-28
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ loopbacks are ignored.
88
.PARAMETER Addresses
99
Return a @(list) of addresses
1010
11+
.PARAMETER bound
12+
Show only interfaces that are bound to a known IP address, hiding disconnected virtual
13+
or VPN interfaces.
14+
1115
.PARAMETER Preferred
1216
Only return the preferred network address without report bells and whistles.
1317
@@ -27,6 +31,7 @@ using namespace System.Net.NetworkInformation
2731
param(
2832
[switch] $preferred, # just return the preferred address
2933
[switch] $addresses, # return a list of host addresses
34+
[switch] $bound, # show only interfaces bound to an IP address
3035
[switch] $wiFi # show detailed WiFi profiles
3136
)
3237

@@ -129,44 +134,47 @@ Begin
129134
| where { $_.Address.AddressFamily -eq 'InterNetwork' } `
130135
| select -first 1 -ExpandProperty Address
131136

132-
$item.DNSServer = $props.DnsAddresses `
133-
| where { $_.AddressFamily -eq 'InterNetwork' } `
134-
| select -first 1 -ExpandProperty IPAddressToString
135-
136-
$item.Gateway = $props.GatewayAddresses `
137-
| where { $_.Address.AddressFamily -eq 'InterNetwork' } `
138-
| select -first 1 -ExpandProperty Address
137+
if ($item.Address -or -not $bound)
138+
{
139+
$item.DNSServer = $props.DnsAddresses `
140+
| where { $_.AddressFamily -eq 'InterNetwork' } `
141+
| select -first 1 -ExpandProperty IPAddressToString
139142

140-
$stats = $_.GetIPv4Statistics() | Select -first 1
141-
$item.BytesReceived = $stats.BytesReceived
142-
$item.BytesSent = $stats.BytesSent
143+
$item.Gateway = $props.GatewayAddresses `
144+
| where { $_.Address.AddressFamily -eq 'InterNetwork' } `
145+
| select -first 1 -ExpandProperty Address
143146

144-
$item.Description = $_.Name + ', ' + $_.Description
145-
$item.DnsSuffix = $props.DnsSuffix
146-
if (![String]::IsNullOrWhiteSpace($item.DnsSuffix))
147-
{
148-
$item.Description += (', ' + $item.DnsSuffix)
149-
}
147+
$stats = $_.GetIPv4Statistics() | Select -first 1
148+
$item.BytesReceived = $stats.BytesReceived
149+
$item.BytesSent = $stats.BytesSent
150150

151-
if ($item.Type.ToString().StartsWith('Wireless') -and $SSID -and ($item.BytesReceived -gt 0))
152-
{
153-
$item.Description = (', ' + $SSID)
154-
}
151+
$item.Description = $_.Name + ', ' + $_.Description
152+
$item.DnsSuffix = $props.DnsSuffix
153+
if (![String]::IsNullOrWhiteSpace($item.DnsSuffix))
154+
{
155+
$item.Description += (', ' + $item.DnsSuffix)
156+
}
155157

156-
if (($item.Status -eq 'Up') -and $item.Address -and ($item.BytesReceived -gt 0))
157-
{
158-
if (!$preferred)
158+
if ($item.Type.ToString().StartsWith('Wireless') -and $SSID -and ($item.BytesReceived -gt 0))
159159
{
160-
$preferred = $item
160+
$item.Description = (', ' + $SSID)
161161
}
162162

163-
if (!$preffered.SSID)
163+
if (($item.Status -eq 'Up') -and $item.Address -and ($item.BytesReceived -gt 0))
164164
{
165-
$preferred.SSID = $SSID
165+
if (!$preferred)
166+
{
167+
$preferred = $item
168+
}
169+
170+
if (!$preffered.SSID)
171+
{
172+
$preferred.SSID = $SSID
173+
}
166174
}
167-
}
168175

169-
$items += $item
176+
$items += $item
177+
}
170178
}
171179
}
172180
}
@@ -262,6 +270,9 @@ Begin
262270

263271
function ShowWiFiProfiles
264272
{
273+
Write-Host
274+
Write-Host '... fetching WiFi profiles' -ForegroundColor DarkGray -NoNewline
275+
265276
$path = Join-Path $env:temp 'wxpx'
266277
if (Test-Path $path)
267278
{

0 commit comments

Comments
 (0)