如何根据启动类型对服务进行排序

How to sort services based on their Startup type

以下命令按我预期的方式工作:

Get-Service | Where-Object {$_.status -eq 'running'}

但是这个没有:

Get-Service | Where-Object {$_.startmode -eq 'manual'}

谁能解释这是为什么? 如何根据服务的启动类型对服务进行排序?

我认为这就像访问正确的 属性 一样简单。获取服务 returns ServiceController 个对象的数组。您要查找的 属性 名为 StartType。所以
Get-Service | Where-Object {$_.Starttype -eq 'Manual'}
应该让你得到你正在寻找的东西。

如果您需要查看给定对象的所有属性和方法,您可以随时将其通过管道传输到 Get-Member

所以在这种情况下你可以这样
Get-Service | select -First 1 | Get-Member

这是从列表中获取 ServiceController 的第一个实例,并向您展示所有成员属性和方法。

此外,如果您刚刚起步,我建议您阅读书籍或博客系列,它们将为您打下良好的基础,这样您就不会花太多时间在脑子里乱撞。 Learn Windows PowerShell in a Month Lunches 非常适合系统管理员学习 powershell。