PowerShell: Version ändern leicht gemacht

Wie schon in einem früheren Beitrag erklärt, bit es verschiedene PowerShell Versionen. Doch man kann auch ganz einfach die Version ändern, die verwendet werden soll. Normalerweise sollte dieser Fall nicht oft auftreten, allerdings ist die Möglichkeit gegeben.

In dem verlinkten Beitrag sind die verschiedenen Versionen in einer Liste zusammengestellt. Zum Ändern der Version muss die Versionsnummer angegeben werden, die ihr ebenfalls in dieser Übersicht findet. Das Ganze funktioniert mit einem einfachen PowerShell Befehl.

PowerShell Version ändern

Zum Ändern der PowerShell Version wird folgender Befehl benötigt:

powershell -version 2.0

Nach dem Wechseln der Version ist zu beachten, dass unter Umständen nicht alle Cmdlets zur Verfügung stehen. Nach dem Parameter -version muss die Versionsnummer angegeben werden. Wie bereits genannt findet ihr die verschiedenen PowerShell Versionen für Windows, MacOS und Linux in dem oben verlinkten Beitrag.

PowerShell Version ändern

Script in bestimmter Verison starten

Außerdem besteht die Möglichkeit ein PowerShell Script in einer bestimmten Version zu starten. Dafür muss man nicht global die Version ändern. Der Befehl dazu lautet wie folgt:

powershell -Version 2 -File $MyInvocation.MyCommand.Definition

# ALTERNATIV

powershell -version 2 -file 'yourfile.ps1'

Mit diesem Befehl startet man ein bestimmten Script in einer bestimmten PowerShell Verison. $MyInvocation.MyCommand.Definition bedeutet, dass das Script selbst nochmal in der geänderten Version gestartet wird.

Folgendes Script startet sich in der Version 2 neu, wenn die installierte PSVersion größer ist als V 2.

if ($PSVersionTable.PSVersion -gt [Version]"2.0") {
  powershell -Version 2 -File $MyInvocation.MyCommand.Definition
  exit
}

Ich selbst hatte noch nie einen Grund die zu verwendende Version zu ändern. Allerdings ist es möglich und es gibt sicherlich gute Anwendungsgründe zum Wechseln.

Wenn man große Scripte global verteilt ist es notwendig einige Tests zu durchlaufen. Das wäre ein gutes Beispiel für einen Wechsel der eingesetzten Version. Somit kann man ganz einfach prüfen, ob das Script ohne Fehler auf allen verschiedenen Clients beendet wird.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments