私は、スクリプトの実行前にどのバージョンのPOSHが実行されているかをスクリプトが確認する方法を見つけた場合、現在、私の回避策は次のコードです:スクリプトの実行前のPowerShellのバージョンチェック
#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
私はこのパラメータを定義した直後です。しかし、自分の狂気のために、スクリプトの肉とジャガイモに入る前に、スクリプトが自動的にこのチェックを実行するようにします。良い比較は、パラメータに対してValidate [X]を使用しています。オペレーターがユーザーに適合しないデータを提供しようとすると、スクリプトの実行前にエラーがスローされます。何か案は?私はそれを行う[CmdletBinding()]には何もないことを知っています。ありがとう!
HOLY BATMAN!私は彼らがPOSHにすべてのバージョンですばらしいものを追加し続けていると言わなければなりません。これはすばらしい答えのために働き、ありがとう。私は実際にマニフェストをあまり使っていないので、#Requiresについて全く考えていませんでした。今私は自分のツールボックスに追加することがあります。あなたの答えが例、参考文献、そして素晴らしい説明を持っていたので、私は約3回以上投票できることを真剣に願っています。ハッピースクリプティング! –
うれしい私は助けることができます:) – Bluecakes