[玩转系统] 如何在 PowerShell 中使用 Test-NetConnection
作者:精品下载站 日期:2024-12-14 03:40:37 浏览:16 分类:玩电脑
如何在 PowerShell 中使用 Test-NetConnection
您是否知道 ping 命令已有 38 年历史,比命令提示符还要古老?您可能已经用 PowerShell 替换了日常工具集中的命令提示符。因此,现在是时候用 PowerShell Test-NetConnection 替换 ping 命令了。
ping 的优点是输入的命令非常短,但缺点是它仅测试通过 ICMP 的网络连接。它不进行任何跟踪或端口测试。大多数时候,我们需要将 ping 命令与 Tracert 和 nslookup 结合起来,以获取我们需要的所有详细信息。
Test-NetConnection 是 PowerShell Test-Connection cmdlet 的后继者。后者是取代 ping 命令的第一步,具有一些优点。 Test-NetConnection 功能更强大,应该是解决网络问题时的首选工具。
PowerShell 测试连接
在了解如何在 PowerShell 中使用 Test-NetConnection cmdlet 之前,让我们先快速浏览一下 Test-Connection
。
就像 ping 一样,使用 Test-Connection 也是 ICMP 协议来测试网络设备的网络连接性。在最简单的形式中,您可以键入 Test-Connection
或 来执行快速连接测试。
# Check connection on IP Address
Test-Connection 8.8.8.8
Source Destination IPV4Address Bytes Time(ms)
------ ----------- ----------- ------- ----
lab01 8.8.8.8 8.8.8.8 32 12
lab01 8.8.8.8 8.8.8.8 32 13
lab01 8.8.8.8 8.8.8.8 32 12
lab01 8.8.8.8 8.8.8.8 32 12
# Check connection on DNS Name
Test-Connection google.com
但我们当然可以做得更多。例如,我们可以使用一个命令测试多个目的地:
Test-Connection -ComputerName 8.8.8.8, 1.1.1.1
或者指定跳数、缓冲区大小等参数,甚至在 ping 之间添加延迟:
Test-Connection -ComputerName 8.8.8.8 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256
测试远程计算机
我们还可以使用 Test-Connection 在远程计算机的 PowerShell 中测试网络连接。唯一的要求是您的帐户有权访问远程计算机。
Test-Connection -Source srv-lab02 -ComputerName 8.8.8.8
您还可以键入 tnc 而不是 Test-NetConnecting。
例如,您可以输入:tnc 8.8.8.8
来 ping Google。PowerShell 测试与服务器的连接
PowerShell Test-Connection 的另一个有用功能是它可以返回 $true
或 $false
。这允许您在连接到计算机之前检查计算机是否可用。如果 4 个 ping 中的任何一个成功,Test-Connect 将返回 $true
。
if (Test-Connection -TargetName srv-lab02 -Quiet) { New-PSSession -ComputerName srv-lab02}
PowerShell 测试-NetConnection
Test-NetConnection cmdlet 是 Test-Connection 的后继者,因此基本功能都是相同的,只是输出更详细。我们仍然可以对 Google 进行快速 ping:
# Test the network connection to Google
Test-NetConnection 8.8.8.8
ComputerName : 8.8.8.8
RemoteAddress : 8.8.8.8
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.82
PingSucceeded : True
PingReplyDetails (RTT) : 9 ms
正如您所看到的,结果更加详细。它将显示所使用的接口、源 IP 地址以及 ping 是否成功。我们甚至可以通过添加 informationLevel "Detailed"
开关来扩展它。
将informationLevel
设置为detailed后,它基本上会对目标地址进行nslookup,并在查找中添加第一跳。
test-netconnection Google.com -InformationLevel "Detailed" ComputerName : Google.com RemoteAddress : 172.217.17.78 NameResolutionResults : 172.217.17.78 InterfaceAlias : Wi-Fi SourceAddress : 192.168.1.82 NetRoute (NextHop) : 192.168.1.1 PingSucceeded : True PingReplyDetails (RTT) : 6 ms
当您运行不带任何参数的 Test-NetConnection 时,您可以在 PowerShell 中执行快速网络连接测试。这样我们就可以检查是否已连接到本地网络、是否可以访问互联网以及是否能够解析 DNS 名称。
❯ Test-NetConnection
ComputerName : internetbeacon.msedge.net
RemoteAddress : 13.107.4.52
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.82
PingSucceeded : True
PingReplyDetails (RTT) : 10 ms
带有 Test-NetConnection 的 PowerShell TraceRoute
通过 PowerShell 中的 Test-NetConnection cmdlet,我们还可以执行traceroute。您只需将 traceroute
参数添加到 cmdlet 即可。
# PowerShell TraceRoute with Test-NetConnection
Test-NetConnection 172.217.17.87 -traceRoute
将 Traceroute 参数添加到 PowerShell Test-NetConnection cmdlet 后,您将获得 ping 期间传递的每个跃点的列表。您可以使用 hops
参数限制要跟踪的跃点数量。
要测试每一跳的延迟,可以选择TraceRoute对象,并测试每一跳的连接:
Test-NetConnection 172.217.17.78 -traceRoute -Hops 3 | select-object TraceRoute | foreach-object {test-connection $_.TraceRoute -count 1}
Powershell端口扫描
在 Windows 中,我们无法真正使用 ping cmdlet 来 ping 端口。我们可以使用 telnet 来测试端口是否响应,但使用 Test-NetConnection 我们可以更轻松地在 PowerShell 中扫描端口。
我们可以定义要测试的任何 TCP 端口,或使用常见端口 HTTP、RDP、SMB 或 WINRM 之一。
# Test if HTTP port is open
Test-NetConnection google.com -CommonTCPPort "Http"
# Or define a port number
Test-NetConnection google.com -Port 80
这样,我们就可以创建一个简单的 PowerShell 端口扫描脚本来检查服务器上的开放端口。下面的脚本旨在让您了解如何使用 PowerShell 扫描多个端口。
$ports = 22,53,80,445
$ports | ForEach-Object {$port = $_; if (Test-NetConnection -ComputerName 8.8.8.8 -Port $port -InformationLevel Quiet -WarningAction SilentlyContinue) {"Port $port is open" } else {"Port $port is closed"} }
总结
正如您所看到的,PowerShell Test-NetConnection 是一个非常强大且有用的 cmdlet,可在您的日常工作中使用。在文章开头,我提到 ping 的输入时间更短。您可以通过在 PowerShell 配置文件中创建别名或使用内置别名 tnc
来解决此问题。
# Create an alias "nettest" or maybe just "tn"
Set-Alias nettest Test-NetConnection
这样您就可以简单地键入“nettest”而不是 Test-NetConnection。在本文中阅读有关设置 PowerShell 配置文件的更多信息。
如果您有任何疑问,请在下面发表评论。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag