Ich frage nur die Community, ob sie einen Weg gefunden haben, das Skript vor der Ausführung des Skripts überprüfen zu lassen, welche Version von POSH ausgeführt wird. Derzeit ist meine Arbeit um den folgenden Code:PowerShell Versionsüberprüfung vor der Ausführung des Skripts
#region Final Checks
#//Check to make sure that version of PowerShell is at least 3.0 before preceding.
If($PSVersionTable.PSVersion.Major -le 2) {
Throw "This script has not been tested with version 2.0 or older of PowerShell. Please execute this script from a system that has PowerShell 3.0 or newer installed. Windows 8/Server 2012 and newer has it installed by default. Windows 7/Server 2008 R2 can be patched to have 3.0 installed."
}
#endregion Final Checks
Ich habe dies direkt nach der Definition meiner Parameter. Aber zu meinem eigenen Wahnsinn möchte ich, dass das Skript diese Überprüfung automatisch vornimmt, bevor es in das Fleisch und die Kartoffel des Drehbuchs kommt. Ein guter Vergleich verwendet Validate [X] für einen Parameter. Wenn ein Benutzer versucht, Daten bereitzustellen, die nicht zu meinem Benutzer passen, wird vor der Ausführung des Skripts ein Fehler ausgegeben. Irgendwelche Ideen? Ich weiß, dass nichts in [CmdletBinding()] das tut. Vielen Dank!
HOLY BATMAN! Ich muss sagen, dass sie mit jeder Version großartige Dinge in POSH hinzufügen. Das funktioniert und danke für die tolle Antwort. Ich hatte absolut keine Ahnung von #Requires, da ich mich nicht zu sehr mit Manifesten beschäftige. Jetzt habe ich das zu meiner Toolbox hinzuzufügen. Ich wünschte ernsthaft, ich könnte noch drei weitere Male abstimmen, da Ihre Antwort Beispiele, Referenzen und eine großartige Erklärung enthielt. Viel Spaß beim Scripting! –
Froh, dass ich helfen könnte :) – Bluecakes