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
получает один или несколько модулей, соответствующих указанным критериям, из сетевого репозитория. Командлет проверяет, являются ли результаты поиска допустимыми модулями, и копирует папки модулей в расположение установки. Установленные модули не импортируются автоматически после установки.
Вы можете отфильтровать установленный модуль на основе минимальной, максимальной и точной версий указанных модулей.
Если устанавливаемый модуль имеет то же имя или версию или содержит команды в существующем модуле, отображаются предупреждающие сообщения. Убедившись, что вы хотите установить модуль и переопределить предупреждения, используйте -Force
параметры и -AllowClobber
. В зависимости от параметров репозитория может потребоваться ответить на запрос на продолжение установки модуля.
Параметры, которые принимают номера версий модуля, ожидают строк, отформатированных в виде номеров версий.
- Номера стандартных версий имеют формат
x.y.z
, где x, y и z — числа. - Предварительные версии имеют формат , в котором
<prerelease_label>
является произвольнойx.y.z-<prerelease_label>
строкой, назначенной для этого выпуска.
В этих примерах в качестве единственного зарегистрированного репозитория используется коллекция PowerShell. Get-PSRepository
отображает зарегистрированные репозитории. Если у вас есть несколько зарегистрированных репозиториев, используйте -Repository
параметр , чтобы указать имя репозитория.
Примеры
Пример 1. Поиск и установка модуля
В этом примере выполняется поиск модуля в репозитории и его установка.
Find-Module -Name PowerShellGet | Install-Module
Использует Find-Module
параметр Name для указания модуля PowerShellGet . По умолчанию последняя версия модуля загружается из репозитория. Объект отправляется по конвейеру в Install-Module
командлет . Install-Module
устанавливает модуль для всех пользователей в $env:ProgramFiles\PowerShell\Modules
.
Пример 2. Установка модуля по имени
В этом примере установлена последняя версия модуля PowerShellGet .
Install-Module -Name PowerShellGet
Использует Install-Module
параметр Name для указания модуля PowerShellGet . По умолчанию последняя версия модуля загружается из репозитория и устанавливается.
Пример 3. Установка модуля с использованием его минимальной версии
В этом примере устанавливается минимальная версия модуля PowerShellGet . Параметр MinimumVersion указывает самую раннюю версию модуля, который необходимо установить. Если доступна более новая версия модуля, она загружается и устанавливается для всех пользователей.
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
Использует Install-Module
параметр Name для указания модуля PowerShellGet . Параметр MinimumVersion указывает, что версия 2.0.1 скачивается из репозитория и устанавливается. Так как доступна версия 2.0.4 , она загружается и устанавливается для всех пользователей.
Пример 4. Установка определенной версии модуля
В этом примере устанавливается определенная версия модуля PowerShellGet .
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
Использует Install-Module
параметр Name для указания модуля PowerShellGet . Параметр RequiredVersion указывает, что версия 2.0.0 скачивается и устанавливается для всех пользователей.
Пример 5. Установка модуля только для текущего пользователя
В этом примере загружается и устанавливается последняя версия модуля только для текущего пользователя.
Install-Module -Name PowerShellGet -Scope CurrentUser
Использует Install-Module
параметр Name для указания модуля 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 автоматически принимает лицензионное соглашение во время установки. Дополнительные сведения см. в разделе Модули, требующие принятия лицензии.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowClobber
Переопределяет предупреждающие сообщения о конфликтах установки существующих команд на компьютере.
Перезаписывает существующие команды с тем же именем, что и команды, устанавливаемые модулем.
AllowClobber и Force можно использовать вместе в команде Install-Module
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Позволяет установить модуль, помеченный как предварительный выпуск.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Запрашивает подтверждение перед выполнением командлета Install-Module
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
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 |
-Force
Устанавливает модуль и переопределяет предупреждающие сообщения о конфликтах установки модуля. Если модуль с тем же именем уже существует на компьютере, force позволяет установить несколько версий. Если имеется модуль с тем же именем и версией, принудительно перезаписывает ее. Force и AllowClobber можно использовать вместе в команде Install-Module
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Используется для входных данных конвейера. Если значение, переданное непосредственно в InputObject, возникает ошибка. Используйте конвейер для передачи объектов с параметром InputObject .
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaximumVersion
Указывает максимальную версию одного модуля для установки. Установленная версия должна быть меньше или равна MaximumVersion. Если вы хотите установить несколько модулей, вы не сможете использовать MaximumVersion. MaximumVersion и RequiredVersion нельзя использовать в одной и той же команде Install-Module
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinimumVersion
Указывает минимальную версию одного модуля для установки. Установленная версия должна быть больше или равна MinimumVersion. Если доступна более новая версия модуля, устанавливается более новая версия. Если вы хотите установить несколько модулей, использовать MinimumVersion нельзя.
MinimumVersion и RequiredVersion нельзя использовать в одной и той же команде Install-Module
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Указывает точные имена модулей для установки из коллекции в Интернете. Принимается разделенный запятыми список имен модулей. Имя модуля должно совпадать с именем модуля в репозитории. Используйте Find-Module
для получения списка имен модулей.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
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 , чтобы указать имя репозитория, из которого нужно скачать и установить модуль. Используется при регистрации нескольких репозиториев. Указывает имя зарегистрированного репозитория в команде Install-Module
. Чтобы зарегистрировать репозиторий, используйте .Register-PSRepository
Чтобы отобразить зарегистрированные репозитории, используйте .Get-PSRepository
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Указывает точную версию устанавливаемого модуля. Если в репозитории нет совпадений для указанной версии, отображается ошибка. Если вы хотите установить несколько модулей, использовать RequiredVersion нельзя. RequiredVersion нельзя использовать в той же команде Install-Module
, что и MinimumVersion или MaximumVersion.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String |
Accepted values: | CurrentUser, AllUsers |
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 |
-WhatIf
Показывает, что произойдет при выполнении Install-Module
команды. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
PSRepositoryItemInfo
Find-Module
создает объекты PSRepositoryItemInfo , которые можно отправить по конвейеру в Install-Module
.
String[]
PSObject[]
Выходные данные
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
При использовании параметра Install-Module
PassThru выводит объект PSRepositoryItemInfo для модуля. Это те же сведения, которые вы получаете из командлета Find-Module
.
Примечания
PowerShell включает следующие псевдонимы для Install-Module
:
- Для всех платформ.
inmo
Install-Module
выполняется в PowerShell 5.0 или более поздних выпусках, в Windows 7 или Windows 2008 R2 и более поздних выпусках Windows.
Важно!
Начиная с апреля 2020 года коллекция PowerShell не поддерживает протокол TLS (Transport Layer Security) версий 1.0 и 1.1. Если вы не используете TLS 1.2 или более поздней версии, при попытке доступа к коллекция PowerShell появится сообщение об ошибке. Чтобы проверить, используется ли TLS 1.2, выполните следующую команду:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.
Для обеспечения безопасности рекомендуется оценить код модуля перед первым запуском командлетов или функций. Чтобы предотвратить выполнение модулей, содержащих вредоносный код, установленные модули не импортируются автоматически после установки.
Если имя модуля, указанное параметром Name , не существует в репозитории, Install-Module
возвращает ошибку.
Чтобы установить несколько модулей, используйте параметр Name и укажите разделенный запятыми массив имен модулей. При указании нескольких имен модулей нельзя использовать MinimumVersion, MaximumVersion или RequiredVersion. Find-Module
создает объекты PSRepositoryItemInfo , которые можно отправить по конвейеру в Install-Module
. Конвейер — это еще один способ указать несколько модулей для установки в одной команде.
По умолчанию модули для область AllUsers устанавливаются в $env:ProgramFiles\PowerShell\Modules
. Значение по умолчанию предотвращает путаницу при установке ресурсов PowerShell Desired State Configuration (DSC).
Установка модуля завершается сбоем и не может быть импортирована, если в папке нет .psm1
, .psd1
или .dll
с тем же именем. Используйте параметр Force для установки модуля.
Если версия существующего модуля соответствует имени, указанному в параметре Name , и параметр MinimumVersion или RequiredVersion не используется, автоматически продолжает работу, Install-Module
но не устанавливает модуль.
Если версия существующего модуля больше значения параметра MinimumVersion или равна значению параметра RequiredVersion , автоматически продолжит работу, Install-Module
но не устанавливает модуль.
Если существующий модуль не соответствует значениям, заданным параметрами MinimumVersion или RequiredVersion , в команде Install-Module
возникает ошибка. Например, если версия существующего установленного модуля ниже значения MinimumVersion или не равна значению RequiredVersion .
Install-Module
также устанавливает все зависимые модули, указанные в соответствии с требованиями издателя модуля.
Издатель перечисляет необходимые модули и их версии в манифесте модуля.
Связанные ссылки
PowerShellGet feedback
The PowerShellGet and PSResourceGet modules are open source projects. Select a link to provide feedback:
Обратная связь
Отправить и просмотреть отзыв по