PowerShell installeren in Windows

Er zijn meerdere manieren om PowerShell te installeren in Windows. Elke installatiemethode is ontworpen ter ondersteuning van verschillende scenario's en werkstromen. Kies de methode die het beste bij uw behoeften past.

  • MSI-pakket - De beste keuze voor de dagelijkse gebruiker.
  • ZIP-pakket : de eenvoudigste manier om meerdere versies te installeren of te gebruiken in een CI/CD-pijplijn. Dit is de installatiemethode voor Windows Nano Server- Windows IoT- en Arm-systemen.
  • .NET Global Tool : een goede keuze voor .NET-ontwikkelaars die andere globale hulpprogramma's installeren en gebruiken.
  • Winget: voor gebruikers die liever het nieuwe hulpprogramma Windows-pakketbeheerder gebruiken.
  • Microsoft Store-pakket: een eenvoudige manier om te installeren voor casual gebruikers van PowerShell, maar heeft beperkingen.

Notitie

De installatieopdrachten in dit artikel zijn bedoeld voor de nieuwste stabiele versie van PowerShell. Als u een andere versie van PowerShell wilt installeren, past u de opdracht aan zodat deze overeenkomt met de versie die u nodig hebt. Met de volgende koppelingen wordt u naar de releasepagina geleid voor elke versie in de PowerShell-opslagplaats op GitHub.

Downloadkoppelingen voor elk pakket vindt u in de sectie Assets van de releasepagina. De sectie Assets kan worden samengevouwen, dus mogelijk moet u erop klikken om deze uit te vouwen.

Het MSI-pakket installeren

Als u PowerShell wilt installeren op Windows, gebruikt u de volgende koppelingen om het installatiepakket te downloaden van GitHub.

Nadat u het bestand hebt gedownload, dubbelklikt u op het installatiebestand en volgt u de aanwijzingen.

Het installatieprogramma maakt een snelkoppeling in het Windows Startmenu.

  • Standaard wordt het pakket geïnstalleerd op $env:ProgramFiles\PowerShell\<version>
  • U kunt PowerShell starten via het startmenu of $env:ProgramFiles\PowerShell\<version>\pwsh.exe

Notitie

PowerShell 7.2 wordt geïnstalleerd in een nieuwe map en wordt naast Windows PowerShell 5.1 uitgevoerd. PowerShell 7.2 is een in-place upgrade die PowerShell 7.0 en lager vervangt.

  • PowerShell 7.2 is geïnstalleerd op $env:ProgramFiles\PowerShell\7
  • De $env:ProgramFiles\PowerShell\7 map wordt toegevoegd aan $env:PATH
  • Mappen voor eerder uitgebrachte versies worden verwijderd

Als u PowerShell 7.2 naast andere versies wilt uitvoeren, gebruikt u de ZIP-installatiemethode om de andere versie in een andere map te installeren.

Ondersteuning voor Microsoft Update in PowerShell 7.2

PowerShell 7.2 biedt ondersteuning voor Microsoft Update. Wanneer u deze functie inschakelt, krijgt u de nieuwste PowerShell 7-updates in uw traditionele Microsoft Update-beheerstroom (MU), ongeacht of dat is met Windows Update voor Bedrijven, WSUS, Microsoft Endpoint Configuration Manager of het interactieve MU-dialoogvenster in Instellingen.

Het MSI-pakket van PowerShell 7.2 bevat de volgende opdrachtregelopties:

  • USE_MU - Deze eigenschap heeft twee mogelijke waarden:
    • 1(standaard): ervoor kiezen om bij te werken via Microsoft Update, WSUS of Configuration Manager
    • 0- Kies niet voor het bijwerken via Microsoft Update, WSUS of Configuration Manager
  • ENABLE_MU
    • 1 (standaard) - Opt-in voor het gebruik van Microsoft Update voor automatische updates
    • 0 - Meld u niet aan voor het gebruik van Microsoft Update

Notitie

Het inschakelen van updates is mogelijk ingesteld in een eerdere installatie of handmatige configuratie. Als ENABLE_MU=0 u dit gebruikt, worden de bestaande instellingen niet verwijderd. Deze instelling kan ook worden overschreven door groepsbeleid instellingen die worden beheerd door uw beheerder.

