Delen via


Gebruik van de Windows PowerShell 2.0 Engine

Windows PowerShell is ontworpen om achterwaarts compatibel te zijn met eerdere versies. Cmdlets, providers, snap-ins, modules en scripts geschreven voor Windows PowerShell 2.0 draaien ongewijzigd in nieuwere versies van Windows PowerShell. Microsoft .NET Framework 4 heeft echter het runtime-activatiebeleid gewijzigd. Windows PowerShell-hostprogramma's die zijn geschreven voor Windows PowerShell 2.0 en gecompileerd met Common Language Runtime (CLR) 2.0 kunnen niet zonder aanpassing draaien in nieuwe versies van Windows PowerShell die zijn gecompileerd met CLR 4.0 (of hoger).

De Windows PowerShell 2.0 Engine is bedoeld om alleen te worden gebruikt wanneer een bestaand script of hostprogramma niet kan draaien omdat het niet compatibel is met Windows PowerShell 5.1. Voorbeelden hiervan zijn oudere versies van Exchange- of SQL Server-modules. Dergelijke gevallen zullen naar verwachting zeldzaam zijn.

Veel programma's die de Windows PowerShell 2.0 Engine vereisen, starten het automatisch. Deze instructies zijn inbegrepen voor de zeldzame situaties waarin je de motor handmatig moet starten.

Waardevermindering en veiligheidszorgen

Windows PowerShell 2.0 werd in augustus 2017 afgeschaft. Voor meer informatie, zie de aankondiging op de PowerShell-blog.

Windows PowerShell 2.0 mist een aanzienlijk deel van de versterkings- en beveiligingsfuncties die zijn toegevoegd in versies 3, 4 en 5. We raden gebruikers ten zeerste aan om het niet te gebruiken als het niet kan. Voor meer informatie, zie Een vergelijking van Shell en Scripting Language Security en PowerShell ♥ the Blue Team.

Vereiste programma's installeren en inschakelen

Voordat je de Windows PowerShell 2.0 Engine start, schakel je de Windows PowerShell 2.0 Engine en Microsoft .NET Framework 3.5 in met Service Pack 1. Voor instructies, zie Windows PowerShell installeren.

Systemen waarop Windows Management Framework 3.0 of hoger is geïnstalleerd, beschikken over alle benodigde componenten. Verdere configuratie is niet nodig. Voor informatie over het installeren van het Windows Management Framework, zie Installeren en configureer WMF.

Hoe start je de Windows PowerShell 2.0 Engine

Wanneer je Windows PowerShell start, start standaard de nieuwste versie. Om Windows PowerShell te starten met de Windows PowerShell 2.0 Engine, gebruik je de Versie-parameter van PowerShell.exe. Je kunt het commando op elke opdrachtprompt uitvoeren, inclusief Windows PowerShell en Cmd.exe.

PowerShell.exe -Version 2

Hoe start je een externe sessie met de Windows PowerShell 2.0 Engine

Om de Windows PowerShell 2.0 Engine in een externe sessie te draaien, maak je een sessieconfiguratie aan (ook wel een endpoint genoemd) op de externe computer die de Windows PowerShell 2.0 Engine laadt. De sessieconfiguratie wordt opgeslagen op de externe computer en kan door elke geautoriseerde gebruiker worden gebruikt om sessies te maken die gebruikmaken van de Windows PowerShell 2.0 Engine.

Dit is een geavanceerde taak die doorgaans wordt uitgevoerd door een systeembeheerder.

De volgende procedure gebruikt de PSVersion-parameter van de Register-PSSessionConfiguration-cmdlet om een sessieconfiguratie te maken die gebruikmaakt van de Windows PowerShell 2.0 Engine. Je kunt ook de PowerShellVersion-parameter van de New-PSSessionConfigurationFile-cmdlet gebruiken om een sessieconfiguratiebestand te maken voor een sessie dat de Windows PowerShell 2.0 Engine laadt, en je kunt de PSVersion-parameter van de Set-PSSessionConfiguration-parameter gebruiken om een sessieconfiguratie te wijzigen zodat deze de Windows PowerShell 2.0 Engine gebruikt.

Zie about_Session_Configuration_Filesvoor meer informatie over sessieconfiguratiebestanden. Voor informatie over sessieconfiguraties, inclusief installatie en beveiliging, zie about_Session_Configurations.

Om een externe Windows PowerShell 2.0-sessie te starten

  1. Om een sessieconfiguratie te maken die de Windows PowerShell 2.0 Engine vereist, gebruik je de PSVersion-parameter van de Register-PSSessionConfiguration cmdlet met de waarde .2.0 Voer dit commando uit op de computer aan de "serverzijde" of ontvangende kant van de verbinding.

    Het volgende voorbeeldcommando maakt de PS2-sessieconfiguratie aan op de Server01-computer. Om dit commando uit te voeren, start je Windows PowerShell met de optie 'Run as administrator '.

    Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0
    
  2. Om een sessie aan te maken op de Server01-computer die de PS2-sessieconfiguratie gebruikt, gebruik je de ConfigurationName-parameter van cmdlets die een externe sessie aanmaken, zoals de 'New-PSSession-cmdlet.

    Wanneer een sessie die de sessieconfiguratie gebruikt start, wordt de Windows PowerShell 2.0 Engine automatisch geladen in de sessie.

    Het volgende commando start een sessie op de Server01-computer die de PS2-sessieconfiguratie gebruikt. Het commando slaat de sessie op in de $s variabele.

    $s = New-PSSession -ComputerName Server01 -ConfigurationName PS2
    

Hoe start je een achtergrondtaak met de Windows PowerShell 2.0 Engine

Om een achtergrondtaak te starten met de Windows PowerShell 2.0 Engine, gebruik je de PSVersion-parameter van de Start-Job cmdlet.

Het volgende commando start een achtergrondtaak met de Windows PowerShell 2.0 Engine

Start-Job {Get-Process} -PSVersion 2.0

Voor meer informatie over achtergrondbanen, zie about_Jobs.