Find-Module

Находит модули в репозитории, которые соответствуют указанным критериям.

Синтаксис

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>]

Описание

Командлет Find-Module находит модули в репозитории, которые соответствуют указанным условиям. Find-Module возвращает объект PSRepositoryItemInfo для каждого найденного модуля. Объекты могут быть отправлены по конвейеру в командлеты, такие как Install-Module.

При первой Find-Module попытке использовать репозиторий может появиться запрос на установку обновлений. Если источник репозитория не зарегистрирован с помощью Register-PSRepository командлета, возвращается ошибка.

Find-Module возвращает последнюю версию модуля, если не используются параметры, ограничивающие версию. Чтобы получить список версий модуля в репозитории, используйте параметр AllVersions.

Если указан параметр MinimumVersion , Find-Module возвращает версию модуля, которая равна или больше минимальной. Если в репозитории есть более новая версия, возвращается более новая версия.

Если указан параметр MaximumVersion , Find-Module возвращает последнюю версию модуля, которая не превышает указанную версию.

Если указан параметр RequiredVersion , Find-Module возвращает только ту версию модуля, которая точно соответствует указанной версии. Find-Module выполняет поиск по всем доступным модулям, так как могут возникать конфликты имен между источниками.

Параметры, которые принимают номера версий модуля, ожидают строк, отформатированных в виде номеров версий.

  • Номера стандартных версий имеют формат x.y.z , где x, y и z — числа.
  • Предварительные версии имеют формат , в котором <prerelease_label> является произвольной x.y.z-<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...

Командлет 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

Командлет 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...

Командлет 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. Поиск модуля в определенном репозитории

В этом примере используется параметр Repository для поиска модуля в определенном репозитории.

Find-Module -Name PowerShellGet -Repository PSGallery

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

Командлет 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...

Командлет Register-PSRepository регистрирует новый репозиторий. Параметр Name присваивает имя MySource. Параметр SourceLocation указывает адрес репозитория.

Командлет Find-Module использует параметр Name с подстановочным знаком звездочки (*), чтобы указать модуль Contoso . Параметр Repository указывает поиск в двух репозиториях: PSGallery и MySource.

Пример 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...

Командлет Find-Module использует параметр Repository для поиска в репозитории PSGallery. Параметр Includes указывает 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...

Командлет 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

Указывает на включение всех версий модуля в результаты. Параметр AllVersions нельзя использовать с параметрами MinimumVersion, MaximumVersion или RequiredVersion .

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 выполняет поиск ИЛИ при указании нескольких аргументов.

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. Ниже приведены допустимые значения для этого параметра.

  • Командлет
  • 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

Указывает максимальную или последнюю версию модуля для включения в результаты поиска. MaximumVersion и RequiredVersion нельзя использовать в одной и той же команде.

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

-MinimumVersion

Указывает минимальную версию модуля, включаемую в результаты. MinimumVersion и RequiredVersion нельзя использовать в одной и той же команде.

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

Указывает прокси-сервер для запроса, а не подключение напрямую к интернет-ресурсу.

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

-ProxyCredential

Указывает учетную запись пользователя, имеющую разрешение на использование прокси-сервера, который задается параметром Proxy.

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

-Repository

Используйте параметр Repository , чтобы указать, в каком репозитории следует искать модуль. Используется при регистрации нескольких репозиториев. Принимает разделенный запятыми список репозиториев. Чтобы зарегистрировать репозиторий, используйте .Register-PSRepository Чтобы отобразить зарегистрированные репозитории, используйте .Get-PSRepository

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

-RequiredVersion

Указывает точный номер версии модуля для включения в результаты. RequiredVersion нельзя использовать в той же команде, что и MinimumVersion или MaximumVersion.

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

Задает массив тегов. Примеры тегов: DesiredStateConfiguration, DSC, DSCResourceKit или PSModule.

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 , которые можно отправить по конвейеру в командлеты, такие как Install-Module.

Примечания

PowerShell включает следующие псевдонимы для Find-Module:

  • Для всех платформ.
    • fimo

Важно!

Начиная с апреля 2020 года коллекция PowerShell не поддерживает протокол TLS (Transport Layer Security) версий 1.0 и 1.1. Если вы не используете TLS 1.2 или более поздней версии, при попытке доступа к коллекции PowerShell возникнет ошибка. Чтобы проверить, используется ли TLS 1.2, выполните следующую команду:

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

Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.