about_Requires

適用対象: Windows PowerShell 4.0, Windows PowerShell 5.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