Поделиться через


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

В следующих примерах коллекция 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. Поиск модуля по определенной версии

В этом примере возвращается объект , представляющий конкретную версию модуля. Если указанная версия не найдена, возвращается ошибка.

Find-Module -Name PowerShellGet -RequiredVersion 1.6.5

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

Командлет Find-Module использует параметр Name для указания модуля PowerShellGet . Параметр RequiredVersion указывает версию 1.6.5.

Пример 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 в репозитории.

Параметры

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

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

Примечания

Важно!

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

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

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