multithreading - 如何多线程 PowerShell Ping 脚本

标签 multithreading powershell ping

我最近完成了一个脚本来 ping 列表中的每台计算机/工作站并以一种很好的格式输出它。

有数千台计算机要 ping 下一个列表,因此需要一段时间才能正常运行。我如何能够多线程处理,以便在合理的时间范围内完成工作?

最佳答案

workflow Ping
{
  param($computers)

    foreach -parallel ($computer in $computers)
    {
        $status = Test-Connection -ComputerName $computer -Count 1 -Quiet

        if (!$status)
            { Write-Output "Could not ping $computer" }
    }
}

$computers = @(
    "wd1600023",
    "sleipnir"
)

Ping $computers

关于multithreading - 如何多线程 PowerShell Ping 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37954004/

相关文章:

java - java中线程没有名字的影响

powershell - 使用Powershell将电子邮件地址添加到AD安全组

powershell - 如何引用列表框项目

c# - 如果需要很多时间,请跳到下一次迭代 c#

vb.net - 检查在线状态,例如通过 ping

c# - 当我到达无法访问的 IP 时,如何更快地 ping?

c# - 使用 SetParent 窃取另一个进程的主窗口但保持消息循环独立

c++ - 如何退出后台线程循环?

node.js - 在node.js中执行 "multithreading"的最佳且有效的方法是什么?

powershell - BAT/POWERSHELL副本(仅)昨天的文件