共用方式為


Find-Module

在符合指定準則的存放庫中尋找模組。

Syntax

Find-Module
    [[-Name] <string[]>]
    [-MinimumVersion <string>]
    [-MaximumVersion <string>]
    [-RequiredVersion <string>]
    [-AllVersions]
    [-IncludeDependencies]
    [-Filter <string>]
    [-Tag <string[]>]
    [-Includes <string[]>]
    [-DscResource <string[]>]
    [-RoleCapability <string[]>]
    [-Command <string[]>]
    [-Proxy <uri>]
    [-ProxyCredential <pscredential>]
    [-Repository <string[]>]
    [-Credential <pscredential>]
    [-AllowPrerelease]
    [<CommonParameters>]

Description

Cmdlet Find-Module 會在符合指定準則的存放庫中尋找模組。 Find-Module 會針對所找到的每個模組,傳回 PSRepositoryItemInfo 物件。 物件可以將管線向下傳送至 Cmdlet,例如 Install-Module

第一次 Find-Module 嘗試使用存放庫時,系統可能會提示您安裝更新。 如果未向 Register-PSRepository Cmdlet 註冊存放庫來源,則會傳回錯誤。

Find-Module 如果未使用任何限制版本的參數,則會傳回模組的最新版本。 若要取得模組版本的存放庫清單,請使用 AllVersions參數。

如果指定 MinimumVersion 參數, Find-Module 則傳回等於或大於最小值的模組版本。 如果存放庫中有較新版本可用,則會傳回較新的版本。

如果指定 MaximumVersion 參數, Find-Module 則傳回未超過所指定版本的最新模組版本。

如果指定 RequiredVersion 參數, Find-Module 則只會傳回與指定版本完全相符的模組版本。 Find-Module 搜尋所有可用的模組,因為來源之間可能會發生名稱衝突。

採用模組版本號碼的參數需要格式化為版本號碼的字串。

  • 標準版本號碼的格式 x.y.z 為 x、y 和 z 為數字
  • 發行前版本的格式 x.y.z-<prerelease_label> 為 , <prerelease_label> 其中 是指派給該版本的任一字元串。

下列範例會使用PowerShell 資源庫作為唯一已註冊的存放庫。 Get-PSRepository 會顯示已註冊的存放庫。 如果您有多個已註冊的存放庫,請使用 -Repository 參數來指定存放庫的名稱。

範例

範例 1:依名稱尋找模組

此範例會在預設存放庫中尋找模組。

Find-Module -Name PowerShellGet

Version   Name              Repository           Description
-------   ----              ----------           -----------
2.1.0     PowerShellGet     PSGallery            PowerShell module with commands for discovering...

Cmdlet Find-Module 會使用 Name 參數來指定 PowerShellGet 模組。

範例 2:尋找具有類似名稱的模組

此範例會使用星號 () * 萬用字元來尋找具有類似名稱的模組。

Find-Module -Name PowerShell*

Version   Name                            Repository    Description
-------   ----                            ----------    -----------
0.4.0     powershell-yaml                 PSGallery     Powershell module for serializing and...
2.1.0     PowerShellGet                   PSGallery     PowerShell module with commands for...
1.9       Powershell.Helper.Extension     PSGallery     # Powershell.Helper.Extension...
3.1       PowerShellHumanizer             PSGallery     PowerShell Humanizer wraps Humanizer...
4.0       PowerShellISEModule             PSGallery     a module that adds capability to the ISE

Cmdlet Find-Module 會使用 Name 參數搭配星號 () * 萬用字元來尋找包含 PowerShell的所有模組。

範例 3:依最低版本尋找模組

此範例會搜尋模組的最低版本。 如果存放庫包含較新版本的模組,則會傳回較新版本。

Find-Module -Name PowerShellGet -MinimumVersion 1.6.5

Version   Name             Repository     Description
-------   ----             ----------     -----------
2.1.0     PowerShellGet    PSGallery      PowerShell module with commands for discovering...

Cmdlet Find-Module 會使用 Name 參數來指定 PowerShellGet 模組。 MinimumVersion指定1.6.5版。 Find-Module 會傳回 PowerShellGet 2.1.0 版,因為它超過最低版本,而且是最新的版本。

