以下命令按预期工作:
Get-Service | Where-Object {$_.status -eq 'running'}
然而,这不是:
Get-Service | Where-Object {$_.startmode -eq 'manual'}
有人可以解释为什么会这样吗? 如何根据服务的启动类型对服务进行排序?
答案 0 :(得分:1)
我认为这就像访问正确的属性一样简单。 Get-Service返回一组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非常适合系统管理员学习权力。