Instalowanie programu PowerShell w systemie Windows

Istnieje wiele sposobów instalowania programu PowerShell w systemie Windows. Każda metoda instalacji jest przeznaczona do obsługi różnych scenariuszy i przepływów pracy. Wybierz metodę, która najlepiej odpowiada Twoim potrzebom.

  • Winget — zalecany sposób instalowania programu PowerShell na klientach systemu Windows
  • Pakiet MSI — najlepszy wybór dla scenariuszy wdrażania systemów Windows Server i przedsiębiorstwa
  • Pakiet ZIP — najprostszy sposób ładowania bezpośredniego lub instalowania wielu wersji
    • Użyj tej metody w systemach Windows Nano Server, Windows IoT i Arm
  • Narzędzie globalne platformy .NET — dobry wybór dla deweloperów platformy .NET, którzy instalują i używają innych narzędzi globalnych
  • Pakiet microsoft Store — łatwy sposób instalacji dla zwykłych użytkowników programu PowerShell, ale ma ograniczenia

Uwaga

Polecenia instalacji w tym artykule dotyczą najnowszej stabilnej wersji programu PowerShell. Aby zainstalować inną wersję programu PowerShell, dostosuj polecenie, aby było zgodne z potrzebną wersją. Poniższe linki prowadzą do strony wydania dla każdej wersji w repozytorium programu PowerShell w usłudze GitHub.

Linki pobierania dla każdego pakietu znajdują się w sekcji Zasoby na stronie Wydanie. Sekcja Zasoby może zostać zwinięta, więc może być konieczne kliknięcie, aby ją rozwinąć.

Winget, Menedżer pakietów systemu Windows, jest narzędziem wiersza polecenia umożliwia użytkownikom odnajdywanie, instalowanie, uaktualnianie, usuwanie i konfigurowanie aplikacji na komputerach klienckich z systemem Windows. To narzędzie jest interfejsem klienta usługi Menedżer pakietów systemu Windows. winget Narzędzie wiersza polecenia jest domyślnie powiązane z systemem Windows 11 i nowoczesnymi wersjami systemu Windows 10 jako Instalator aplikacji.

Uwaga

Zapoznaj się z dokumentacją zestawu winget, aby uzyskać listę wymagań systemowych i instrukcje instalacji. Winget obecnie nie działa na serwerach z systemem Windows.

Następujące polecenia mogą służyć do instalowania programu PowerShell przy użyciu opublikowanych winget pakietów:

Wyszukaj najnowszą wersję programu PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.2.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.5.0.2   winget

Instalowanie programu PowerShell lub programu PowerShell w wersji zapoznawczej przy użyciu parametru id

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

Uwaga

W systemach Windows korzystających z procesora winget X86 lub X64 instaluje pakiet MSI. W systemach korzystających z procesora winget Arm64 program instaluje pakiet Microsoft Store (MSIX). Aby uzyskać więcej informacji, zobacz Instalowanie ze sklepu Microsoft Store.

Instalowanie pakietu MSI

Aby zainstalować program PowerShell w systemie Windows, użyj poniższych linków, aby pobrać pakiet instalacyjny z usługi GitHub.

Po pobraniu kliknij dwukrotnie plik instalatora i postępuj zgodnie z monitami.

Instalator tworzy skrót w menu Start systemu Windows.

  • Domyślnie pakiet jest instalowany w programie $env:ProgramFiles\PowerShell\<version>
  • Program PowerShell można uruchomić za pomocą menu Start lub $env:ProgramFiles\PowerShell\<version>\pwsh.exe

Uwaga

Program PowerShell 7.4 jest instalowany w nowym katalogu i działa równolegle z programem Windows PowerShell 5.1. Program PowerShell 7.4 to uaktualnienie w miejscu, które usuwa poprzednie wersje programu PowerShell 7. Wersje zapoznawcza programu PowerShell można zainstalować obok innych wersji programu PowerShell.

  • Program PowerShell 7.4 jest zainstalowany w programie $env:ProgramFiles\PowerShell\7
  • Folder $env:ProgramFiles\PowerShell\7 jest dodawany do $env:PATH

Jeśli musisz uruchomić program PowerShell 7.4 obok innych wersji, użyj metody instalacji ZIP, aby zainstalować inną wersję w innym folderze.

