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


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-PSResource в Microsoft.PowerShell.PSResourceGet. Дополнительные сведения см. в разделе Update-PSResource.

Примеры

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

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

Update-Module

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

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

Update-Module -Name SpeculationControl

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

Пример 3. Просмотр Update-Module запусков Update-Module

В этом примере сценарий what-if показывает, что происходит при 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

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

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

-AllowPrerelease

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

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

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

-Confirm

Запрашивает подтверждение перед запуском Update-Module.

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

-Credential

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

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

-Force

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

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

-MaximumVersion

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

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

-Name

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

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

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

-PassThru

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

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

-Proxy

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

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

-ProxyCredential

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

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

-RequiredVersion

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки: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, для которого требуется повышение прав для установки.
Тип:String
Допустимые значения:CurrentUser, AllUsers
Position:Named
Default value:CurrentUser
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

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

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

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

String[]

Uri

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

Примечания

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

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

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

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

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

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 после остановки процессов.