共用方式為


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 會搜尋所有可用的模組,因為來源之間可能會發生名稱衝突。

下列範例會使用 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:依特定版本尋找模組

這個範例會傳回 代表模組特定版本的物件。 如果找不到指定的版本,則會傳回錯誤。

Find-Module -Name PowerShellGet -RequiredVersion 1.6.5

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

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

範例 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 參數會指派名稱 MySourceSourceLocation 參數會指定存放庫的位址。

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

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

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

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 參數來搜尋 存放庫 PSGalleryIncludes 參數會指定 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 的存放庫。

參數

-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:False

-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

指定標記的陣列。 範例卷標包括 DesiredStateConfigurationDSCDSCResourceKitPSModule

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

輸入

String[]

String

Uri

PSCredential

輸出

PSRepositoryItemInfo

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

備註

重要

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

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

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