Zie de veelgestelde vragen over PowerShell Microsoft Update voor meer informatie.

Het MSI-pakket installeren vanaf de opdrachtregel

MSI-pakketten kunnen vanaf de opdrachtregel worden geïnstalleerd, zodat beheerders pakketten kunnen implementeren zonder tussenkomst van de gebruiker. Het MSI-pakket bevat de volgende eigenschappen om de installatieopties te beheren:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL- Met deze eigenschap bepaalt u de optie voor het toevoegen van het Open PowerShell item aan het contextmenu in Windows Explorer.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL- Met deze eigenschap bepaalt u de optie voor het toevoegen van het Run with PowerShell item aan het contextmenu in Windows Explorer.
  • ENABLE_PSREMOTING - Deze eigenschap bepaalt de optie voor het inschakelen van externe communicatie met PowerShell tijdens de installatie.
  • REGISTER_MANIFEST- Met deze eigenschap bepaalt u de optie voor het registreren van het manifest Windows gebeurtenislogboek.

In het volgende voorbeeld ziet u hoe u PowerShell op de achtergrond installeert met alle installatieopties ingeschakeld.

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

Zie Opdrachtregelopties voor Msiexec.exeeen volledige lijst met opdrachtregelopties.

Het ZIP-pakket installeren

Binaire ZIP-archieven van PowerShell zijn beschikbaar om geavanceerde implementatiescenario's mogelijk te maken. Download een van de volgende ZIP-archieven op de huidige releasepagina .

Afhankelijk van hoe u het bestand downloadt, moet u het bestand mogelijk deblokkeren met behulp van de Unblock-File cmdlet. Pak de inhoud uit naar de locatie van uw keuze en voer de inhoud daar uit pwsh.exe . In tegenstelling tot het installeren van de MSI-pakketten, controleert het installeren van het ZIP-archief niet op vereisten. Zorg ervoor dat u aan de vereisten voldoet om externe communicatie via WSMan goed te laten werken.

Gebruik deze methode om de ARM-versie van PowerShell te installeren op computers zoals microsoft Surface Pro X. Voor de beste resultaten installeert u PowerShell in de map.$env:ProgramFiles\PowerShell\7

Installeren als een algemeen .NET-hulpprogramma

Als u de .NET Core SDK al hebt geïnstalleerd, kunt u PowerShell installeren als een .NET Global-hulpprogramma.

dotnet tool install --global PowerShell

Het installatieprogramma voor het dotnet-hulpprogramma wordt toegevoegd $env:USERPROFILE\.dotnet\tools aan uw $env:PATH omgevingsvariabele. De momenteel actieve shell heeft echter niet de bijgewerkte versie $env:PATH. U kunt PowerShell starten vanuit een nieuwe shell door te typen pwsh.

PowerShell installeren met Winget

Winget, de Windows-pakketbeheerder, is een opdrachtregelprogramma waarmee ontwikkelaars toepassingen op Windows 10 computers kunnen detecteren, installeren, upgraden, verwijderen en configureren. Dit hulpprogramma is de clientinterface voor de Windows-pakketbeheerder-service.

Notitie

Zie de winget-documentatie voor een lijst met systeemvereisten en installatie-instructies.

De volgende opdrachten kunnen worden gebruikt om PowerShell te installeren met behulp van de gepubliceerde winget pakketten:

Zoeken naar de nieuwste versie van PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version Source
---------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.2.3.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.3.0.3 winget

Powershell of PowerShell Preview installeren met behulp van de id parameter

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

Installeren vanuit de Microsoft Store

PowerShell 7.2 kan worden geïnstalleerd vanuit de Microsoft Store. U vindt de PowerShell-release op de Microsoft Store-site of in de Store-toepassing in Windows.

Voordelen van het Microsoft Store pakket:

  • Automatische updates die rechtstreeks zijn ingebouwd in Windows
  • Integreert met andere softwaredistributiemechanismen zoals Intune en Configuration Manager

Bekende beperkingen

Standaard worden Windows Store-pakketten uitgevoerd in een toepassings sandbox waarmee de toegang tot sommige bestandssysteem- en registerlocaties wordt gevirtualiseerd. Wijzigingen in gevirtualiseerde bestands- en registerlocaties blijven niet behouden buiten de sandbox van de toepassing.

