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 algemene 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 informele gebruikers van PowerShell, maar heeft beperkingen.

Notitie

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

Downloadkoppelingen voor elk pakket vindt u in de sectie Assets van de pagina Release. De sectie Assets is mogelijk 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.

Dubbelklik na het downloaden op het installatiebestand en volg de aanwijzingen.

Het installatieprogramma maakt een snelkoppeling in Windows menu Start.

  • Het pakket is standaard 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 elkaar uitgevoerd met Windows PowerShell 5.1. PowerShell 7.2 is een in-place upgrade powershell 7.0 en lager vervangt.

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

Als u PowerShell 7.2 naast andere versies moet 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 inschakelen, krijgt u de nieuwste PowerShell 7 updates in uw traditionele Microsoft Update (MU)-beheerstroom, of dat nu met Windows Update voor Bedrijven, WSUS, Microsoft Endpoint Configuration Manager of het interactieve MU-dialoogvenster in Instellingen.

Het PowerShell 7.2 MSI-pakket bevat de volgende opdrachtregelopties:

  • USE_MU - Deze eigenschap heeft twee mogelijke waarden:
    • 1 (standaardinstelling) - Kiest voor bijwerken via Microsoft Update, WSUS of Configuration Manager
    • 0 - Kies er niet voor om bij te werken via Microsoft Update, WSUS of Configuration Manager
  • ENABLE_MU
    • 1 (standaardinstelling) - Kiest voor het gebruik van Microsoft Update voor Automatische updates
    • 0 - Kies niet voor het gebruik van Microsoft Update

Notitie

Het inschakelen van updates is mogelijk ingesteld in een eerdere installatie of handmatige configuratie. Met ENABLE_MU=0 wordt de bestaande instellingen niet verwijderd. Deze instelling kan ook worden overruled door de groepsbeleid worden beheerd door uw beheerder.

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

Het MSI-pakket installeren vanaf de opdrachtregel

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

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL- Met deze eigenschap bepaalt u de optie voor het toevoegen van het item aan Open PowerShell het contextmenu in Windows Explorer.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL- Met deze eigenschap bepaalt u de optie voor het toevoegen van het item aan Run with PowerShell het contextmenu in Windows Explorer.
  • ENABLE_PSREMOTING - Met deze eigenschap bepaalt u de optie voor het inschakelen van toegang tot toegang via PowerShell tijdens de installatie.
  • REGISTER_MANIFEST- Deze eigenschap bepaalt de optie voor het registreren van het Windows logboekregistratiemanifest.

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

msiexec.exe /package PowerShell-7.2.1-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 een volledige lijst met Msiexec.exe opdrachtregelopties voor.

Het ZIP-pakket installeren

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

Afhankelijk van hoe u het bestand downloadt, moet u het bestand mogelijk deblokkeren met behulp van de Unblock-File cmdlet . Voer de inhoud uit op de locatie van uw keuze en voer pwsh.exe deze uit. In tegenstelling tot het installeren van de MSI-pakketten, wordt bij het installeren van het ZIP-archief niet op vereisten gecontroleerd. Voor een goede werking van remoting via WSMan moet u ervoor zorgen dat u aan de vereisten hebt voldaan.

Gebruik deze methode om de op ARM gebaseerde versie van PowerShell te installeren op computers zoals de Microsoft Surface Pro X. Voor het beste resultaat installeert u PowerShell in de map $env:ProgramFiles\PowerShell\7 to.

Installeren als een .NET Global-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 dotnet-hulpprogramma-installatieprogramma voegt $env:USERPROFILE\.dotnet\tools toe aan uw $env:PATH omgevingsvariabele. De momenteel lopende shell heeft echter niet de bijgewerkte $env:PATH . U kunt PowerShell starten vanuit een nieuwe shell door te pwsh typen.

PowerShell installeren met Winget

Winget, de Windows-pakketbeheerder, is een opdrachtregelprogramma waarmee ontwikkelaars toepassingen op een computer kunnen ontdekken, installeren, upgraden, verwijderen en Windows 10 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 winget gepubliceerde pakketten:

