Update-Module

Скачивает последние версии указанных модулей из веб-коллекции и устанавливает их на локальном компьютере.

Синтаксис

Update-Module
      [[-Name] <String[]>]
      [-RequiredVersion <String>]
      [-MaximumVersion <String>]
      [-Credential <PSCredential>]
      [-Scope <String>]
      [-Proxy <Uri>]
      [-ProxyCredential <PSCredential>]
      [-Force]
      [-AllowPrerelease]
      [-AcceptLicense]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Update-Module устанавливает последнюю версию модуля из сетевой коллекции. Вам будет предложено подтвердить обновление перед установкой. Обновления устанавливаются только для модулей, которые были установлены на локальном компьютере с Install-Module. Update-Module выполняет поиск $env:PSModulePath установленных модулей.

Update-Module без указанных параметров обновляет все установленные модули. Чтобы указать модуль для обновления, используйте параметр Name . Вы можете выполнить обновление до конкретной версии модуля с помощью параметра RequiredVersion .

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

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

Если установленный модуль уже является последней версией, модуль не обновляется. Если модуль не найден в $env:PSModulePath, отображается сообщение об ошибке.

Чтобы отобразить установленные модули, используйте .Get-InstalledModule

Примеры

Пример 1. Обновление всех модулей

В этом примере все установленные модули обновляются до последней версии в онлайн-коллекции.

Update-Module

Пример 2. Обновление модуля по имени

В этом примере обновляется определенный модуль до последней версии в онлайн-коллекции.

Update-Module -Name SpeculationControl

Update-Module использует параметр Name для обновления определенного модуля SpeculationControl.

Пример 3. Просмотр Update-Module выполнений Update-Module

В этом примере выполняется сценарий "что если", чтобы показать, что происходит при Update-Module выполнении. Команда не выполняется.

Update-Module -WhatIf

What if: Performing the operation "Update-Module" on target "Version '2.8.0' of module
  'Carbon', updating to version '2.8.1'".
What if: Performing the operation "Update-Module" on target "Version '1.0.10' of module
  'SpeculationControl', updating to version '1.0.14'".

Update-Module использует параметр WhatIf , отображая, что произойдет при Update-Module выполнении.

Пример 4. Обновление модуля до указанной версии

В этом примере модуль обновляется до определенной версии. Версия должна существовать в онлайн-коллекции, иначе отобразится сообщение об ошибке.

Update-Module -Name SpeculationControl -RequiredVersion 1.0.14

Update-Module использует параметр Name для указания модуля SpeculationControl. Параметр RequiredVersion указывает версию 1.0.14.

Пример 5. Обновление модуля без подтверждения

Этот пример не запрашивает подтверждение обновления модуля до последней версии из коллекции в Интернете. Если модуль уже установлен, параметр Force переустановит модуль.

Update-Module -Name SpeculationControl -Force

Update-Module использует параметр Name для указания модуля SpeculationControl. Параметр Force обновляет модуль без запроса подтверждения пользователя.

Параметры

-AcceptLicense

Автоматически примите лицензионное соглашение во время установки, если это требуется пакету.

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

Запрашивает подтверждение перед запуском Update-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

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

Type:SwitchParameter
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

-Name

Указывает имена одного или нескольких модулей для обновления. Update-Module выполняет поиск $env:PSModulePath модулей для обновления. Если совпадений для указанного имени модуля не найдено $env:PSModulePath , возникает ошибка.

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

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

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
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

-RequiredVersion

Указывает точную версию, до которой будет обновлен существующий установленный модуль. Версия, указанная параметром RequiredVersion , должна существовать в интерактивной коллекции, иначе отобразится сообщение об ошибке. Если в одной команде обновляется несколько модулей, вы не сможете использовать RequiredVersion.

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

-Scope

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

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

$env:ProgramFiles\PowerShell\Modules

CurrentUser не требует повышенных разрешений и устанавливает модули в расположении, доступном только текущему пользователю компьютера:

$HOME\Documents\PowerShell\Modules

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

  • В PowerShellGet версии 2.0.0 и более поздних по умолчанию используется значение CurrentUser, которое не требует повышения прав для установки.
  • В версиях PowerShellGet 1.x по умолчанию используется значение AllUsers, что требует повышения прав для установки.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:CurrentUser
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

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

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

String[]

String

PSCredential

Uri

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

Object

Примечания

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

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

Для PowerShell версии 6.0 и более поздних область установки по умолчанию всегда является CurrentUser. Обновления модулей для CurrentUser, $HOME\Documents\PowerShell\Modules, не требуют повышенных разрешений. Обновления модулей для AllUsers , $env:ProgramFiles\PowerShell\Modulesтребуют повышенных разрешений.

Важно!

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

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

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

Update-Module Выполняется в PowerShell 3.0 или более поздних выпусках PowerShell, Windows 7 или Windows 2008 R2 и более поздних выпусках Windows.

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

Вы можете запускать Update-Module только модули, установленные из коллекции в Интернете, выполнив команду Install-Module.

При Update-Module попытке обновить используемые двоичные файлы возвращает ошибку, Update-Module определяющую проблемные процессы. Пользователь уведомляется о том, что нужно повторить попытку Update-Module после остановки процессов.