Deze sandbox blokkeert alle wijzigingen in de hoofdmap van de toepassing. Configuratie-instellingen op systeemniveau die zijn opgeslagen in $PSHOME kunnen niet worden gewijzigd. Dit omvat de WSMAN-configuratie. Hiermee voorkomt u dat externe sessies verbinding maken met op Store gebaseerde installaties van PowerShell. Configuraties op gebruikersniveau en externe SSH-communicatie worden ondersteund.

De volgende opdrachten moeten worden geschreven naar $PSHOME. Deze opdrachten worden niet ondersteund in een Microsoft Store exemplaar van PowerShell.

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

Zie Understanding how packaged desktop apps run on Windows (Informatie over hoe verpakte bureaublad-apps worden uitgevoerd op Windows) voor meer informatie.

Wijzigingen voor PowerShell 7.2

Vanaf PowerShell 7.2 is het PowerShell-pakket nu vrijgesteld van bestands- en registervirtualisatie. Wijzigingen in gevirtualiseerde bestands- en registerlocaties blijven nu buiten de sandbox van de toepassing staan. Wijzigingen in de hoofdmap van de toepassing worden echter nog steeds geblokkeerd.

Belangrijk

U moet worden uitgevoerd op Windows build 1903 of hoger om deze uitzondering te laten werken.

Een preview-versie installeren

Preview-versies van PowerShell 7 installeren zodat $env:ProgramFiles\PowerShell\7-preview ze naast elkaar kunnen worden uitgevoerd met niet-preview-versies van PowerShell. PowerShell 7.3 is de volgende preview-versie.

Een bestaande installatie upgraden

Voor de beste resultaten bij het upgraden moet u dezelfde installatiemethode gebruiken die u hebt gebruikt toen u PowerShell voor het eerst installeerde. Elke installatiemethode installeert PowerShell op een andere locatie. Als u niet zeker weet hoe PowerShell is geïnstalleerd, kunt u de geïnstalleerde locatie vergelijken met de pakketgegevens in dit artikel. Als u via het MSI-pakket hebt geïnstalleerd, wordt die informatie weergegeven in de programma's en onderdelen Configuratiescherm.

Implementeren op Windows 10 IoT Enterprise

Windows 10 IoT Enterprise wordt geleverd met Windows PowerShell, die we kunnen gebruiken om PowerShell 7 te implementeren.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.2.3-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.2.3-win-Arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.2.3-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 .

Wanneer u Externe communicatie van PowerShell instelt, krijgt u een foutbericht en wordt de verbinding met het apparaat verbroken. PowerShell moet WinRM opnieuw starten. U kunt nu verbinding maken met het PowerShell 7-eindpunt op het apparaat.


# 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.2.3

Implementeren op Windows 10 IoT Core

Windows 10 IoT Core voegt Windows PowerShell toe wanneer u IOT_POWERSHELL functie opneemt, die we kunnen gebruiken om PowerShell 7 te implementeren. De hierboven gedefinieerde stappen voor Windows 10 IoT Enterprise kunnen ook worden gevolgd voor IoT Core.

Als u de nieuwste PowerShell in de verzendinstallatiekopieën wilt toevoegen, gebruikt u de opdracht Import-PSCoreRelease om het pakket op te nemen in de workarea en voegt u OPENSRC_POWERSHELL functie toe aan uw afbeelding.

Notitie

Voor arm64-architectuur wordt Windows PowerShell niet toegevoegd wanneer u IOT_POWERSHELL opneemt. De installatie op basis van zip werkt dus niet. U moet de opdracht gebruiken Import-PSCoreRelease om deze toe te voegen aan de installatiekopieën.

Implementeren op Nano Server

In deze instructies wordt ervan uitgegaan dat de Nano Server een 'headless' besturingssysteem is dat al een versie van PowerShell bevat. Zie de documentatie van Nano Server Image Builder voor meer informatie.

Binaire PowerShell-bestanden kunnen worden geïmplementeerd met behulp van twee verschillende methoden.

  1. Offline: koppel de Nano Server-VHD en pak de inhoud van het zip-bestand uit naar de locatie die u hebt gekozen in de gekoppelde installatiekopie.
  2. Online: breng het zip-bestand over via een PowerShell-sessie en pak het uit op uw gekozen locatie.

