PowerShell モジュールがどのように機能するかについて混乱しています。
ブロガーからモジュールをダウンロードしてコピーしました。ブロックを解除し、.zip を %USERPROFILE%\Documents\WindowsPowerShell\Modules\SomeModule に抽出しました
このフォルダーには、モジュールが使用する .NET アセンブリがありますが、コンパイル済みの CmdLets は含まれていません。代わりに、コマンドは .psm1 ファイル内の関数であり、.psd1 ファイルにはマニフェストが記述されています。
PowerShell を開くと、関数は使用可能で動作しますが、独自の関数を追加したいので、追加しましたが、表示されません。すべての PowerShell インスタンスを再起動し、モジュールを削除して再度インポートしました。
テストとして、既存の機能する関数の名前を変更しました。興味深いことに、削除してインポートした後、関数は新しい名前を採用する代わりに消えます。名前を元に戻し(1文字だけ変更)、削除/インポートすると、再び表示されます。
help blahblah
すべてのコマンドは同じプレフィックスを持つため、セット内のすべてのコマンドをリストするために使用します。マニフェストはすべての (*) 関数をエクスポートします。これらのタイプのスクリプト モジュールがどのように機能するかは明らかにわかりません。関数はすべて、Remove-Module を実行した後でも一覧表示されます。以前に C# でコンパイル済みモジュールを作成したことがありますが、それは期待どおりに機能しました。
どうしたの?関数の名前を変更すると関数が消えてしまうのはなぜですか? ありがとう。