脚本专栏 
首页 > 脚本专栏 > 浏览文章

Powershell获取系统中所有可停止的服务

(编辑:jimmy 日期: 2025/1/9 浏览:3 次 )

适用于PS3.0及以后版本。

Get-Service能够显示你电脑上所有已安装的服务。可是没有哪个参数是获取仅运行或停止的服务。

配合简单的Where-Object语句,才可以解决这个问题。通常代码如下:
复制代码 代码如下:
PS> Get-Service | Where-Object Status -eq Running

基本上,Where-Object可以获得对象的任何属性并让你选择所需的条件。
如果你计划得到所有可停止的服务,则上面代码将做不到。有些服务可能在运行,但是不能够停止。通过修改,也是可以做到的。下面将产生一个列表显示可停止的服务。
复制代码 代码如下:
PS> Get-Service | Where-Object CanStop 

这里其实简化了,“CanStop”是一个布尔值(真或假),所以不再需要跟表达式。
所以要反向获取不能停止的服务,格式如下:
复制代码 代码如下:
PS> Get-Service | Where-Object CanStop -eq $false

当然也可以结合使用,格式如下:
复制代码 代码如下:
PS> Get-Service | Where-Object { !$_.CanStop -and $_.Status -eq 'Running' }

上一篇:Powershell实现获取电脑序列号功能脚本分享
下一篇:PowerShell中读取多行文本示例
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。