我们正在使用 stop-service cmdlet 来终止我们机器上的一些服务。大多数情况下它运行良好,但是我们有一两个服务(谁没有?)偶尔表现不佳。
在这种情况下,有问题的服务之一将保持停止状态,并且 cmdlet 一遍又一遍地将其输出到控制台:
[08:49:21]WARNING: Waiting for service 'MisbehavingService (MisbehavingService)' to finish
[08:49:21]stopping...
[08:49:23]WARNING: Waiting for service 'MisbehavingService (MisbehavingService)' to finish
[08:49:23]stopping...
[08:49:25]WARNING: Waiting for service 'MisbehavingService (MisbehavingService)' to finish
[08:49:25]stopping...
最终我们必须在任务管理器中终止服务,然后我们的脚本继续。
有没有办法让 stop-service cmdlet 在某个点之后放弃或超时?我想我们可以事后检查,如果服务仍在运行,请使用 kill-process cmdlet 提供最终结果。