Obsługa usługi Microsoft Update w programie PowerShell 7.2 i nowszych

Program PowerShell 7.2 i nowsze wersje obsługują usługę Microsoft Update. Po włączeniu tej funkcji uzyskasz najnowsze aktualizacje programu PowerShell 7 w tradycyjnym przepływie zarządzania usługi Microsoft Update (MU), niezależnie od tego, czy dotyczy to usług Windows Update dla firm, WSUS, Microsoft Endpoint Configuration Manager, czy interaktywnego okna dialogowego MU w Ustawienia.

Pakiet MSI programu PowerShell zawiera następujące opcje wiersza polecenia:

  • USE_MU - Ta właściwość ma dwie możliwe wartości:
    • 1 (ustawienie domyślne) — wyraża zgodę na aktualizowanie za pośrednictwem usługi Microsoft Update, WSUS lub Configuration Manager
    • 0 — Nie wyrażaj zgody na aktualizowanie za pośrednictwem usługi Microsoft Update, WSUS ani programu Configuration Manager
  • ENABLE_MU
    • 1(ustawienie domyślne) — wyraża zgodę na korzystanie z usługi Microsoft Update na potrzeby automatycznego Aktualizacje
    • 0 — Nie wyrażaj zgody na korzystanie z usługi Microsoft Update

Uwaga

Włączenie aktualizacji mogło zostać ustawione w poprzedniej instalacji lub konfiguracji ręcznej. Użycie ENABLE_MU=0 nie powoduje usunięcia istniejących ustawień. Ponadto to ustawienie może zostać unieważnione przez ustawienia zasad grupy kontrolowane przez administratora.

Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące usługi Microsoft Update programu PowerShell.

Instalowanie pakietu MSI z poziomu wiersza polecenia

Pakiety MSI można zainstalować z poziomu wiersza polecenia, umożliwiając administratorom wdrażanie pakietów bez interakcji użytkownika. Pakiet MSI zawiera następujące właściwości do kontrolowania opcji instalacji:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL — Ta właściwość steruje opcją dodawania Open PowerShell elementu do menu kontekstowego w Eksploratorze Windows.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL — Ta właściwość steruje opcją dodawania Run with PowerShell elementu do menu kontekstowego w Eksploratorze Windows.
  • ENABLE_PSREMOTING — Ta właściwość steruje opcją włączania komunikacji zdalnej programu PowerShell podczas instalacji.
  • REGISTER_MANIFEST — Ta właściwość steruje opcją rejestrowania manifestu rejestrowania zdarzeń systemu Windows.
  • ADD_PATH — Ta właściwość steruje opcją dodawania programu PowerShell do zmiennej środowiskowej PATH systemu Windows.
  • DISABLE_TELEMETRY — Ta właściwość steruje opcją wyłączania telemetrii programu PowerShell przez ustawienie zmiennej środowiskowej POWERSHELL_TELEMETRY_OPTOUT .
  • INSTALLFOLDER — Ta właściwość kontroluje katalog instalacyjny. Wartość domyślna to $env:ProgramFiles\PowerShell\. Jest to lokalizacja, w której instalator tworzy podfolder wersji. Nie można zmienić nazwy podfolderu wersji.
    • W przypadku bieżących wersji podfolder wersji jest 7
    • W przypadku wersji zapoznawczych podfolder wersji jest wersjonowany 7-preview

W poniższym przykładzie pokazano, jak dyskretnie zainstalować program PowerShell z włączonymi wszystkimi opcjami instalacji.

msiexec.exe /package PowerShell-7.4.2-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

Aby uzyskać pełną listę opcji wiersza polecenia dla Msiexec.exeprogramu , zobacz Opcje wiersza polecenia.

Instalowanie pakietu ZIP

Dostępne są binarne archiwa ZIP programu PowerShell umożliwiające zaawansowane scenariusze wdrażania. Pobierz jedno z następujących archiwów ZIP ze strony bieżącej wersji .

W zależności od sposobu pobierania pliku może być konieczne odblokowanie pliku przy użyciu Unblock-File polecenia cmdlet . Rozpakuj zawartość do wybranej lokalizacji i uruchom stamtąd pwsh.exe . W przeciwieństwie do instalowania pakietów MSI instalowanie archiwum ZIP nie sprawdza wymagań wstępnych. Aby komunikacja zdalna za pośrednictwem programu WSMan działała prawidłowo, upewnij się, że zostały spełnione wymagania wstępne.

