Find-Command

查找模块中的 PowerShell 命令。

语法

Find-Command
    [[-Name] <String[]>]
    [-ModuleName <String>]
    [-MinimumVersion <String>]
    [-MaximumVersion <String>]
    [-RequiredVersion <String>]
    [-AllVersions]
    [-AllowPrerelease]
    [-Tag <String[]>]
    [-Filter <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-Repository <String[]>]
    [<CommonParameters>]

说明

Find-Command cmdlet 查找 PowerShell 命令,例如 cmdlet、别名、函数和工作流。 Find-Command 在已注册的存储库中搜索模块。

这是 Microsoft.PowerShell.PSResourceGet 中 cmdlet 的代理 Find-PSResource cmdlet。 有关详细信息,请参阅 Find-PSResource

示例

示例 1:按名称查找命令

Find-Command 可以使用命令的名称在存储库中查找模块。 命令名称可能存在于多个 ModuleName 中

Find-Command -Repository PSGallery -Name Get-TargetResource

Name                  Version    ModuleName                      Repository
----                  -------    ----------                      ----------
Get-TargetResource    3.1.0.0    xPowerShellExecutionPolicy      PSGallery
Get-TargetResource    1.0.0      xInternetExplorerHomePage       PSGallery
Get-TargetResource    1.2.0.0    SystemLocaleDsc                 PSGallery

Find-Command 使用 Repository 参数搜索 PSGalleryName 参数指定命令 Get-TargetResource

示例 2:按名称查找命令并安装模块

Find-Command 可以找到 命令和模块,然后将 对象发送到 Install-Module。 如果命令包含在多个模块中,请使用 Find-Command cmdlets ModuleName 参数。 否则,可能会安装你不想安装的模块。

Find-Command -Name Get-TargetResource -Repository PSGallery -ModuleName SystemLocaleDsc |
    Install-Module
Get-InstalledModule

Version   Name               Repository   Description
-------   ----               ----------   -----------
1.2.0.0   SystemLocaleDsc    PSGallery    This DSC Resource allows configuration of the Windows...

Find-Command 使用 Name 参数指定命令 Get-TargetResource存储库参数搜索 PSGalleryModuleName 参数指定要安装的模块 SystemLocaleDsc。 对象在管道中向下发送, Install-Module 并安装模块。 安装完成后,可以使用 Get-InstalledModule 来显示结果。

示例 3:查找命令并保存其模块

Find-Command -Name Invoke-ScriptAnalyzer -Repository PSGallery |
    Save-Module -Path C:\Test\Modules -Verbose

VERBOSE: Downloading 'https://www.powershellgallery.com/api/v2/package/PSScriptAnalyzer/1.18.0'.
VERBOSE: Completed downloading 'https://www.powershellgallery.com/api/v2/package/PSScriptAnalyzer/1.18.0'.
VERBOSE: Completed downloading 'PSScriptAnalyzer'.
VERBOSE: Module 'PSScriptAnalyzer' was saved successfully to path 'C:\Test\Modules\PSScriptAnalyzer\1.18.0'.

Find-Command使用 NameRepository 参数在 PSGallery 存储库中搜索 命令Invoke-ScriptAnalyzer。 对象在管道 Save-Module中向下发送到 。 Path 参数确定要保存模块的位置。 Verbose 是一个可选参数,但在 PowerShell 控制台中显示状态输出。 详细输出有利于故障排除。

参数

-AllowPrerelease

在结果中包含标记为预发行的模块。

代理 cmdlet 将此参数映射到 的Find-PSResource预发布参数。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllVersions

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumVersion

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModuleName

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定要在存储库中搜索的命令名称。 使用逗号分隔命令名称数组。

代理 cmdlet 将此参数映射到 的 Find-PSResourceCommandName 参数。

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

指定要搜索命令的存储库。 使用逗号分隔存储库名称数组。 默认值为所有存储库。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

代理 cmdlet 会忽略此参数,因为 的 CommandNameParameterSetFind-PSResource不支持此参数。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

PSGetCommandInfo

Find-Command 输出 PSGetCommandInfo 对象。

备注

PowerShell 库不再支持传输层安全性 (TLS) 版本 1.0 和 1.1。 必须使用 TLS 1.2 或更高版本。 使用以下命令可以确定使用的是 TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12