如何在 PowerShell 中基于多个条件参数获取服务?


要过滤掉启动类型为 “自动”并且状态为 “已停止” 的服务,我们需要使用 -AND 比较运算符。在此,仅当两个条件都匹配时,才会显示服务。

命令

Get-Service | where{($_.StartType -eq "Automatic") -and ($_.Status -eq "Stopped")} |
Select Name, StartType, Status

输出

Name       StartType  Status
----       ---------  ------
gpsvc      Automatic Stopped
gupdate    Automatic Stopped
MapsBroker Automatic Stopped

命令

要获取启动类型为 手动或已禁用 的服务,将使用 -OR 运算符。

Get-Service | where{($_.StartType -eq "Manual") -or ($_.StartType -eq "Disabled")} |
Sort-Object Starttype | Select Name, StartType, Status

输出

LxpSvc                                                    Manual Stopped
lmhosts                                                   Manual Running
KtmRm                                                     Manual Stopped
IpxlatCfgSvc                                              Manual Stopped
FontCache3.0.0.0                                          Manual Running
KeyIso                                                    Manual Running
klvssbridge64_20.0                                        Manual Stopped
UevAgentService                                         Disabled Stopped
tzautoupdate                                            Disabled Stopped
NetTcpPortSharing                                       Disabled Stopped
ssh-agent                                               Disabled Stopped
shpamsvc                                                Disabled Stopped
RemoteRegistry                                          Disabled Stopped
AppVClient                                              Disabled Stopped
svcdemo                                                 Disabled Stopped

更新日期: 2020 年 1 月 22 日

533 次观看

开启你的 职业生涯

完成课程获得认证

立即开始
广告