gpt4 book ai didi

powershell - 如何使用Get-Command查找与一组过滤器匹配的命令?

转载 作者:行者123 更新时间:2023-12-02 23:23:26 25 4
gpt4 key购买 nike

我对Powershell相当陌生。我已经完成搜索并检查了stackoverflow和 super 用户。甚至我的移动应用程序和价格适中的教科书都什么也没说。

有没有一种简单的方法可以应用多个我不了解的选项/过滤器。还是有一个我不知道的术语意味着选项/过滤器?

我一直在尝试使用:

get-command -commandtype cmdlet -and -verb add
get-command -commandtype cmdlet| -verb add
get-command -commandtype cmdlet|get-command -verb add

这些都不带回正确的 list 。最后一个带回一些东西,但它总是随机的,只有一些适当的结果。

我会对任何回应感兴趣。如果您是一位可以简单,简洁地提供帮助的强大Powershell用户,则非常有兴趣。

提前致谢。

最佳答案

Get-Command -Verb Add

将向您显示所有名称以 Add-开头的cmdlet和函数。

如果要将输出限制为仅cmdlet,请改用通配符模式 Add-*和(暗示的) -Name参数:
Get-Command -CommandType cmdlet Add-*

效率较低,基于管道的等效项将是:
Get-Command -CommandType cmdlet | ? Verb -eq 'Add' # '?' is an alias for 'Where-Object'

能够将 -CommandType和带有 Cmdlet参数的 -Verb的特定值组合在一起是有意义的,但当前的语法(从PSv5.1开始)不允许这样做,如 Get-Command -?的输出(部分)所示:
Get-Command [[-Name] <String[]>] [[-ArgumentList] <Object[]>] [-All] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript | Application | 
Script | Workflow | Configuration | All}] [-FullyQualifiedModule <ModuleSpecification[]>] [-ListImported] [-Module <String[]>] [-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>] [-ShowCommandInfo] [-Syntax] [-TotalCount <Int32>] [<CommonParameters>]

Get-Command [[-ArgumentList] <Object[]>] [-All] [-FullyQualifiedModule <ModuleSpecification[]>] [-ListImported] [-Module <String[]>] [-Noun <String[]>]
[-ParameterName <String[]>] [-ParameterType <PSTypeName[]>] [-ShowCommandInfo] [-Syntax] [-TotalCount <Int32>] [-Verb <String[]>] [<CommonParameters>]

上面的每个段落都代表一个所谓的参数集,如您所见, -Verb-Name位于不同的参数集中,这意味着您不能将它们用作同一命令行的一部分。

至于 您尝试了什么:
  • get-command -commandtype cmdlet -and -verb add
  • 命令采用参数列表(参数值)-解释取决于目标命令;不支持使用 bool(boolean) 运算符(例如-and)将它们组合在一起。
    bool(boolean) 运算符只能在表达式中使用,而不能在命令中使用。
  • get-command -commandtype cmdlet| -verb add
  • 您只能使用管道来传递命令(cmdlet,函数,别名,外部实用程序及其参数)-在您的情况下,-verb解释为命令名称,显然会失败。
  • get-command -commandtype cmdlet|get-command -verb add
  • 使用get-command -commandtype cmdlet检索所有cmdlet的方法,不需要第二个get-command实例来进一步过滤结果-而是按第一个get-command调用输出的对象的属性进行过滤,如上所述。
  • 关于powershell - 如何使用Get-Command查找与一组过滤器匹配的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43174198/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com