自作関数の中で、自分自身の名前(関数名)を取得する例
関数名は、$myInvocation.MyCommand.name に格納されている。
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
コメント