Użyj tej metody, aby zainstalować wersję programu PowerShell opartą na usłudze ARM na komputerach takich jak Microsoft Surface Pro X. Aby uzyskać najlepsze wyniki, zainstaluj program PowerShell w folderze to $env:ProgramFiles\PowerShell\7 .

Instalowanie jako narzędzie globalne platformy .NET

Jeśli masz już zainstalowany zestaw .NET Core SDK , możesz zainstalować program PowerShell jako narzędzie globalne platformy .NET.

dotnet tool install --global PowerShell

Instalator narzędzia dotnet dodaje $HOME\.dotnet\tools do $env:PATH zmiennej środowiskowej. Jednak aktualnie uruchomiona powłoka nie ma zaktualizowanego $env:PATHelementu . Możesz uruchomić program PowerShell z nowej powłoki, wpisując pwsh.

Instalowanie ze sklepu Microsoft Store

Program PowerShell można zainstalować ze sklepu Microsoft Store. Wydanie programu PowerShell można znaleźć w witrynie sklepu Microsoft Store lub w aplikacji Store w systemie Windows.

Zalety pakietu Microsoft Store:

  • Aktualizacje automatyczne wbudowane bezpośrednio w system Windows
  • Integruje się z innymi mechanizmami dystrybucji oprogramowania, takimi jak usługa Intune i program Configuration Manager
  • Można zainstalować w systemach Windows przy użyciu procesorów x86, x64 lub Arm64

Znane ograniczenia

Domyślnie pakiety Sklepu Windows są uruchamiane w piaskownicy aplikacji, która wirtualizuje dostęp do niektórych systemów plików i lokalizacji rejestru. Zmiany w zwirtualizowanych lokalizacjach plików i rejestru nie są utrwalane poza piaskownicą aplikacji.

Ta piaskownica blokuje wszystkie zmiany w folderze głównym aplikacji. Nie można modyfikować żadnych ustawień konfiguracji na poziomie systemu.$PSHOME Obejmuje to konfigurację programu WSMAN. Zapobiega to nawiązywaniu połączenia sesji zdalnych z instalacjami programu PowerShell opartymi na magazynie. Obsługiwane są konfiguracje na poziomie użytkownika i komunikacja zdalna SSH.

Następujące polecenia wymagają zapisu w pliku $PSHOME. Te polecenia nie są obsługiwane w wystąpieniu programu PowerShell w sklepie Microsoft Store.

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

Aby uzyskać więcej informacji, zobacz Opis sposobu uruchamiania spakowanych aplikacji klasycznych w systemie Windows.

Zmiany programu PowerShell 7.2

Począwszy od programu PowerShell 7.2, pakiet programu PowerShell jest teraz wykluczony z wirtualizacji plików i rejestru. Zmiany w zwirtualizowanych lokalizacjach plików i rejestru są teraz utrwalane poza piaskownicą aplikacji. Jednak zmiany w folderze głównym aplikacji są nadal blokowane.

Ważne

Aby to wykluczenie działało, należy uruchomić w kompilacji systemu Windows 1903 lub nowszej.

Instalowanie wersji zapoznawczej

Wersje zapoznawcza programu PowerShell 7 są instalowane w taki sposób, aby $env:ProgramFiles\PowerShell\7-preview mogły być uruchamiane równolegle z wersjami innych niż wersja zapoznawcza programu PowerShell. Program PowerShell 7.4 to kolejna wersja zapoznawcza.

Uaktualnianie istniejącej instalacji