In beide gevallen hebt u het Windows x64 ZIP-releasepakket nodig. Voer de opdrachten uit binnen een 'Administrator'-exemplaar van PowerShell.

Offline-implementatie van PowerShell

  1. Gebruik uw favoriete zip-hulpprogramma om het pakket uit te pakken in een map in de gekoppelde Nano Server-installatiekopieën.
  2. Ontkoppel de installatiekopie en start deze op.
  3. Verbinding maken naar het ingebouwde exemplaar van Windows PowerShell.
  4. Volg de instructies voor het maken van een eindpunt voor externe communicatie met behulp van de 'techniek van een ander exemplaar'.

Online implementatie van PowerShell

Implementeer PowerShell in Nano Server met behulp van de volgende stappen.

# 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.2.3-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.2.3-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Als u externe communicatie op basis van WSMan wilt, volgt u de instructies om een eindpunt voor externe communicatie te maken met behulp van de 'andere instantietechniek'.

Externe communicatie van powershell

PowerShell ondersteunt het Externe Protocol (PSRP) van PowerShell via zowel WSMan als SSH. Zie voor meer informatie:

Aan de volgende vereisten moet worden voldaan om externe communicatie van PowerShell via WSMan in te schakelen in oudere versies van Windows.

  • Installeer de Windows Management Framework (WMF) 5.1 (indien nodig). Zie WMF-overzicht voor meer informatie over WMF.
  • Installeer de Universal C Runtime op Windows versies vóór Windows 10. Het is beschikbaar via direct downloaden of Windows Update. Op volledig gepatchte systemen is dit pakket al geïnstalleerd.

Ondersteunde versies van Windows

De volgende tabel is een lijst met PowerShell-releases en de versies van Windows ze worden ondersteund. Deze versies worden ondersteund totdat de versie van PowerShell het einde van de ondersteuning bereikt of de versie van Windows einde van ondersteuning bereikt.

  • Een ✅ geeft aan dat de versie van het besturingssysteem of PowerShell nog steeds wordt ondersteund
  • Een ❌ geeft aan dat de versie van het besturingssysteem of PowerShell niet wordt ondersteund
  • Een 🟡 geeft aan dat de versie van PowerShell niet meer wordt ondersteund op die versie van het besturingssysteem
  • Wanneer zowel de versie van het besturingssysteem als de versie van PowerShell ✅, wordt die combinatie ondersteund
Windows 7.0 (LTS) 7.1 7.2 (LTS-current) 7.3 (preview)
✅ Windows Server 2016, 2019 of 2022
✅ Windows Server 2012 R2
✅ Windows Server Core (2012 R2 of hoger)
✅ Windows Server Nano (1809 of hoger)
❌ Windows Server 2012 🟡 🟡
❌ Windows Server 2008 R2 🟡 🟡
✅ Windows 11
✅ Windows 10 1607+
✅ Windows 8.1

Notitie

Ondersteuning voor een specifieke versie van Windows wordt bepaald door het Microsoft-ondersteuning Lifecycle-beleid. Zie voor meer informatie:

PowerShell wordt ondersteund op Windows voor de volgende processorarchitectarchitecten.

Windows 7.0 (LTS) 7.1 7.2 (LTS-current) 7.3 (preview)
Nano Server versie 1803+ x64, Arm32 x64 x64 x64
Windows Server 2012 R2+ x64, x86 x64, x86 x64, x86 x64, x86
Windows Server Core 2012 R2+ x64, x86 x64, x86 x64, x86 x64, x86
Windows 10 of 11 Client x64, x86 x64, x86, Arm64 x64, x86, Arm64 x64, x86, Arm64
Windows 8.1 Client x64, x86 x64, x86 x64, x86 x64, x86

U kunt de versie controleren die u gebruikt door uit te voeren winver.exe.

Installatieondersteuning

Microsoft ondersteunt de installatiemethoden in dit document. Er kunnen andere installatiemethoden van derden beschikbaar zijn vanuit andere bronnen. Hoewel deze hulpprogramma's en methoden mogelijk werken, kan Microsoft deze methoden niet ondersteunen.