欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-14 08:01:29
适用于ps3.0及以后版本。 get-service能够显示你电脑上所有已安装的服务。可是没有哪个参数是获取仅运行或停止的服务。 配合简单的where-object语句...

适用于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' }