モジュール (psm1)
calendar_today
概要
参考:PowerShell のモジュール詳解とモジュールへのコマンドレット配置手法を考える - tech.guitarrapc.cóm
参考:PSModulePath のインストールパスを変更する - PowerShell | Microsoft Docs
モジュールを読み込む
モジュールを方法を2つ記載する。
まず1つ目は、モジュールを所定のフォルダへ置き、自動で読み込ませる方法。
フォルダパスは環境変数の $env:PSModulePath
を参照すると分かる。大体、以下のパスが設定されているはず。
[ドキュメントフォルダ]\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
上記以外のフォルダを追加したい場合は、単純に $env:PSModulePath
へパスを追加すると良い。ただし、この方法はセッション内でのみ有効。
永続的にフォルダを追加したい場合は、Windowsの環境変数に書き加える。
また、2つ目の方法として、個別にモジュールファイルを指定する方法もある。 ps1 ファイルのコメントを除いた先頭に、下記を追加する。
using module ".\module1.psm1"
ps1ファイルにこの記述をする場合、相対パスの基点はカレントフォルダではなくps1ファイルがある場所になる。
モジュールを作成する
$env:PSModulePath
に psm1 を置く場合、設定したフォルダに、モジュールファイル名と同じ名前のフォルダを作成する。
hoge
└ hoge.psm1
psm1 ファイルに関数を書いたら、エクスポートして外部から使えるようにする。
Export-ModuleMember -Function hogeFunc