Wie stelle ich sicher, dass wir powershell 2.0 verwenden?

8

Wir stellen Skripts für Clients bereit, die nur in Powershell 2.0 funktionieren.

Durch den Befehl können wir sicherstellen, dass powershell 2.0 wie folgt installiert ist

%Vor%

Aber wenn wir Skript zur Verfügung stellen, um sicherzustellen, dass sie es von Powershell 2.0 ausführen?

Beim Ausführen des Skripts können Powershell 2.0-Funktionen beim Initiieren des Skripts Skriptfehler verursachen. Oder nicht?

    
Samselvaprabu 02.08.2012, 05:37
quelle

4 Antworten

11

Sie können Ihr Skript mit #requires kommentieren und angeben, dass es unter keinen Umständen ausgeführt werden soll weniger als PowerShell v2:

%Vor%

(Seitennotiz: Dies ist überraschend schwer zu finden, auch wenn Sie vage wissen, dass es existiert.)

    
Joey 02.08.2012, 06:17
quelle
2

Es ist nicht die sicherste Sache, sich auf die Host-Version zu verlassen, da das Skript auf Hosts ausgeführt werden kann, die nicht dieselbe Host-Version wie die PowerShell-Version haben.

Die Variable $ PSVersionTable wurde in v2 hinzugefügt. Sie können überprüfen, ob die Variable vorhanden ist. Wenn Sie v2 und höher verwenden, können Sie auch die PSVersion.Major-Eigenschaft überprüfen:

%Vor%     
Shay Levy 02.08.2012 06:03
quelle
2

Ich würde so etwas tun:

%Vor%

Hoffe, das hilft!

    
Thomas Lee 02.08.2012 12:23
quelle
0

Versuchen Sie, $PSVersionTable

zu verwenden

Sie erhalten etwas wie:

%Vor%     
CloudyMarble 02.08.2012 05:49
quelle

Tags und Links