PowerShell 自作関数の中で自分自身の名前(関数名)を取得する

PowerShellカテゴリを表すパンダのイラスト PowerShell

自作関数の中で、自分自身の名前(関数名)を取得する例

関数名は、$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

文書情報

記事タイトル
PowerShell 自作関数の中で自分自身の名前(関数名)を取得する
作成日
更新日
Source URL
https://papanda925.com/?p=1742

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました