定義されている関数一覧を取得する

 Get-ChildItemコマンドレットで Functionドライブの項目一覧を取得すると、PowerShellで定義されている関数一覧を取得することができます。

PS U:\PS> Get-ChildItem Function:

CommandType Name       Definition
----------- ----       ----------
Function    A:         Set-Location A:
Function    B:         Set-Location B:
Function    C:         Set-Location C:
Function    cd..       Set-Location ..
Function    cd\        Set-Location \
Function    Clear-Host $space = New-Object System.Managemen...
# 以下略

 さらに、パスを指定することで、単一の関数のみを取得できます。

PS U:\Ps> Get-ChildItem Function:\Clear-Host

CommandType Name       Definition
----------- ----       ----------
Function    Clear-Host $space = New-Object System.Managemen...

 出力結果に「Definition」という列があります。これは関数定義を表すプロパティです。したがって、コマンドの実行結果のデータに .Definitionと指定することで、関数の定義を取得できます。

PS U:\Ps> (Get-ChildItem Function:\Clear-Host).Definition
$space = New-Object System.Management.Automation.Host.BufferCell
$space.Character = ' '
$space.ForegroundColor = $host.ui.rawui.ForegroundColor
$space.BackgroundColor = $host.ui.rawui.BackgroundColor
$rect = New-Object System.Management.Automation.Host.Rectangle
$rect.Top = $rect.Bottom = $rect.Right = $rect.Left = -1
$origin = New-Object System.Management.Automation.Host.Coordinates
$Host.UI.RawUI.CursorPosition = $origin
$Host.UI.RawUI.SetBufferContents($rect, $space)

PS U:\Ps>
inserted by FC2 system