Aby uzyskać najlepsze wyniki podczas uaktualniania, należy użyć tej samej metody instalacji, która została użyta podczas pierwszego zainstalowania programu PowerShell. Jeśli nie masz pewności, jak program PowerShell został zainstalowany, możesz sprawdzić wartość $PSHOME zmiennej, która zawsze wskazuje katalog zawierający program PowerShell, który jest uruchomiony w bieżącej sesji.

  • Jeśli wartość to $HOME\.dotnet\tools, program PowerShell został zainstalowany za pomocą narzędzia globalnego platformy .NET.
  • Jeśli wartość to $Env:ProgramFiles\PowerShell\7, program PowerShell został zainstalowany jako pakiet MSI lub zestaw Winget na komputerze z procesorem X86 lub x64.
  • Jeśli wartość zaczyna się od $Env:ProgramFiles\WindowsApps\, program PowerShell został zainstalowany jako pakiet microsoft Store lub zestaw Winget na komputerze z procesorem ARM.
  • Jeśli wartość to coś innego, prawdopodobnie program PowerShell został zainstalowany jako pakiet ZIP.

Jeśli pakiet MSI został zainstalowany, te informacje są również wyświetlane w Panel sterowania Programy i funkcje.

Aby określić, czy program PowerShell może zostać uaktualniony przy użyciu zestawu Winget, uruchom następujące polecenie:

winget list --name PowerShell --upgrade-available

Jeśli istnieje dostępne uaktualnienie, dane wyjściowe wskazują najnowszą dostępną wersję.

Uwaga

Podczas uaktualniania program PowerShell nie uaktualni wersji LTS do wersji innej niż LTS. Uaktualnia tylko do najnowszej wersji LTS, na przykład z wersji 7.2.3 do 7.2.19. Aby uaktualnić z wersji LTS do nowszej stabilnej wersji lub kolejnej wersji LTS, należy zainstalować nową wersję przy użyciu tożsamości usługi zarządzanej dla tej wersji.

Jeśli zainstalowana wersja nie jest wersją LTS, program PowerShell uaktualnia go do najnowszej stabilnej wersji.

Wdrażanie w systemie Windows 10 IoT Enterprise

System Windows 10 IoT Enterprise jest dostarczany z programem Windows PowerShell, którego możemy użyć do wdrożenia programu PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.2-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.4.2-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.2-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

Podczas konfigurowania komunikacji zdalnej programu PowerShell jest wyświetlany komunikat o błędzie i odłączony od urządzenia. Program PowerShell musi ponownie uruchomić usługę WinRM. Teraz możesz nawiązać połączenie z punktem końcowym programu PowerShell 7 na urządzeniu.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.4.2

Wdrażanie w systemie Windows 10 IoT Core

System Windows 10 IoT Core dodaje program Windows PowerShell podczas dołączania funkcji IOT_POWERSHELL , której możemy użyć do wdrożenia programu PowerShell 7. Kroki zdefiniowane powyżej dla systemu Windows 10 IoT Enterprise można również wykonać dla usługi IoT Core.

Aby dodać najnowszy program PowerShell na obrazie wysyłkowym, użyj polecenia Import-PSCoreRelease, aby dołączyć pakiet do obszaru roboczego i dodać OPENSRC_POWERSHELL funkcji do obrazu.

Uwaga

W przypadku architektury ARM64 program Windows PowerShell nie jest dodawany podczas dołączania IOT_POWERSHELL. Dlatego instalacja oparta na pliku zip nie działa. Musisz użyć Import-PSCoreRelease polecenia , aby dodać go na obrazie.

Wdrażanie na serwerze Nano Server

W tych instrukcjach przyjęto założenie, że system operacyjny Nano Server jest "bezgłowy", który ma już uruchomioną wersję programu PowerShell. Aby uzyskać więcej informacji, zobacz dokumentację narzędzia Nano Server Image Builder .

Pliki binarne programu PowerShell można wdrożyć przy użyciu dwóch różnych metod.

  1. Offline — zainstaluj dysk VHD serwera Nano Server i rozpakuj zawartość pliku zip do wybranej lokalizacji w ramach zainstalowanego obrazu.
  2. Online — przenieś plik zip za pośrednictwem sesji programu PowerShell i rozpakuj go w wybranej lokalizacji.

W obu przypadkach potrzebny jest pakiet wersji ZIP systemu Windows x64. Uruchom polecenia w wystąpieniu programu PowerShell "Administracja istrator".

Wdrażanie programu PowerShell w trybie offline

  1. Użyj ulubionego narzędzia zip, aby rozpakować pakiet do katalogu w zainstalowanym obrazie serwera Nano Server.
  2. Odinstaluj obraz i uruchom go.
  3. Połączenie do wbudowanego wystąpienia programu Windows PowerShell.
  4. Postępuj zgodnie z instrukcjami, aby utworzyć punkt końcowy komunikacji wirtualnej przy użyciu "innej techniki wystąpienia".

