Powershell:在everyones PC上尽快启动程序

Powershell:在everyones PC上尽快启动程序,powershell,parallel-processing,execution,launch,Powershell,Parallel Processing,Execution,Launch,我有一个程序,我需要以尽可能快的速度并行执行大约200台电脑的列表。但是,启动此脚本时,程序至少需要30秒才会出现 这是用于胁迫报警(如持枪歹徒等),因此需要尽快向每个人的机器发射 下面是我目前正在使用的脚本,但至少需要30秒才能启动。有人能告诉我如何加快速度吗 谢谢 Get-Content "C:\remotecommand\psexec\computers.txt" | %{ # Define what each job does $ScriptBlock = { C:\r

我有一个程序,我需要以尽可能快的速度并行执行大约200台电脑的列表。但是,启动此脚本时,程序至少需要30秒才会出现

这是用于胁迫报警(如持枪歹徒等),因此需要尽快向每个人的机器发射

下面是我目前正在使用的脚本,但至少需要30秒才能启动。有人能告诉我如何加快速度吗

谢谢

Get-Content "C:\remotecommand\psexec\computers.txt"  | %{

# Define what each job does

  $ScriptBlock = {
    C:\remotecommand\psexec\PsExec.exe -s -i -d \\$args "C:\Windows\DURESS ALARM.exe"
    #Start-Sleep 15
  }

  # Execute the jobs in parallel

  Write-Host $ScriptBlock
  Start-Job $ScriptBlock -ArgumentList $_
}

Get-Job

# Wait for it all to complete

While (Get-Job -State "Running")
{
  Start-Sleep 10
}

# Getting the information back from the jobs

Get-Job | Receive-Job

当我在自己的本地机器上启动Powershell时,大约需要10-15秒。您期望PSExec(这会增加开销)和网络远程访问(这也会增加开销)的性能比可能的要好。Powershell和PSExec是用于此任务的错误工具。我需要在10秒内从每小时0-60英里加速。我选择了一辆自卸车作为我的车,车上装载了3吨石头。为什么进展不够快?我同意@KenWhite的观点,这不是适合这份工作的工具。事实上,我认为这不应该是一个更可靠的系统的备份(也就是说,不依赖于网络,系统不在重新启动的时候,等等)。话虽如此,如果您想要这样更快的东西,您可能需要在每台PC上运行一个系统服务,用于监听来自专用客户端应用程序的传入请求。我不想轻描淡写可能发生的悲惨情况,但我很高兴我住在一个我最不需要为“持枪歹徒”编写代码的地方。我会在引导时在每台机器上启动一个进程,等待信号量,然后显示警报。然后当警报发生时,只需发出信号量,所有等待的机器就会显示警报。