Powershell列出了所有名为“创建”的方法

时间:2019-05-12 20:38:45

标签: powershell syntax

作为Powershell学习的一部分,我试图过滤所有工作区中所有名为“ Create”的方法。

我有一条似乎列出所有方法的命令,但是当我将下面的输出通过管道输送到-Filterwhere时,我无法在'Create'上进行过滤。

我在这里做什么错了?

Get-WmiObject * -List | Where-Object {$_.methods} | select -ExpandProperty Methods

使用-Filter

PS C:\Windows\system32> Get-WmiObject * -List | Where-Object {$_.methods} | select -ExpandProperty Methods | -Filter
-Filter : The term '-Filter' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:86
+ ...  Where-Object {$_.methods} | select -ExpandProperty Methods | -Filter
+                                                                   ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-Filter:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

select where

PS C:\Windows\system32> Get-WmiObject * -List | Where-Object {$_.methods} | select -ExpandProperty Methods | select name
 -eq "Create"
Select-Object : A parameter cannot be found that matches parameter name 'eq'.
At line:1 char:98
+ ... _.methods} | select -ExpandProperty Methods | select name -eq "Create ...
+                                                               ~~~
    + CategoryInfo          : InvalidArgument: (:) [Select-Object], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand

1 个答案:

答案 0 :(得分:2)

如果您要列出实际的Create 方法本身

Get-WmiObject -List |
  Select-Object -ExpandProperty Methods |
    Where-Object Name -eq Create

相比之下,如果要列出具有Create方法的

Get-WmiObject -List | Where-Object { $_.Methods.Name -contains 'Create' }

关于您尝试过的事情

  • -Filter是一个参数,但是您尝试将其用作命令。鉴于没有论据,还不清楚您要过滤的什么

  • select name -eq "Create"错误地将Where-Object语法应用于Select-Objectselect)cmdlet。

两次尝试:

  • 不需要使用Where-Object {$_.methods},因为
    Select-Object -ExpandProperty Methods调用将自动忽略无方法类。

  • -List本身就足以列出所有类别。不需要通配符*