0

具体来说,我需要知道Restart-Service cmdlet 是如何工作的。
例如,当我写作时

Restart-Service myservice1, myservice2

我想知道它是如何流动的。
它是在重新启动它们之前停止这两个服务还是一个接一个地重新启动它们?

一般来说,无论如何都可以看到 cmdlet 中的编码?

4

2 回答 2

4

您可以尝试使用dotPeek之类的工具查看模块库。对于该 cmdlet,源代码是可见的(至少是 dotPeek 的版本。我不是程序员,所以我不知道这是否是 100% 正确的代码)。至少它表明它在 foreach 循环中停止服务,然后启动它。我不打算发布代码,因为我不知道这是多么合法。:)

您还可以查看 Microsoft Technet 上提供的文档。

Restart-Service cmdlet 旨在停止然后重新启动指定的服务。(如果服务已经停止,那没关系:在这种情况下,Restart-Service 将简单地启动服务。)对于存在内存泄漏并且需要定期停止然后重新启动的服务,这是一个特别有用的 cmdlet;Restart-Service 可以通过一个命令来处理这两个功能。

资料来源:Technet

于 2013-05-12T09:56:12.273 回答
0

总是很好阅读文档,但像往常一样,YMMV。不精确的语言很快就会变得很滑,糟糕的假设也没有乐趣。当我在说教时,魔鬼在细节中。

因此,测试永远不会受到伤害。您可以尝试get-wmiObject win32_service在 restart-service 在另一个窗口中执行其操作时运行。Gwmi 只是因为 get-service 可能太慢了。可能有点矫枉过正,但测试似乎可以在单个脚本中进行,可能带有 start-job 和 get-date。

于 2013-05-13T04:04:25.950 回答