2016-09-25 10 views
1

2つの関数出力を同じ行に出力できますか?2つの関数出力を単一のpowershellで出力する

function dateHost { 
    $date = get-date 
    $host = "$env:compname" 
    write-host"date=$date;hostname=$host;" 
} 

function service { 
    if ($Service.Status -eq "running"){ 
     Write-Host "message=$ServiceName service is already started" 
    } 
} 

この2つの機能の出力を1行に出力したいとします。

date=26 sept 2016;host=localhost;message=servicename already started 

答えて

0

は、関数内Write-Hostを避けることで、このようにそれを試して、だけではなく、その出力として文字列を返します。また、私は応答のための$hostname

function dateHost { 
    $date = get-date 
    $hostname = "$env:compname" 
    "date=$date;hostname=$hostname;" 
} 

function service{ 
    if ($Service.Status -eq "running"){ 
     "message=$ServiceName service is already started" 
    } 
} 

"$(dateHost)$(service)" 
+0

おかげにその名前を変更して、これは事前に定義されたPowerShellホストを指してあなたがVAR $hostに割り当てることができないことに注意してください!このソリューションは、datehostの出力のみを出力します。 Write-Host(dateHost + $(service))を実行すると、2つの異なる行に出力されます。 – jes

+0

あなたの関数にまだ 'Write-Host'呼び出しがいくつかあると思います。それらをすべて削除して、もう一度やり直してください(おそらくきれいな新しいセッションでさえ) – DAXaholic

+0

これはうまくいきました!どうもありがとう! – jes

関連する問題