Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

PowerCLI プロンプト文字列に vCenter への接続状態を反映してみる。

$
0
0

PowerCLI を楽しむべく、プロンプト文字列を工夫してみようと思います。

 

以前、下記のような投稿をしましたが・・・

PowerCLI のプロンプト文字列「PowerCLI>」について。

 

これを応用して、vCenter / ESXi への接続状態によって「PowerCLI」の色を変更してみます。

 

ということで、

まず下記のような PowerShell スクリプト「set_powercli_prompt.ps1」を

適当なフォルダ(「ドキュメント」配下など、今後も配置しておける場所)に作成しておきます。

 

ドット スペース「. 」からはじまる1 行目は、通常 PowerCLI が起動時に読み込むスクリプトを読み込んでいます。

そして、$global:DefaultVIServers 変数をもとに、接続している(IsConnected が Trueである)vCenter / ESXi が

1台でもあれば、プロンプトの文字列色を Green に、それ以外の場合は DarkCyan にします。

 

set_powercli_prompt.ps1

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

Clear-Host

 

function prompt{

    $vc_all = $global:DefaultVIServers

    $vc_connected = $vc_all | where {$_.IsConnected -eq $True}

    if($vc_connected.Count -ge 1){

        $prompt_color = "Green"

    }else{

        $prompt_color = "DarkCyan"

    }

    Write-Host "PowerCLI" -NoNewLine -ForegroundColor $prompt_color

    Write-Host ">" -NoNewLine -ForegroundColor "Gray"

    return " "

}

 

そして、下記のスクリプトを読み込んで PowerShell を起動するショートカットを作成します。

今回は下記のスクリプトで、デスクトップに「PowerCLI」というショートカットを作成しました。

このスクリプトは上記のものと同じフォルダに配置して、実行します。

 

create_powercli_shortcut.ps1

$tool_name = "PowerCLI"

$profile_script_name = "set_powercli_prompt.ps1"

 

$shortcut_dir = Join-Path $HOME "Desktop"

$shortcut_path = Join-Path $shortcut_dir ($tool_name + ".lnk")

 

$tool_work_dir = (ls $PSCommandPath).DirectoryName

$profile_path = Join-Path $tool_work_dir $profile_script_name

 

$ps = "powershell"

$ps_argument = ("-NoExit", "-File",  $profile_path) -join " "

 

$wsh = New-Object -ComObject WScript.Shell

$shortcut = $wsh.CreateShortcut($shortcut_path)

$shortcut.TargetPath = $ps

$shortcut.Arguments = $ps_argument

$shortcut.WorkingDirectory = (ls $profile_path).DirectoryName

$shortcut.Save()

 

上記の「create_powercli_shortcut.ps1」スクリプトを実行すると、

デスクトップに PowerCLI ショートカットが作成されます。

このショートカットは、powershell.exe を下記2つのオプションで起動するだけのものです。

  • -NoExit
  • -File ~\set_powercli_prompt.ps1  ※プロンプトを変更するスクリプトを指定する。

 

このショートカットを起動すると、プロンプトが「PowerCLI>」となった PowerShell が起動されます。

そして、Connect-VIServer で vCenter / ESXi に接続すると、プロンプトの色が変わります。

今回の例だと、vCenter 接続中だけ「PowerCLI」が Green になっています。

powercli-prompt-2.png

 

さらに工夫すれば、接続先の vCenter / ESXi の情報をプロンプトに反映したりすることもできます。

(しかしその分レスポンスに影響するので、やりすぎ注意・・・)

 

なお今回は、Windows 10 + PowerCLI 6.5 R1 の環境でしか動作を試してません。

以上、PowerCLI のプロンプトを工夫してみる話でした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>