我目前正在编写一个部署脚本,用于安装许多Windows服务。
服务名称是版本化的,因此我希望在安装新服务时删除以前的Windows服务版本。
我怎样才能最好地在PowerShell中做到这一点?
发布于 2011-02-11 18:07:24
您可以使用WMI或其他工具来完成此任务,因为直到Powershell6.0 (See Remove-Service doc) )才有Remove-Service
cmdlet
例如:
$service = Get-WmiObject -Class Win32_Service -Filter "Name='servicename'"
$service.delete()
或者使用sc.exe
工具:
sc.exe delete ServiceName
最后,如果您确实拥有PowerShell 6.0的访问权限:
Remove-Service -Name ServiceName
发布于 2011-02-11 19:58:28
使用合适的工具来完成这项工作没什么坏处,我发现(从Powershell)
sc.exe \\server delete "MyService"
没有太多依赖项的最可靠的方法。
发布于 2012-06-13 22:18:51
如果您只想检查服务是否存在:
if (Get-Service "My Service" -ErrorAction SilentlyContinue)
{
"service exists"
}
https://stackoverflow.com/questions/4967496
复制相似问题