De Windows PowerShell 2.0-engine gebruiken
Windows PowerShell is ontworpen om achterwaarts compatibel te zijn met eerdere versies. Cmdlets, providers, modules, modules en scripts die zijn geschreven voor Windows PowerShell 2.0, worden ongewijzigd uitgevoerd in nieuwere versies Windows PowerShell. Microsoft .NET Framework 4 heeft echter het runtimeactiveringsbeleid gewijzigd. Windows PowerShell hostprogramma's die zijn geschreven voor Windows PowerShell 2.0 en die zijn gecompileerd met CLR 2.0 (Common Language Runtime) 2.0, kunnen niet zonder wijzigingen worden uitgevoerd in nieuwe versies Windows PowerShell die zijn gecompileerd met CLR 4.0 (of hoger).
De engine Windows PowerShell 2.0 is alleen bedoeld om te worden gebruikt wanneer een bestaand script of hostprogramma niet kan worden uitgevoerd 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 waarvoor de Windows PowerShell 2.0 Engine is vereist, starten deze automatisch. Deze instructies zijn opgenomen voor de zeldzame situaties waarin u de motor handmatig moet starten.
Afschaffing en beveiligingsproblemen
Windows PowerShell 2.0 is in augustus 2017 afgeschaft. Zie de aankondiging op de PowerShell-blog voor meer informatie.
Windows PowerShell 2.0 ontbreekt een aanzienlijk deel van de beveiligings- en beveiligingsfuncties die zijn toegevoegd in versies 3, 4 en 5. We raden gebruikers ten zeerste aan deze niet te gebruiken als ze het kunnen helpen. Zie A Comparison of Shell and Scripting Language Security en PowerShell ♥ the Blue Team (A Comparison of Shell and Scripting Language Security) voor meer informatie.
Vereiste programma's installeren en inschakelen
Voordat u de Windows PowerShell 2.0 Engine start, schakelt u de Windows PowerShell 2.0 Engine en Microsoft .NET Framework 3.5 in met Service Pack 1. Zie Windows PowerShell installeren voor instructies.
Systemen waarop Windows Management Framework 3.0 of hoger is geïnstalleerd, hebben alle vereiste onderdelen. U hoeft verder niets te configureren. Zie WMF installeren en configureren voor informatie over het installeren van Windows Management Framework.
De Windows PowerShell 2.0-engine starten
Wanneer u Windows PowerShell wordt standaard de nieuwste versie gestart. Als u Windows PowerShell wilt starten met de engine Windows PowerShell 2.0, gebruikt u de parameter Version van PowerShell.exe
. U kunt de opdracht uitvoeren bij elke opdrachtprompt, inclusief Windows PowerShell en Cmd.exe.
PowerShell.exe -Version 2
Een externe sessie starten met de Windows PowerShell 2.0-engine
Als u de Windows PowerShell 2.0-engine wilt uitvoeren in een externe sessie, maakt u een sessieconfiguratie (ook wel een eindpunt genoemd) op de externe computer waarop de engine Windows PowerShell 2.0 wordt geladen. 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.
In de volgende procedure wordt de parameter PSVersion van de cmdlet Register-PSSessionConfiguration gebruikt om een sessieconfiguratie te maken die gebruikmaakt van de Windows PowerShell 2.0-engine. U kunt ook de PowerShellVersion-parameter van de cmdlet New-PSSessionConfigurationFile gebruiken om een sessieconfiguratiebestand te maken voor een sessie waarmee de Windows PowerShell 2.0 Engine wordt geladen. U kunt ook de parameter PSVersion van de parameter Set-PSSessionConfiguration gebruiken om een sessieconfiguratie te wijzigen voor het gebruik van de Windows PowerShell 2.0-engine.
Zie about_Session_Configuration_Files voor meer informatie over sessieconfiguratiebestanden. Zie about_Session_Configurations voor informatie over sessieconfiguraties, waaronder installatie en beveiliging.
Een externe Windows PowerShell 2.0-sessie starten
Als u een sessieconfiguratie wilt maken waarvoor de Windows PowerShell 2.0 Engine is vereist, gebruikt u de parameter PSVersion van de
Register-PSSessionConfiguration
cmdlet met de waarde2.0
. Voer deze opdracht uit op de computer aan de 'serverzijde' of het ontvangende einde van de verbinding.Met de volgende voorbeeldopdracht maakt u de PS2-sessieconfiguratie op de Server01-computer. Als u deze opdracht wilt uitvoeren, start Windows PowerShell met de optie Als administrator uitvoeren.
Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0
Als u een sessie wilt maken op de Server01-computer die gebruikmaakt van de PS2-sessieconfiguratie, gebruikt u de parameter ConfigurationName van cmdlets die een externe sessie maken, zoals de cmdlet 'New-PSSession'.
Wanneer een sessie die gebruikmaakt van de sessieconfiguratie wordt gestart, wordt de engine Windows PowerShell 2.0 automatisch in de sessie geladen.
Met de volgende opdracht wordt een sessie gestart op de Server01-computer die gebruikmaakt van de PS2-sessieconfiguratie. Met de opdracht wordt de sessie opgeslagen in de
$s
variabele.$s = New-PSSession -ComputerName Server01 -ConfigurationName PS2
Een achtergrondtaak starten met de Windows PowerShell 2.0-engine
Als u een achtergrondtaak wilt starten met de engine Windows PowerShell 2.0, gebruikt u de parameter PSVersion van de cmdlet Start-Job.
Met de volgende opdracht wordt een achtergrondtaak gestart met de Windows PowerShell 2.0-engine
Start-Job {Get-Process} -PSVersion 2.0
Zie about_Jobs voor meer informatie over achtergrondtaken.