about_Requires
適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0
トピック
about_Requires
概要
必要な要素がない場合に、スクリプトが実行されないようにします。
詳細説明
#Requires ステートメントは、Windows PowerShell® のバージョン、モジュール、スナップイン、およびモジュールとスナップインのバージョンの前提条件が満たされている場合を除き、スクリプトが実行されないようにします。前提条件が満たされていない場合、Windows PowerShell はスクリプトを実行しません。
#Requires ステートメントは任意のスクリプトで使用できます。関数、コマンドレット、またはスナップインで使用することはできません。
構文
#Requires -Version <N>[.<n>]
#Requires –PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]
#Requires -Modules { <Module-Name> | <Hashtable> }
#Requires –ShellId <ShellId>
#Requires -RunAsAdministrator
使用のルール
- #Requires ステートメントは、スクリプトの行に含まれる最初の項目である必要があります。
- スクリプトには、複数の #Requires ステートメントを含めることができます。
-#Requires ステートメントは、スクリプト内の任意の行で使用できます。
パラメーター
-Version <N>[.<n>]
スクリプトに必要な Windows PowerShell の最小バージョンを指定します。メジャー バージョン番号とオプションのマイナー バージョン番号を入力します。
たとえば、次のように入力します。
#Requires -Version 3.0
-PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]
スクリプトに必要な Windows PowerShell スナップインを指定します。スナップイン名とオプションのバージョン番号を入力します。
たとえば、次のように入力します。
#Requires –PSSnapin DiskSnapin -Version 1.2
-Modules <Module-Name> | <Hashtable>
スクリプトに必要な Windows PowerShell モジュールを指定します。モジュール名とオプションのバージョン番号を入力します。モジュール パラメーターは Windows PowerShell 3.0 で導入されています。
必要なモジュールが現在のセッションにない場合、Windows PowerShell はそれらをインポートします。モジュールをインポートできない場合、Windows PowerShell は終了エラーをスローします。
モジュールごとにモジュール名 (<文字列>) または次のキーを持つハッシュ テーブルを入力します。値には、文字列とハッシュ テーブルの組み合わせを指定できます。
-- ModuleName
。このキーは必須です。-- ModuleVersion
。このキーは必須です。-- GUID
。このキーはオプションです。
例:
#Requires -Modules PSWorkflow, @{ModuleName="PSScheduledJob";ModuleVersion=1.0.0.0}
-ShellId
スクリプトに必要なシェルを指定します。シェル ID を入力します。
例:
#Requires –ShellId MyLocalShell
-RunAsAdministrator
このスイッチ パラメーターを必須ステートメントに追加する場合、スクリプトを実行している Windows PowerShell セッションが管理者特権 ([管理者として実行]) で開始されている必要があります。
例:
#Requires -RunAsAdministrator
例
次のスクリプトには、2 つの #Requires ステートメントが含まれています。両方のステートメントで指定されている要件が満たされていない場合、スクリプトは実行されません。各 #Requires ステートメントは、行の最初の項目である必要があります。
#Requires –Modules PSWorkflow
#Requires –Version 3
Param
(
[parameter(Mandatory=$true)]
[String[]]
$Path
)
...
注意事項
Windows PowerShell 3.0 では、Windows PowerShell コア パッケージが、Windows PowerShell コンソールで開始されたセッションなど、InitialSessionState.CreateDefault2 メソッドを使用して開始されたセッションで、モジュールとして表示されます。それ以外の場合は、スナップインとして表示されます。Microsoft.PowerShell.Core は例外で、常にスナップインとして表示されます。
関連項目
about_Automatic_Variables
about_Language_Keyword
about_PSSnapins
get-PSSnapin