Zoek naar de nieuwste versie van PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version  Source
----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.2.0.0  winget
Powershell Preview Microsoft.PowerShell.Preview 7.2.0.10 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 vanaf de Microsoft Store

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

Voordelen van het Microsoft Store pakket:

  • Automatische updates ingebouwd in Windows
  • Kan worden geïntegreerd met andere softwaredistributiemechanismen, zoals Intune en Configuration Manager

Bekende beperkingen

Standaard worden Windows Store-pakketten uitgevoerd in een toepassingssandbox die de toegang tot sommige bestandssysteem- en registerlocaties virtualiseert. Wijzigingen in gevirtualiseerde bestands- en registerlocaties blijven niet buiten de toepassings-sandbox bestaan.

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. Dit voorkomt dat externe sessies verbinding maken met op store gebaseerde installaties van PowerShell. Configuraties op gebruikersniveau en SSH-remoting worden ondersteund.

De volgende opdrachten moeten worden geschreven naar $PSHOME . Deze opdrachten worden niet ondersteund in een Microsoft Store 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 (Begrijpen hoe verpakte bureaublad-apps worden uitgevoerd op Windows).

Wijzigingen voor PowerShell 7.2

Vanaf PowerShell 7.2 is het PowerShell-pakket nu uitgesloten van bestands- en registervirtualisatie. Wijzigingen in gevirtualiseerde bestands- en registerlocaties blijven nu buiten de toepassings-sandbox bestaan. 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 worden geïnstalleerd zodat ze naast andere versies van PowerShell kunnen $env:ProgramFiles\PowerShell\7-preview worden uitgevoerd. 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 hebt geïnstalleerd via het MSI-pakket, wordt die informatie weergegeven in de 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.1-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.1-win-Arm64.zip

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

Bij het instellen van De mobiele telefoon van PowerShell wordt een foutbericht weergegeven dat de verbinding met het apparaat is verbroken. PowerShell moet WinRM opnieuw opstarten. 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.1

Implementeren op Windows 10 IoT Core

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

Als u de nieuwste versie van PowerShell wilt toevoegen aan de verzendafbeelding, 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 de IOT_POWERSHELL. De zip-installatie werkt dus niet. U moet de opdracht Import-PSCoreRelease gebruiken om deze toe te voegen aan de afbeelding.

Implementeren op Nano Server

In deze instructies wordt ervan uitgenomen dat de Nano Server een 'headless' besturingssysteem is met een versie van PowerShell die al wordt uitgevoerd. Zie de Documentatie voor Nano Server-Image Builder voor meer informatie.

Binaire PowerShell-bestanden kunnen op twee verschillende manieren worden geïmplementeerd.

  1. Offline: bevestig de Nano Server-VHD en los de inhoud van het zip-bestand uit op de locatie die u hebt gekozen in de bevestigingsafbeelding.
  2. Online: breng het zip-bestand over via een PowerShell-sessie en pakken het uit op de door u gekozen locatie.

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

Offlineimplementatie van PowerShell

  1. Gebruik uw favoriete zip-hulpprogramma om het pakket uit te pak in een map in de bevestigd Nano Server-afbeelding.
  2. Ontkoppel de afbeelding 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 remoting met behulp van de 'techniek van een ander exemplaar'.

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

Als u op WSMan gebaseerde remoting wilt, volgt u de instructies voor het maken van een remoting-eindpunt met behulp van de 'andere instantietechniek'.

Externe communicatie van powershell

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

Aan de volgende vereisten moet worden voldaan om via PowerShell via WSMan op oudere versies van de Windows.

  • Installeer de Windows Management Framework (WMF) 5.1 (indien nodig). Zie WMF Overview (Overzicht van WMF) voor meer informatie over WMF.
  • Installeer universal C Runtime op Windows versies van vóór Windows 10. Deze is beschikbaar via direct downloaden of Windows Update. Dit pakket is al geïnstalleerd op volledig gepatchte systemen.

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 winver.exe werken.

Ondersteuning voor installatie

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