删除Windows服务,然后使用powershell重新安装它

时间:2018-04-09 14:27:44

标签: powershell windows-services

如何使用powershell删除服务,然后立即重新安装?

我现在正在尝试的事情:

  • 使用sc.exe stop" servicename"
  • 之后我做sc.exe删除" servicename"
    • 有时这实际上会返回一个错误,说服务被标记为删除
  • 之后,我得到了服务" servicename"再次查看服务是否已删除
    • 这不起作用,因为它说服务仍然存在

据我所知,所有服务窗口都已关闭,服务器管理,任务管理器等都已关闭。但是,即使应该删除服务,get-service也会一致地返回服务。

有一种神奇的方法可以在一个脚本中完全删除/重新安装服务吗?

2 个答案:

答案 0 :(得分:0)

这应该有效。或者你可以使用&&如果第一个cmdlet成功,则仅运行new-service。

  Remove-Service $service; New Service $service

答案 1 :(得分:0)

我们使用的脚本可能会添加服务句柄,这意味着在脚本运行完成之前它不会删除。我拆分了额外的检查以查看服务是否实际上被删除到另一个Powershell进程中,它现在似乎正确删除...