Update-Module
Pobiera i instaluje najnowszą wersję określonych modułów z galerii online na komputerze lokalnym.
Składnia
Update-Module
[[-Name] <String[]>]
[-RequiredVersion <String>]
[-MaximumVersion <String>]
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Force]
[-AllowPrerelease]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Update-Module
cmdlet instaluje najnowszą wersję modułu z galerii online. Zostanie wyświetlony monit o potwierdzenie aktualizacji przed jej zainstalowaniem. Aktualizacje są instalowane tylko w przypadku modułów zainstalowanych na komputerze lokalnym z programem Install-Module
. Update-Module
wyszukuje $env:PSModulePath
zainstalowane moduły.
Update-Module
bez określonych parametrów aktualizuje wszystkie zainstalowane moduły. Aby określić moduł do zaktualizowania, użyj parametru Name . Możesz przeprowadzić aktualizację do określonej wersji modułu przy użyciu parametru RequiredVersion .
Parametry, które przyjmują numery wersji modułu, oczekują ciągów sformatowanych jako numery wersji.
- Numery wersji standardowych mają format
x.y.z
, w którym x, y i z to liczby - Wersje wstępne mają format
x.y.z-<prerelease_label>
, w<prerelease_label>
którym jest przypisany dowolny ciąg do tej wersji.
Jeśli zainstalowany moduł jest już najnowszą wersją, moduł nie jest aktualizowany. Jeśli moduł nie zostanie znaleziony w $env:PSModulePath
pliku , zostanie wyświetlony błąd.
Aby wyświetlić zainstalowane moduły, użyj polecenia Get-InstalledModule
.
Przykłady
Przykład 1: Aktualizowanie wszystkich modułów
Ten przykład aktualizuje wszystkie zainstalowane moduły do najnowszej wersji w galerii online.
Update-Module
Przykład 2: Aktualizowanie modułu według nazwy
Ten przykład aktualizuje określony moduł do najnowszej wersji w galerii online.
Update-Module -Name SpeculationControl
Update-Module
używa parametru Name w celu zaktualizowania określonego modułu , SpeculationControl.
Przykład 3. Wyświetlanie przebiegów Update-Module analizy co-jeżeli
W tym przykładzie jest wykonywany scenariusz analizy co-jeżeli, aby pokazać, co się stanie w przypadku Update-Module
uruchomienia. Polecenie nie jest uruchamiane.
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
używa parametru WhatIf wyświetla, co by się stało, gdyby Update-Module
zostały uruchomione.
Przykład 4. Aktualizowanie modułu do określonej wersji
W tym przykładzie moduł jest aktualizowany do określonej wersji. Wersja musi istnieć w galerii online lub jest wyświetlany błąd.
Update-Module -Name SpeculationControl -RequiredVersion 1.0.14
Update-Module
używa parametru Name w celu określenia modułu SpeculationControl. Parametr RequiredVersion określa wersję 1.0.14.
Przykład 5. Aktualizowanie modułu bez potwierdzenia
W tym przykładzie nie jest wymagane potwierdzenie aktualizacji modułu do najnowszej wersji z galerii online. Jeśli moduł jest już zainstalowany, parametr Force ponownie zainstaluje moduł.
Update-Module -Name SpeculationControl -Force
Update-Module
używa parametru Name w celu określenia modułu SpeculationControl. Parametr Force aktualizuje moduł bez żądania potwierdzenia użytkownika.
Parametry
-AcceptLicense
Automatycznie zaakceptuj umowę licencyjną podczas instalacji, jeśli pakiet go wymaga.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Umożliwia zaktualizowanie modułu przy użyciu nowszego modułu oznaczonego jako wersję wstępną.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia Update-Module
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do aktualizowania modułu.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Wymusza aktualizację każdego określonego modułu bez monitu o potwierdzenie. Jeśli moduł jest już zainstalowany, wymuś ponowne zainstalowanie modułu.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumVersion
Określa maksymalną wersję pojedynczego modułu do zaktualizowania. Nie można dodać tego parametru, jeśli próbujesz zaktualizować wiele modułów. Parametrów MaximumVersion i RequiredVersion nie można użyć w tym samym poleceniu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Określa nazwy co najmniej jednego modułu do zaktualizowania. Update-Module
wyszukuje $env:PSModulePath
moduły do zaktualizowania. Jeśli dla określonej nazwy modułu nie zostaną znalezione $env:PSModulePath
żadne dopasowania, wystąpi błąd.
Symbole wieloznaczne są akceptowane w nazwach modułów. W przypadku dodawania symboli wieloznacznych do określonej nazwy i nie znaleziono dopasowań, nie wystąpi błąd.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-PassThru
Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnego wyniku.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Proxy
Określa serwer proxy dla żądania, zamiast łączyć się bezpośrednio z zasobem internetowym.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do korzystania z serwera proxy określonego przez parametr proxy .
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RequiredVersion
Określa dokładną wersję, do której zostanie zaktualizowany istniejący zainstalowany moduł. Wersja określona przez RequiredVersion musi istnieć w galerii online lub zostanie wyświetlony błąd. Jeśli więcej niż jeden moduł zostanie zaktualizowany w jednym poleceniu, nie można użyć elementu RequiredVersion.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Określa zakres instalacji modułu. Dopuszczalne wartości tego parametru to AllUsers i CurrentUser. Jeśli zakres nie zostanie określony, aktualizacja zostanie zainstalowana w zakresie CurrentUser .
Zakres AllUsers wymaga podniesionych uprawnień i instaluje moduły w lokalizacji dostępnej dla wszystkich użytkowników komputera:
$env:ProgramFiles\PowerShell\Modules
Bieżący użytkownik nie wymaga podniesionych uprawnień i instaluje moduły w lokalizacji dostępnej tylko dla bieżącego użytkownika komputera:
$HOME\Documents\PowerShell\Modules
Jeśli zakres nie jest zdefiniowany, wartość domyślna jest ustawiana na podstawie wersji modułu PowerShellGet.
- W programie PowerShellGet w wersji 2.0.0 lub nowszej wartość domyślna to CurrentUser, która nie wymaga podniesienia uprawnień do instalacji.
- W wersjach powerShellGet 1.x wartość domyślna to AllUsers, która wymaga podniesienia uprawnień do instalacji.
Type: | String |
Accepted values: | CurrentUser, AllUsers |
Position: | Named |
Default value: | CurrentUser |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie w przypadku Update-Module
uruchomienia. Polecenie cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
String[]
Dane wyjściowe
Uwagi
Program PowerShell zawiera następujące aliasy dla Update-Module
programu :
- Wszystkie platformy:
upmo
W przypadku programu PowerShell w wersji 6.0 lub nowszej domyślny zakres instalacji to zawsze CurrentUser.
Aktualizacje modułu dla bieżącego użytkownika, $HOME\Documents\PowerShell\Modules
, nie wymagają podniesionych uprawnień. Aktualizacje modułu dla wszystkich użytkowników, $env:ProgramFiles\PowerShell\Modules
, wymagają podwyższonych uprawnień.
Ważne
Od kwietnia 2020 r. Galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do Galeria programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu programu PowerShell.
Update-Module
działa w wersjach programu PowerShell 3.0 lub nowszych programu PowerShell w systemach Windows 7 lub Windows 2008 R2 i nowszych wersjach systemu Windows.
Jeśli moduł określony za pomocą parametru Name nie został zainstalowany przy użyciu polecenia Install-Module
, wystąpi błąd.
Możesz uruchomić Update-Module
tylko w modułach zainstalowanych z galerii online, uruchamiając polecenie Install-Module
.
Jeśli Update-Module
próbuje zaktualizować pliki binarne, które są używane, Update-Module
zwraca błąd, który identyfikuje procesy problemu. Użytkownik jest informowany o ponowieniu próby Update-Module
po zatrzymaniu procesów.