Get-Serviceコマンドレットは、ローカル コンピュータ上のサービスを取得するコマンドレットです。
このコマンドレットの実行結果には、サービスのステータス情報("Stopped"か"Running")が含まれています。
"Stopeed"だったら文字色を赤で、"Running"だったらシアンでサービス名を表示する関数を作ってみました。
実行結果は下図のとおりです。
#===============================================================================
# Color-SrvStatus: サービスのステータス別に色を付ける
#
# 使用例
# PS > Color-SrvStatus
#
# copyright HIRO's.NET(http://hiro.wankuma.com/)
#===============================================================================
function global:Color-SrvStatus
{
#サービスを取得
$srv = get-service
#カウンタの初期化
$iCnt = 0
for ( $iCnt = 0; $iCnt -lt $srv.length; $iCnt++ )
{
#各サービスのステータスを判断して色を付ける
if ($srv[$iCnt].status -eq "running")
{write-host $srv[$iCnt].Name -foregroundcolor "cyan"}
elseif ($srv[$iCnt].status -eq "stopped")
{write-host $srv[$iCnt].Name -foregroundcolor "red"}
else
{write-host $srv[$iCnt].Name}
$iCnt++
}
}
ポイント
といっても、なんのことはありません。
取得結果のStatusを判断して、色を付けています。
この関数はサービス名しか表示しないので、用途に合わせて表示される情報を増やすことをおすすめします。