範例 4:依特定版本尋找模組

此範例示範如何安裝模組的特定發行前版本。 發行前版本的格式 <version_number>-<prerelease_label> 為 。

Find-Module PSReadLine -AllowPrerelease -RequiredVersion 2.2.4-beta1

Version        Name             Repository       Description
-------        ----             ----------       -----------
2.2.4-beta1    PSReadLine       PSGallery        Great command line editing in the PowerS…

範例 5:在特定存放庫中尋找模組

此範例會使用 存放庫 參數來尋找特定存放庫中的模組。

Find-Module -Name PowerShellGet -Repository PSGallery

Version   Name             Repository     Description
-------   ----             ----------     -----------
2.1.0     PowerShellGet    PSGallery      PowerShell module with commands for discovering...

Cmdlet Find-Module 會使用 Name 參數來指定 PowerShellGet 模組。 Repository參數會指定搜尋PSGallery 存放庫。

範例 6:在多個存放庫中尋找模組

此範例會使用 Register-PSRepository 來指定存放庫。 Find-Module 會使用存放庫來搜尋模組。

Register-PSRepository -Name MySource -SourceLocation https://www.myget.org/F/powershellgetdemo/
Find-Module -Name Contoso* -Repository PSGallery, MySource

Repository    Version   Name             Description
----------    -------   ----             -----------
PSGallery     2.0.0.0   ContosoServer    Cmdlets and DSC resources for managing Contoso Server...
MySource      1.2.0.0   ContosoClient    Cmdlets and DSC resources for managing Contoso Client...

Cmdlet Register-PSRepository 會註冊新的存放庫。 Name參數會指派MySource名稱。 SourceLocation參數會指定存放庫的位址。

Cmdlet Find-Module 會使用 Name 參數搭配星號 () * 萬用字元來指定 Contoso 模組。 Repository參數會指定搜尋兩個存放庫PSGalleryMySource

範例 7:尋找包含 DSC 資源的模組

此命令會傳回包含 DSC 資源的模組。 Include參數有四個預先定義的功能,可用來搜尋存放庫。 使用 Tab-complete 來顯示 Include 參數支援的四個功能。

Find-Module -Repository PSGallery -Includes DscResource

Version     Name                            Repository    Description
-------     ----                            ----------    -----------
2.7.0       Carbon                          PSGallery     Carbon is a PowerShell module...
8.5.0.0     xPSDesiredStateConfiguration    PSGallery     The xPSDesiredStateConfiguration module...
1.3.1       PackageManagement               PSGallery     PackageManagement (a.k.a. OneGet) is...
2.7.0.0     xWindowsUpdate                  PSGallery     Module with DSC Resources...
3.2.0.0     xCertificate                    PSGallery     This module includes DSC resources...
3.1.0.0     xPowerShellExecutionPolicy      PSGallery     This DSC resource can change the user...

Cmdlet Find-Module 會使用 Repository 參數來搜尋 存放庫 PSGalleryInclude參數會指定DscResource,這是參數可以在存放庫中搜尋的功能。

範例 8:尋找具有篩選準則的模組

在此範例中,若要尋找模組,會使用篩選準則來搜尋存放庫。

針對以 NuGet 為基礎的存放庫, Filter 參數會搜尋引數的名稱、描述和標記。

Find-Module -Filter AppDomain

Version    Name              Repository           Description
-------    ----              ----------           -----------
1.0.0.0  AppDomainConfig     PSGallery            Manipulate AppDomain configuration...
1.1.0    ClassExplorer       PSGallery            Quickly search the AppDomain for classes...

Cmdlet Find-Module 會使用 Filter 參數來搜尋 AppDomain的存放庫。

範例 9:依標籤尋找模組

此範例示範如何依標記尋找模組。 此值 CrescendoBuilt 是自動新增至使用 Microsoft.PowerShell.Crescendo 模組所建立模組的標記。

Find-Module -Tag CrescendoBuilt

