当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 测试远程连接

作者:精品下载站 日期:2024-12-14 20:49:28 浏览:13 分类:玩电脑

使用 PowerShell 测试远程连接


Ping 设备是任何系统管理员的基本技能,我们都知道 ping.exe 命令,但您听说过 PowerShell 命令 Test-Connection测试网络连接?这是 PowerShell 向老式 ping.exe 命令注入类固醇的方式!让我们在这篇博文中使用一些 PowerShell 来测试远程连接等。

在 PowerShell 中对计算机执行 Ping 操作确实很容易,但有一组选项可以真正使其变得有用,并且远远超出 ping 的范围。

PowerShell 化 Ping?

尽管老式 ping 是一个遗留工具,但它仍然存在,并且可以像任何其他 cmd 实用程序一样使用 PowerShell 调用。它可以通过键入 ping 直接执行,也可以使用 Invoke-Expression cmdlet 调用 ping.exe 但这只是给猪涂口红而已。

PS51> Invoke-Expression -Command "ping.exe google.com"

这可行,您将得到正常的 ping 结果,但它有点笨拙,您得到的只是 ping 命令的文本输出。让我们使用本机 PowerShell cmdlet Test-Connection 来代替。

测试连接

PS51> Test-Connection www.google.com

这是在 PowerShell 中更原生的方式,它返回一个对象,而不仅仅是 ping.exe 的文本输出。

如果将来自 PowerShell Test-Connection cmdlet 的对象通过管道传输到 Select-Object -Property *,我们会获得大量有用的信息。

PS51> Test-Connection www.google.com | Select-Object -Property *

[玩转系统] 使用 PowerShell 测试远程连接

与任何优秀的 PowerShell cmdlet 一样,我们有开关,因此我们可以设置诸如 Count 的尝试次数、BufferSize 的数据包大小和 Delay > 定义每次尝试之间的延迟,并使用 PowerShell 像老板一样测试远程连接。

PS51> Test-Connection www.google.com -Count 2 -BufferSize 128 -Delay 3

您还可以使用许多其他参数,但我不会一一介绍它们。但有一些参数很有用,例如 Source。通过 Source 参数,可以使用 PowerShell Test-Connection cmdlet 连接到网络上的其他计算机并从那里发起连接尝试。

PS51> Test-Connection -Source "LocalHost", "TestVM01", "TestVM02" -ComputerName "www.google.com"

输出显示了源列表中主机的所有结果,在一个包含对象的漂亮整洁的表中。如果您的网络很复杂,并且您和目标之间有很多防火墙,那么这尤其有用。只要您可以到达这些源计算机,那么您就可以从那里测试任何连接。

Quiet 参数则相反,给出一个非常简单的真/假结果。在 if 语句中使用它时,这非常有用。

PS51> Test-Connection www.google.com -Quiet

如果您有很多目标要测试,那么 AsJob 参数可能有助于将列表放入后台作业并使用 Get-Job | 获取结果。接收作业。

PS51> Test-Connection google.com -count 10 -AsJob
PS51> Get-Job | Receive-Job

测试网连接

另一个值得关注的 cmdlet 是 Test-NetConnection。 Test-NetConnection cmdlet 可以测试与设备的连接,与 PowerShell Test-Connection cmdlet 非常相似,但它更侧重于网络。从最简单的意义上来说,它给出的结果大致相同。

PS51> Test-NetConnection www.google.com

同样,此 cmdlet 具有大量非常有用的参数,例如 Port 来测试远程端口是否打开。

PS51> Test-NetConnection www.google.com -Port 80

使用 TraceRoute 参数,您可以执行与使用 tracert.exe 相同的操作,但输出是一个 PowerShell 对象,其中包含到目标的路由上的每个跃点。

PS51> Test-NetConnection www.google.com -TraceRoute

同样,如果您想在 if 语句中使用 PowerShell cmdlet Test-NetConnection 来测试设备是否打开了端口 80,您可以使用 -InformationLevel Quiet 参数/值,为您提供简单的真/假测试结果。

PS51> Test-NetConnection www.google.com -port 80 -InformationLevel Quiet

如果您想要使用这些 cmdlet 的高级示例,我强烈建议您查看这篇文章“一体化 PowerShell 服务器端口测试工具”。

概括

无论您选择使用 PowerShell Test-Connection cmdlet 还是 Test-NetConnection cmdlet,我们都能满足您的需求!使用这些 cmdlet 中的一个或两个将允许您使用 PowerShell 以多种不同方式毫无问题地测试远程连接!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