2

関数だけで構成されたPowerShellプロジェクトをモジュールに変換できるかどうか知っていますか? 私が達成したいのは、すべての機能の配布可能なモジュールを作成して、他の人が使用できるようにすることです。ただし、すべての関数をコマンドレットに変換するのに時間を費やす必要はありません。

私の関数はそれぞれ別のファイルにあります。次に *.psd1 を作成し、'FunctionsToExport' を介して関数を含めようとすると、機能しません。モジュールがロードされた後、関数が表示されません。

それらが(すべて).psm1ファイル内にない場合でも、モジュールから関数をエクスポートすることは可能ですか? *psd1 および *psm1 ファイルの実際の違いと使用法をまだ理解しようとしています。

4

2 に答える 2

1

他の回答で行われているように、ドットソーシングモードで関数を含めに、これを行う非常に簡単な方法を次に示します。

  1. フォルダを作成しますC:\MyModules
  2. このフォルダー内に、MyModules.PSM1という名前の空のファイルを作成します。
  3. モジュールに必要なすべての関数 (高度である必要はありません)をMyModules.PSM1ファイルに追加します。
  4. あなたは完了です。

これで、ターゲット マシンにインストールする必要があるフォルダー ( C:\MyModules) が作成されました。

ターゲット マシンに (ユーザーごとに) インストールするには、フォルダーC:\MyModuleをユーザーの既定のモジュールの場所 (フォルダー) にコピーします$home\Documents\WindowsPowerShell\Modules

これで、このユーザーは任意の PowerShell セッションで、モジュールに含まれる任意の関数の最初の文字を入力できます。これにより、PowerShell の IntelliSense がモジュールから関数を認識します (そして補完部分文字列を提案します)。

MyModuleという名前が気に入らない場合は、フォルダー名とPSM1ファイル名を変更する限り、変更できます。

すべてのユーザーにモジュールをインストールすることもできます: help about_modules.

于 2015-05-26T03:19:11.393 に答える