Windows PowerShell スクリプトでモジュールを作成する

完了

モジュールを作成して、関数を格納し、それらの関数をスクリプト間で共有することができます。 関数をモジュールに配置すると、コマンドレットと同様に検出可能となります。 また、Windows に含まれるモジュールと同様に、関数が必要になると、作成したモジュールが自動的に読み込まれます。

注意

ベスト プラクティスとして、コマンドレットの名前付け規則に似た名前付け構造を使用して、モジュール内の関数に名前を付けることをお勧めします。 たとえば、動詞名詞の形式を使用します。

注意

モジュール内の関数には、 Get-Help を使用して検出できるコメントベースのヘルプを含めることができます。 これをサポートするには、各関数にヘルプ情報を含める必要があります。

多くの場合、Windows PowerShell スクリプト ファイルには既に関数があります。 関数のみを含むスクリプト ファイルをモジュールに変換するには、 .psm1 ファイル拡張子で名前を変更します。 ファイルの構造変更は必要ありません。

Windows PowerShell では $PSModulePath 環境変数を使用して、モジュールの読み込み元のパスを定義します。 Windows PowerShell 5.0 では、次のパスが一覧表示されます。

  • C:\Users\UserID\Documents\WindowsPowerShell\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\Windows\System32\WindowsPowerShell\1.0\Modules

Windows PowerShell 7 には、他に次のパスが含まれています。

  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules

注意

C:\Users\UserID\Document\WindowsPowerShell\Modules にモジュールを格納する場合は、1 人のユーザーのみが使用できます。

モジュールは Modules ディレクトリに直接配置されません。 代わりに、ファイルと同じ名前のサブフォルダーを作成し、そのフォルダーにファイルを配置する必要があります。 たとえば、 AdatumFunctions.psm1 という名前のモジュールがある場合は、 C:\Program Files\WindowsPowerShell\Modules\AdatumFunctions に配置します。