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


Install-Module

Загружает один или несколько модулей из репозитория и устанавливает их на локальном компьютере.

Синтаксис

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Описание

Командлет Install-Module получает один или несколько модулей, которые соответствуют указанным условиям из онлайн-репозитория. Командлет проверяет, являются ли результаты поиска допустимыми модулями и копирует папки модулей в расположение установки. Установленные модули не импортируются автоматически после установки. Вы можете фильтровать модуль на основе минимальной, максимальной и точной версии указанных модулей.

Это командлет прокси-сервера для командлета Get-InstalledPSResource в Microsoft.PowerShell.PSResourceGet. Дополнительные сведения см. в разделе Install-PSResource.

Примеры

Пример 1. Поиск и установка модуля

Этот пример находит модуль в репозитории и устанавливает модуль.

Find-Module -Name PowerShellGet | Install-Module

использует параметр имени для указания модуля PowerShellGet. По умолчанию последняя версия модуля загружается из репозитория. Объект отправляется по конвейеру в командлет Install-Module. Install-Module устанавливает модуль для всех пользователей в $env:ProgramFiles\PowerShell\Modules.

Пример 2. Установка модуля по имени

В этом примере устанавливается последняя версия модуля PowerShellGet.

Install-Module -Name PowerShellGet

использует параметр имени для указания модуля PowerShellGet. По умолчанию последняя версия модуля загружается из репозитория и устанавливается.

Пример 3. Установка модуля с помощью минимальной версии

В этом примере устанавливается минимальная версия модуля PowerShellGet. Параметр MinimumVersion указывает самую низкую версию модуля, которая должна быть установлена. Если доступна более новая версия модуля, эта версия загружается и устанавливается для всех пользователей.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

использует параметр имени для указания модуля PowerShellGet. Параметр MinimumVersion указывает, что версии 2.0.1 скачиваются из репозитория и устанавливаются. Так как доступна версия версии 2.0.4, эта версия загружается и устанавливается для всех пользователей.

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

В этом примере устанавливается определенная версия модуля PowerShellGet .

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

использует параметр имени для указания модуля PowerShellGet. Параметр RequiredVersion указывает, что версия 2.0.0.0 загружается и устанавливается для всех пользователей.

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

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

Install-Module -Name PowerShellGet -Scope CurrentUser

использует параметр имени для указания модуля PowerShellGet. Install-Module загружает и устанавливает последнюю версию PowerShellGet в каталог текущего пользователя $HOME\Documents\PowerShell\Modules.

Пример 6. Установка последней предварительной версии модуля

В этом примере показано, как установить последнюю версию модуля, когда эта версия является предварительной версией. Для установки предварительной версии требуется параметр AllowPrerelease.

Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease

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

Пример 7. Установка определенной предварительной версии модуля

В этом примере показано, как установить определенную предварительную версию модуля. Командлет Find-Module можно использовать для поиска предварительных версий модулей в коллекции PowerShell.

Предварительные версии имеют формат <version_number>-<prerelease_label>.

Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5

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

Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease

Используйте версию, показанную в коллекции PowerShell, для значения параметра RequiredVersion.

Параметры

-AcceptLicense

Для модулей, требующих лицензии, AcceptLicense автоматически принимает лицензионное соглашение во время установки. Дополнительные сведения см. в разделе Модули, требующие принятия лицензий.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AllowClobber

Переопределяет предупреждения о конфликтах установки существующих команд на компьютере. Перезаписывает существующие команды с тем же именем, что и команды, установленные модулем. AllowClobber и Force можно использовать вместе в команде Install-Module.

Командлет прокси-сервера преобразует значение этого параметра в параметр NoClobber командлета Install-PSResource.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AllowPrerelease

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

Командлет прокси-сервера сопоставляет этот параметр с параметром предварительного .

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед выполнением командлета Install-Module.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

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

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Force

Командлет прокси-сервера игнорирует этот параметр, так как он не поддерживается Install-PSResource.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Используется для ввода конвейера. Ошибка возникает, если значение, предоставленное непосредственно InputObject. Используйте конвейер для передачи объектов с параметром InputObject.

