Powershell获取所有可停止的服务 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' }

原文地址:Finding All Stoppable Services

本文链接: https://www.pstips.net/finding-all-stoppable-services.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

3 条评论 “Powershell获取所有可停止的服务