PowerShell 技能连载 - 检查网络连接

如果您的机器通过不同网络连接,连到了 internet(或 VPN),以下两个函数可能对您有用。

Get-ActiveConnection 列出当前所有获取到 IP 地址的网络连接。Test-ActiveConnection 接受一个关键字并检查是否有一个名字中包含该关键字的活动连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function Get-ActiveConnection
{
Get-WmiObject -Class Win32_NetworkAdapterConfiguration |
Where-Object { $_.IPAddress } |
Select-Object -ExpandProperty Description
}

function Test-ActiveConnection
{
param([Parameter(Mandatory)]$Keyword)


@(Get-WmiObject -Class Win32_NetworkAdapterConfiguration |
Where-Object { $_.IPAddress } |
Where-Object { $_.Description -like "*$Keyword*" }).Count -gt 0

}

以下是一个快速的演示输出:

1
2
3
4
5
6
7
8
9
10
PS> Get-ActiveConnection
Dell Wireless 1820A 802.11ac

PS> Test-ActiveConnection dell
True

PS> if ( (Test-ActiveConnection dell) ) { Write-Warning "Connected via DELL network card" }
WARNING: Connected via DELL network card

PS>

本文国际来源:Checking Network Connections

评论