首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查是否存在Windows服务并在PowerShell中删除

检查是否存在Windows服务并在PowerShell中删除
EN

Stack Overflow用户
提问于 2011-02-11 17:39:14
回答 11查看 225K关注 0票数 162

我目前正在编写一个部署脚本,用于安装许多Windows服务。

服务名称是版本化的,因此我希望在安装新服务时删除以前的Windows服务版本。

我怎样才能最好地在PowerShell中做到这一点?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-02-11 18:07:24

您可以使用WMI或其他工具来完成此任务,因为直到Powershell6.0 (See Remove-Service doc) )才有Remove-Service cmdlet

例如:

代码语言:javascript
复制
$service = Get-WmiObject -Class Win32_Service -Filter "Name='servicename'"
$service.delete()

或者使用sc.exe工具:

代码语言:javascript
复制
sc.exe delete ServiceName

最后,如果您确实拥有PowerShell 6.0的访问权限:

代码语言:javascript
复制
Remove-Service -Name ServiceName
票数 271
EN

Stack Overflow用户

发布于 2011-02-11 19:58:28

使用合适的工具来完成这项工作没什么坏处,我发现(从Powershell)

代码语言:javascript
复制
sc.exe \\server delete "MyService" 

没有太多依赖项的最可靠的方法。

票数 131
EN

Stack Overflow用户

发布于 2012-06-13 22:18:51

如果您只想检查服务是否存在:

代码语言:javascript
复制
if (Get-Service "My Service" -ErrorAction SilentlyContinue)
{
    "service exists"
}
票数 91
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4967496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档