Version Name            Repository Description
------- ----            ---------- -----------
0.1.0   Foil            PSGallery  A PowerShell Crescendo wrapper for Chocolatey
0.3.1   Cobalt          PSGallery  A PowerShell Crescendo wrapper for WinGet
1.1.0   SysInternals    PSGallery  PowerShell cmdlets for SysInternal tools
0.0.4   Croze           PSGallery  A PowerShell Crescendo wrapper for Homebrew
0.0.2   AptPackage      PSGallery  PowerShell Crescendo-generated Module to query APT-Package Information
1.0.1   RoboCopy        PSGallery  PowerShell cmdlet for the official RoboCopy.exe
1.0.2   TShark          PSGallery  PowerShell cmdlet for tshark.exe
1.0.0   SpeedTestCLI    PSGallery  PowerShell cmdlets speedtest-cli
1.0.0   SpeedTest-CLI   PSGallery  PowerShell cmdlets for Internet Speed Test
1.0.2   Image2Text      PSGallery  PowerShell Images into ASCII art
0.1.1   Quser.Crescendo PSGallery  This module displays session information of users logged onto a local or remote m...
1.0.2   Takeown         PSGallery  Crescendo Powershell wrapper of takeown.exe

參數

-AllowPrerelease

包含在標示為發行前版本的結果模組中。

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

-AllVersions

指定在結果中包含模組的所有版本。 您無法搭配MinimumVersionMaximumVersionRequiredVersion參數使用AllVersions參數。

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

-Command

指定要在模組中尋找的命令陣列。 命令可以是函式或工作流程。

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

-Credential

指定有權安裝指定套件提供者或來源之模組的使用者帳戶。

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

-DscResource

指定包含 DSC 資源的模組名稱或部分名稱。 根據 PowerShell 慣例,當您提供多個引數時,執行 OR 搜尋。

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

-Filter

根據 PackageManagement 提供者特定的搜尋語法來指定篩選。 對於 NuGet 模組,此參數相當於在PowerShell 資源庫網站上使用搜尋列進行搜尋。

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

-IncludeDependencies

表示此作業包含所有相依于 Name 參數中所指定模組的模組。

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

-Includes

只傳回包含特定 PowerShell 功能的模組。 例如,您可能只想要尋找包含 DSCResource 的模組。 此參數可接受的值如下所示:

  • Cmdlet
  • DscResource
  • 函式
  • RoleCapability
Type:String[]
Accepted values:DscResource, Cmdlet, Function, RoleCapability
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

指定要包含在搜尋結果中的模組最大值或最新版本。 MaximumVersionRequiredVersion 不能用在相同的命令中。

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

-MinimumVersion

指定要包含於結果中的模組最低版本。 MinimumVersionRequiredVersion 不能用在相同的命令中。

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

-Name

指定要在存放庫中搜尋的模組名稱。 接受以逗號分隔的模組名稱清單。 可使用萬用字元。

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

-Proxy

指定要求的 Proxy 伺服器,而不是直接連線到網際網路資源。

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

-ProxyCredential

指定具有使用 Proxy 參數所指定 Proxy 伺服器之權限的使用者帳戶。

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

-Repository

使用 存放庫 參數指定要搜尋模組的存放庫。 註冊多個存放庫時使用。 接受以逗號分隔的存放庫清單。 若要註冊存放庫,請使用 Register-PSRepository 。 若要顯示已註冊的存放庫,請使用 Get-PSRepository

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

-RequiredVersion

指定要包含在結果中的模組確切版本號碼。 RequiredVersion 不能用於 與 MinimumVersionMaximumVersion相同的命令中。

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

-RoleCapability

指定角色功能的陣列。

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

-Tag

指定標記的陣列。 範例標籤包括DesiredStateConfigurationDSC、DSCResourceKitPSModule

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

輸入

String[]

String

Uri

PSCredential

輸出

PSRepositoryItemInfo

Find-Module 會建立 PSRepositoryItemInfo 物件,可將管線向下傳送至 Cmdlet,例如 Install-Module

備註

PowerShell 包含下列的 Find-Module 別名:

  • 所有平台:
    • fimo

重要

從 2020 年 4 月起,PowerShell 資源庫已不再支援傳輸層安全性 (TLS) 1.0 和 1.1 版。 如果您不是使用 TLS 1.2 或更高版本,您在嘗試存取 PowerShell 資源庫時將會收到錯誤。 使用下列命令來確保您使用的是 TLS 1.2:

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

如需詳細資訊,請參閱 PowerShell 部落格中的公告 \(英文\)。