具体来说,我需要知道重新启动服务 cmdlet的工作原理 例如,当我写作时
Restart-Service myservice1, myservice2
我想知道它是如何流动的 它是在重新启动它们之前停止它们还是一个接一个地重新启动它们?
一般来说,有没有看到cmdlet中的编码?
答案 0 :(得分:4)
您可以尝试使用dotPeek等内容查看模块库。对于该cmdlet,源是可见的(至少是dotPeek的版本。我不是程序员,所以我不知道这是否是100%正确的代码)。至少它表明它在foreach循环中停止服务,然后启动它。我不打算发布代码,因为我不知道它是多么合法。 :)
您还可以查看Microsoft Technet上提供的文档。
Restart-Service cmdlet旨在停止然后重新启动 指定的服务。 (如果服务已经停止,那就是 好的:在这种情况下重新启动 - 服务只会启动服务。)这 对于具有内存泄漏的服务,它是一个特别有用的cmdlet 并定期需要停止然后重新启动; Restart-Service可以使用单个功能来处理这两个功能 命令。
答案 1 :(得分:0)
总是很好阅读文档,但像往常一样,YMMV。不精确的语言很快就会变得很滑,糟糕的假设并不好玩。虽然我在说教,但魔鬼却在细节中。
所以测试永远不会伤害。您可以尝试运行get-wmiObject win32_service
,而restart-service在另一个窗口中执行它的操作。 Gwmi只是因为get-service可能太慢了。可能是矫枉过正,但测试似乎在单个脚本中可以使用,可能有启动作业和获取日期。