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 .

Если установленный модуль уже является последней версией, модуль не обновляется. Если модуль не найден $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
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

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

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

-Confirm

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

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

-Credential

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

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

-Force

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

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

-MaximumVersion

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

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

-Name

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

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

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

-PassThru

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

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

-Proxy

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

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

-ProxyCredential

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

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

-RequiredVersion

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

Type:String
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

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

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

String[]

String

PSCredential

Uri

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

Object

Примечания

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