Тип:PSObject[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-MaximumVersion

Командлет прокси-сервера использует значение этого параметра для создания строки поиска версий NuGet для использования с параметром версииInstall-PSResource.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-MinimumVersion

Командлет прокси-сервера использует значение этого параметра для создания строки поиска версий NuGet для использования с параметром версииInstall-PSResource.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

Указывает точные имена модулей для установки из коллекции в Сети. Принимается разделенный запятыми список имен модулей. Имя модуля должно соответствовать имени модуля в репозитории. Используйте Find-Module для получения списка имен модулей.

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PassThru

При использовании параметра passThru PassThruInstall-Module выводит объект PSRepositoryItemInfo для модуля. Это те же сведения, которые вы получаете из командлета Find-Module.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Proxy

Командлет прокси-сервера игнорирует этот параметр, так как он не поддерживается Install-PSResource.

Тип:Uri
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ProxyCredential

Командлет прокси-сервера игнорирует этот параметр, так как он не поддерживается Install-PSResource.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Repository

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RequiredVersion

Командлет прокси-сервера использует значение этого параметра для создания строки поиска версий NuGet для использования с параметром версииInstall-PSResource.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Scope

Указывает область установки модуля. Допустимые значения для этого параметра : AllUsers и CurrentUser.

Область AllUsers устанавливает модули в расположении, доступном всем пользователям компьютера:

$env:ProgramFiles\PowerShell\Modules

CurrentUser устанавливает модули в расположении, доступном только текущему пользователю компьютера. Например:

$HOME\Documents\PowerShell\Modules

Если области не определено, значение по умолчанию устанавливается на основе версии PowerShellGet.

  • В версиях PowerShellGet 1.x по умолчанию используется AllUsers, для которых требуется повышение прав для установки.
  • Для PowerShellGet версии 2.0.0 и выше в PowerShell 6 или более поздней версии:
    • Значение по умолчанию — CurrentUser, что не требует повышения прав для установки.
    • Если вы работаете в сеансе с повышенными привилегиями, значение по умолчанию AllUsers.
Тип:String
Допустимые значения:CurrentUser, AllUsers
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SkipPublisherCheck

Командлет прокси-сервера преобразует этот параметр в AuthenticodeCheck перед вызовом Install-PSResource.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если была запущена команда Install-Module. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

PSRepositoryItemInfo

создает объекты PSRepositoryItemInfo , которые можно отправить по конвейеру в .

String[]

PSObject[]

String

PSCredential

Uri

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

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

При использовании параметра passThru PassThruInstall-Module выводит объект PSRepositoryItemInfo для модуля. Это те же сведения, которые вы получаете из командлета Find-Module.

Примечания

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

  • Все платформы:
    • inmo

Install-Module работает в выпусках PowerShell 5.0 или более поздних версий в Windows 7 или Windows 2008 R2 и более поздних версиях Windows.

Важный

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

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

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

Рекомендуется оценить код модуля перед первым выполнением командлетов или функций. Чтобы предотвратить выполнение модулей, содержащих вредоносный код, установленные модули не импортируются автоматически после установки.

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

Чтобы установить несколько модулей, используйте параметр имени и укажите разделенный запятыми массив имен модулей. Если указать несколько имен модулей, использовать MinimumVersion, MaximumVersionили RequiredVersion. создает объекты PSRepositoryItemInfo , которые можно отправить по конвейеру в . Конвейер — это еще один способ указать несколько модулей для установки в одной команде.

По умолчанию модули для области AllUsers устанавливаются в $env:ProgramFiles\PowerShell\Modules. Значение по умолчанию предотвращает путаницу при установке ресурсов PowerShell Desired State Configuration (DSC).

Установка модуля завершается сбоем и не может быть импортирована, если она не имеет .psm1, .psd1или .dll того же имени в папке. Используйте параметр Force для установки модуля.

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

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

Если существующий модуль не соответствует значениям, указанным в параметрах MinimumVersion или RequiredVersion, в команде Install-Module возникает ошибка. Например, если версия существующего установленного модуля ниже значения MinimumVersion или не равна значению RequiredVersion.

Install-Module также устанавливает все зависимые модули, указанные в соответствии с требованиями издателя модуля. Издатель перечисляет необходимые модули и их версии в манифесте модуля.