Powershell 为一个gridview输出运行多个测试连接
如何使用多个Powershell 为一个gridview输出运行多个测试连接,powershell,ping,out-gridview,Powershell,Ping,Out Gridview,如何使用多个测试连接cmdlet并将它们全部放在一个Out GridView中,或者是否有其他解决方案来解决我在这里尝试的问题? 关键是能够一个接一个地ping多个地址,并使其全部显示在同一窗口中。您可以使用以下命令: $tests= Test-Connection -ComputerName $env:COMPUTERNAME $tests+= Test-Connection -ComputerName $env:COMPUTERNAME $tests| Out-GridView 您可以使
测试连接
cmdlet并将它们全部放在一个Out GridView
中,或者是否有其他解决方案来解决我在这里尝试的问题?
关键是能够一个接一个地ping多个地址,并使其全部显示在同一窗口中。您可以使用以下命令:
$tests= Test-Connection -ComputerName $env:COMPUTERNAME
$tests+= Test-Connection -ComputerName $env:COMPUTERNAME
$tests| Out-GridView
您可以使用以下命令:
$tests= Test-Connection -ComputerName $env:COMPUTERNAME
$tests+= Test-Connection -ComputerName $env:COMPUTERNAME
$tests| Out-GridView
将IP地址(或主机名)列表输入每个地址的
ForEach对象
循环运行测试连接
,然后将结果导入输出网格视图
:
$addr = '192.168.1.13', '192.168.23.42', ...
$addr | ForEach-Object {
Test-Connection $_
} | Out-GridView
请注意,这可能非常耗时,具体取决于要检查的地址数,因为所有地址都是按顺序检查的
如果需要加快处理大量地址的速度,例如,可以并行运行检查:
但是,过多的并行可能会耗尽系统资源。根据您要检查的地址数量,您可能需要在顺序运行和并行运行之间找到一些中间地带,例如使用。将您的IP地址(或主机名)列表馈送到每个对象的
循环中,为每个地址运行测试连接,然后将结果导入Out GridView
:
$addr = '192.168.1.13', '192.168.23.42', ...
$addr | ForEach-Object {
Test-Connection $_
} | Out-GridView
请注意,这可能非常耗时,具体取决于要检查的地址数,因为所有地址都是按顺序检查的
如果需要加快处理大量地址的速度,例如,可以并行运行检查:
但是,过多的并行可能会耗尽系统资源。根据您要检查的地址数量,您可能需要在顺序运行和并行运行之间找到一些中间点,例如使用。测试连接。
可以获取一组计算机名称或地址并ping它们。它将为每台计算机上的每个ping返回一行,但您可以使用-Count
参数将其限制为1 ping。您还可以使用-AsJob
将命令作为后台作业运行
$names = server1,server2,serverN
Test-Connection -ComputerName $names -Count 1 -AsJob | Wait-Job | Receive-Job
您将返回显示为的Win32_PingStatus对象列表
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
如果时间列(ResponseTime属性)为空,则没有ping replay,服务器处于脱机状态。你可以在这上面过滤 测试连接
可以获取一组计算机名称或地址并ping它们。它将为每台计算机上的每个ping返回一行,但您可以使用-Count
参数将其限制为1 ping。您还可以使用-AsJob
将命令作为后台作业运行
$names = server1,server2,serverN
Test-Connection -ComputerName $names -Count 1 -AsJob | Wait-Job | Receive-Job
您将返回显示为的Win32_PingStatus对象列表
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
如果时间列(ResponseTime属性)为空,则没有ping replay,服务器处于脱机状态。你可以在这上面过滤 @ThomErnst:你的wellcome@ThomErnst当前位置您的好这一个很好,它使编写脚本变得更小,非常感谢!这是一个很好的,它使编写脚本更小,非常感谢!