我正在编写一些PowerShell代码来并行启动一些内部开发的Windows服务。这些服务不依赖于其他服务,我在每个Start-Service调用中生成PSJob的循环中运行Start-Service命令。
但是,在查看服务控制管理器生成的事件后,似乎任何时候只有一个服务处于启动状态
完全承认我可能搞砸了powershell代码,但我想我会检查一下这里没有基本的Windows(Server 2003)限制(即一次只启动一个服务)。
丹尼尔
CLS
$ Services = $('Service1','Service2','Service3')
foreach($服务$服务){
Start-Job -ScriptBlock {
参数($服务名称)
Start-Service $ ServiceName
} -ArgumentList $ Service
}
Get-Job | Wait-Job | Receive-Job<br/>
答案 0 :(得分:0)
如果有匿名联系人在我的Windows源代码中查找,答案是任何时候只能启动一项服务。这是由SCM强制执行的,在启动服务之前对服务数据库进行全局锁定。