C# で記述している PowerShell コマンドレットでは、呼び出し元のスクリプトの名前を取得する必要があります。
コマンドレット クラスを PSCmdlet から派生させました。実行時にこのクラスに関連付けられた大量の情報がありますが、探している情報をどこで取得できるかわかりません。
スクリプト名を取得することはできますか? もしそうなら、それはどこに住んでいますか?
C# で記述している PowerShell コマンドレットでは、呼び出し元のスクリプトの名前を取得する必要があります。
コマンドレット クラスを PSCmdlet から派生させました。実行時にこのクラスに関連付けられた大量の情報がありますが、探している情報をどこで取得できるかわかりません。
スクリプト名を取得することはできますか? もしそうなら、それはどこに住んでいますか?
自動変数 $MyInvocation には、InvocationName プロパティにスクリプトの名前が含まれている必要があります。
ありがとう、mjolinor... 私を正しい道に導いてくれた。
MyInvocation.InvocationName
コマンドレットが呼び出されたコマンドの名前が表示されますが、呼び出し元のスクリプト名はすぐ近くにあります...
ここで探していたものを見つけました (PSCmdlet 派生クラス内から):
var callingScript = MyInvocation.ScriptName;
これには、コマンドレットを呼び出したスクリプトの完全なパスが含まれています。