自作関数の中で、自分自身の名前(関数名)を取得する例
関数名は、$myInvocation.MyCommand.name に格納されている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function TestFunction { $script_name = $myInvocation.MyCommand.name Write-Host "InSide Function Example name=" $myInvocation.MyCommand.name " ScriptName=" $myInvocation.ScriptName } #関数の外で実行すると、nameにファイル名が出力、ScriptNameは空 Write-Host "OutSide Function Example name=" $myInvocation.MyCommand.name " ScriptName=" $myInvocation.ScriptName #関数実行 TestFunction Write-Host "For Background Job Start" #なお別プロセスで実行した場合 $ScriptBlock = (Get-Command TestFunction).ScriptBlock $job = Start-Job -ScriptBlock $ScriptBlock Wait-Job -Job $job $results = Receive-Job -job $Job #結果は、nameも、ScriptNameも空 $results |
コメント