今回は、PowerCLI を起動したときの「PowerCLI ~path~>」についての話です。

 

PowerCLI を起動したときの、デフォルトのプロンプト文字列ですが・・・

powercli-prompt-01.png

PowerShell の prompt ファンクションを PowerCLI 起動時の初期化スクリプトで変更しています。

PowerCLI C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI> cat .\Scripts\Initialize-PowerCLIEnvironment.ps1

(省略)

# Modify the prompt function to change the console prompt.

# Save the previous function, to allow restoring it back.

$originalPromptFunction = $function:prompt

function global:prompt{

 

    # change prompt text

    Write-Host "$productShortName " -NoNewLine -foregroundcolor Green

    Write-Host ((Get-location).Path + ">") -NoNewLine

    return " "

}

(省略)

「Add-PSSnapin VMware.VimAutomation.Core」などで PowerCLI 関係の

モジュールを読み込んだ場合は、

このスクリプトが読み込まれないのでプロンプトは変更されません。

 

ちなみに、$productShortName という変数には「PowerCLI」が入っています。

PowerCLI C:\> $productShortName

PowerCLI

 

もともとの PowerShell プロンプトは、このような感じのようです。

PowerCLI C:\> $originalPromptFunction

$(if (test-path variable:/PSDebugContext) { '[DBG]: ' } else { '' }) + 'PS ' + $(Get-Location) + $(if ($nestedpromptlevel -ge 1) { '>>' }) + '> '

 

このブログのコマンド例のようにしたい場合は、このような感じにしたりします。

function prompt{Write-Host "PowerCLI" -NoNewLine -foregroundcolor Green;"> "}

PowerCLI C:\>

PowerCLI C:\> function prompt{Write-Host "PowerCLI" -NoNewLine -foregroundcolor Green;"> "}

PowerCLI>

powercli-prompt-02.png

 

以上、PowerCLI のプロンプト文字列についてでした。