Wdrażanie online programu PowerShell

Wdróż program PowerShell na serwerze Nano Server, wykonując następujące kroki.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.4.2-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.4.2-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Jeśli chcesz, aby komunikacja zdalna oparta na programie WSMan, postępuj zgodnie z instrukcjami, aby utworzyć punkt końcowy komunikacji wirtualnej przy użyciu "innej techniki wystąpienia".

Komunikacja zdalna programu PowerShell

Program PowerShell obsługuje protokół komunikacji zdalnej programu PowerShell (PSRP) zarówno w programie WSMan, jak i SSH. Aby uzyskać więcej informacji, zobacz:

Aby włączyć zdalną obsługę zdalną programu PowerShell za pośrednictwem programu WSMan w starszych wersjach systemu Windows, należy spełnić następujące wymagania wstępne.

  • Zainstaluj program Windows Management Framework (WMF) 5.1 (w razie potrzeby). Aby uzyskać więcej informacji na temat programu WMF, zobacz Omówienie programu WMF.
  • Zainstaluj środowisko uniwersalnego środowiska uruchomieniowego języka C w wersjach systemu Windows przed systemem Windows 10. Jest ona dostępna za pośrednictwem bezpośredniego pobierania lub usługi Windows Update. W pełni poprawione systemy mają już zainstalowany ten pakiet.

Obsługiwane wersje systemu Windows

Poniższa tabela zawiera listę wersji programu PowerShell i obsługiwanych wersji systemu Windows. Te wersje są obsługiwane, dopóki wersja programu PowerShell nie osiągnie końca wsparcia lub wersja systemu Windows osiągnie koniec wsparcia.

  • Ikona Obsługiwane wskazuje, że wersja systemu operacyjnego lub programu PowerShell jest nadal obsługiwana
  • Ikona Brak pomocy technicznej wskazuje, że wersja programu PowerShell nie jest już obsługiwana w tej wersji systemu operacyjnego
  • Ikona W teście wskazuje, że nie ukończyliśmy testowania programu PowerShell w tym systemie operacyjnym
  • Ikona Nieobsługiwany wskazuje, że wersja systemu operacyjnego lub programu PowerShell nie jest obsługiwana
  • Jeśli obie wersje systemu operacyjnego i wersji programu PowerShell mają ikonę Obsługiwane , ta kombinacja jest obsługiwana
Windows 7.2 (poprzednia wersja LTS) 7.3 7.4 (bieżący LTS)
Obsługiwane Windows Server 2016, 2019 lub 2022 Obsługiwane Obsługiwane Obsługiwane
Obsługiwane Windows Server Nano (1809 lub nowszy) Obsługiwane Obsługiwane Obsługiwane
Obsługiwane Windows 11 Obsługiwane Obsługiwane Obsługiwane
Obsługiwane Windows 10 1607+ Obsługiwane Obsługiwane Obsługiwane

Uwaga

Obsługa określonej wersji systemu Windows jest określana przez zasady cyklu życia pomoc techniczna firmy Microsoft. Aby uzyskać więcej informacji, zobacz:

Program PowerShell jest obsługiwany w systemie Windows dla następujących architektur procesora.

Windows 7.2 (bieżący LTS) 7.3 7.4 (bieżący LTS)
Windows Server 2016+ x64, x86 x64, x86 x64, x86
Windows Server Core 2016+ x64, x86 x64, x86 x64, x86
Nano Server w wersji 1803+ x64 x64 x64
Klient systemu Windows 11 x64, Arm64 x64, Arm64 x64, Arm64
Klient systemu Windows 10 x64, x86, Arm64 x64, x86, Arm64 x64, x86, Arm64

Możesz sprawdzić używaną wersję, uruchamiając polecenie winver.exe.

Obsługa instalacji

Firma Microsoft obsługuje metody instalacji w tym dokumencie. Mogą istnieć inne metody instalacji innych firm dostępne z innych źródeł. Chociaż te narzędzia i metody mogą działać, firma Microsoft nie może obsługiwać tych metod.