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


Get-Package

Возвращает список всех пакетов программного обеспечения, установленных с помощью PackageManagement.

Синтаксис

Get-Package
   [[-Name] <String[]>]
   [-RequiredVersion <String>]
   [-MinimumVersion <String>]
   [-MaximumVersion <String>]
   [-AllVersions]
   [-Force]
   [-ForceBootstrap]
   [-ProviderName <String[]>]
   [-Destination <String>]
   [-ExcludeVersion]
   [-Scope <String>]
   [-SkipDependencies]
   [<CommonParameters>]
Get-Package
   [[-Name] <String[]>]
   [-RequiredVersion <String>]
   [-MinimumVersion <String>]
   [-MaximumVersion <String>]
   [-AllVersions]
   [-Force]
   [-ForceBootstrap]
   [-ProviderName <String[]>]
   [-Scope <String>]
   [-PackageManagementProvider <String>]
   [-Type <String>]
   [-AllowClobber]
   [-SkipPublisherCheck]
   [-InstallUpdate]
   [-NoPathUpdate]
   [-AllowPrereleaseVersions]
   [<CommonParameters>]

Описание

Командлет Get-Package возвращает список всех пакетов программного обеспечения на локальном компьютере, установленных с помощью PackageManagement. Вы можете запустить Get-Package на удаленных компьютерах, запустив его как часть Invoke-Command команды или Enter-PSSession скрипта или .

Важно!

Команды, содержащиеся в модуле PackageManagement , отличаются от команд, предоставляемых модулем NuGet в консоли диспетчера пакетов Visual Studio. Каждый модуль содержит команды, недоступные в другом модуле. Команды с одинаковым именем отличаются своими конкретными аргументами. Дополнительные сведения см. в справочной документации по PowerShell для консоли диспетчера пакетов Visual Studio.

Примеры

Пример 1. Получение всех установленных пакетов

Командлет Get-Package получает все пакеты, установленные на локальном компьютере.

Get-Package

Name           Version      Source                                     ProviderName
----           -------      ------                                     ------------
posh-git       0.7.3        https://www.powershellgallery.com/api/v2   PowerShellGet

Пример 2. Получение пакетов, установленных на удаленном компьютере

Эта команда возвращает список пакетов, установленных packageManagement на удаленном компьютере. Эта команда предлагает ввести пароль указанного пользователя.

PS> Invoke-Command -ComputerName Server01 -Credential CONTOSO\TestUser -ScriptBlock {Get-Package}

Invoke-Command использует параметр ComputerName для указания удаленного компьютера Server01. Параметр Credential указывает домен и имя пользователя с разрешениями на выполнение команд на компьютере. Параметр ScriptBlock выполняет Get-Package командлет на удаленном компьютере.

Пример 3. Получение пакетов для указанного поставщика

Эта команда получает пакеты программного обеспечения, установленные на локальном компьютере, от определенного поставщика.

Get-Package -ProviderName PowerShellGet -AllVersions

Name                  Version      Source                                     ProviderName
----                  -------      ------                                     ------------
PackageManagement     1.2.2        https://www.powershellgallery.com/api/v2   PowerShellGet
PackageManagement     1.3.1        https://www.powershellgallery.com/api/v2   PowerShellGet
posh-git              0.7.3        https://www.powershellgallery.com/api/v2   PowerShellGet
PowerShellGet         2.0.1        https://www.powershellgallery.com/api/v2   PowerShellGet

Get-Package использует параметр ProviderName , чтобы указать конкретный поставщик PowerShellGet. Параметр AllVersions отображает каждую установленную версию.

Пример 4. Получение точной версии определенного пакета

Эта команда получает определенную версию установленного пакета. Можно установить несколько версий пакета.

Get-Package -Name PackageManagement -ProviderName PowerShellGet -RequiredVersion 1.3.1

Name                  Version      Source                                     ProviderName
----                  -------      ------                                     ------------
PackageManagement     1.3.1        https://www.powershellgallery.com/api/v2   PowerShellGet

Get-Package использует параметр Name , чтобы указать имя пакета PackageManagement. Параметр ProviderName указывает поставщика PowerShellGet. Параметр RequiredVersion указывает установленную версию.

Пример 5. Удаление пакета

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

Get-Package -Name posh-git -RequiredVersion 0.7.3 | Uninstall-Package

Get-Package использует параметр Name для указания имени пакета posh-git. Параметр RequiredVersion — это определенная версия пакета. Объект отправляется по конвейеру в Uninstall-Package командлет . Uninstall-Package удаляет пакет.

Параметры

-AllowClobber

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

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

-AllowPrereleaseVersions

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

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

-AllVersions

Указывает, что Get-Package возвращает все доступные версии пакета. По умолчанию Get-Package возвращает только последнюю доступную версию.

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

-Destination

Указывает путь к каталогу, который содержит извлеченные файлы пакета.

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

-ExcludeVersion

Переключитесь, чтобы исключить номер версии из пути к папке.

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

-Force

Принудительное выполнение команды без запроса на подтверждение пользователем.

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

-ForceBootstrap

Указывает, что Get-PackagepackageManagement автоматически устанавливает поставщик пакетов.

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

-InstallUpdate

Указывает, что этот командлет устанавливает обновления.

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

-MaximumVersion

Указывает максимальную версию пакета, которую требуется найти.

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

-MinimumVersion

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

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

-Name

Указывает одно или несколько имен пакетов или имен пакетов с подстановочными знаками. Разделяйте несколько имен пакетов запятыми.

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

-NoPathUpdate

NoPathUpdate применяется только к командлету Install-Script . NoPathUpdate — это динамический параметр, добавленный поставщиком и не поддерживаемый Get-Package.

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

-PackageManagementProvider

Указывает имя поставщика управления пакетами.

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

-ProviderName

Указывает одно или несколько имен поставщиков пакетов. Разделяйте имена нескольких поставщиков пакетов запятыми. Используйте Get-PackageProvider для получения списка доступных поставщиков пакетов.

Type:String[]
Aliases:Provider
Accepted values:Bootstrap, NuGet, PowerShellGet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RequiredVersion

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

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

-Scope

Указывает область поиска для пакета.

Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencies

Параметр , указывающий, чтобы пропустить поиск зависимостей пакета.

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

-SkipPublisherCheck

Позволяет получить версию пакета, которая новее установленной версии. Например, установленный пакет с цифровой подписью доверенного издателя, но новая версия не имеет цифровой подписи.

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

-Type

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

Type:String
Accepted values:Module, Script, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Выходные данные

Microsoft.PackageManagement.Packaging.SoftwareIdentity

Этот командлет возвращает объект SoftwareIdentity для каждого установленного пакета, соответствующего параметрам. По умолчанию он возвращает каждый установленный пакет.

Примечания

Включение поставщика пакетов в команду может сделать динамические параметры доступными для командлета. Динамические параметры относятся к поставщику пакета. Командлет Get-Help перечисляет наборы параметров командлета и включает набор параметров поставщика. Например, имеет набор параметров PowerShellGet, Get-Package включающий -NoPathUpdate, AllowClobberи SkipPublisherCheck.

Важно!

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

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

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