我正在编写一些 powershell 代码来并行启动许多内部开发的 Windows 服务。这些服务不依赖于其他服务,我在循环中运行 Start-Service 命令,每个 Start-Service 调用产生一个 PSJob。
但是,在查看了服务控制管理器生成的事件之后,似乎任何时候都只有一个服务处于启动状态。
完全承认我可能弄乱了 powershell 代码,但我想我会检查一下这里没有基本的 Windows (Server 2003) 限制(即一次只启动一项服务)。
Daniel
cls
$Services = $('Service1', 'Service2', 'Service3')
foreach($Service in $Services) {
Start-Job -ScriptBlock {
Param($ServiceName)
启动服务 $ServiceName
} -ArgumentList $Service
}
Get-Job | Wait-Job | Receive-Job<br/>