• 締切済み

Powershellで実行した結果を

Powershellで実行した結果を イベントビューアに出力したいと考えております。 出力メッセージを「番号:使用ユーザ名:メッセージ内容」を出力したいのですが (1)は使用ユーザ名が出力されず (2)は{使用ユーザ名}で出力されます。 (1)Write-EventLog -LogName Application test -EventId 1234 -EntryType Error -Message "0000001:$env:username:処理に失敗しました。" (2)Write-EventLog -LogName Application test -EventId 1234 -EntryType Error -Message "0000001:{$env:username}:処理に失敗しました。" 記述方法で「番号:使用ユーザ名:メッセージ内容」を出力する方法を ご存知でしたらご教授頂ければと思います。

みんなの回答

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

Write-Hostで試してみました。究明はできていませんが$env:usernameの直後がコロンだと表示されないようですね。 文字列を分け、()で囲って連結するとそれなりに表示できます。 Windows XP Pro SP3 + PSVersion 2.0で確認しました($PSVersionTableの値)。 【Write-Host.ps1】 Write-Host ◇空白を一つ入れる。 Write-Host "0000001:$env:username :処理に失敗しました。" Write-Host ◇2バイトコードの:を使う。 Write-Host "0000002:$env:username:処理に失敗しました。" Write-Host ◇文字列をJoinで連結する。 Write-Host (-Join("0000003:$env:username", ":処理に失敗しました。")) Write-Host ◇文字列を+で連結する。 Write-Host ("0000004:$env:username" + ":処理に失敗しました。") Write-Host ◇[environment]::usernameを使ってみる。 Write-Host ("0000005:" + [environment]::username + ":処理に失敗しました。") 【実行結果】 ◇空白を一つ入れる。 0000001:user :処理に失敗しました。 ◇2バイトコードの:を使う。 0000002:user:処理に失敗しました。 ◇文字列をJoinで連結する。 0000003:user:処理に失敗しました。 ◇文字列を+で連結する。 0000004:user:処理に失敗しました。 ◇[environment]::usernameを使ってみる。 0000005:user:処理に失敗しました。

関連するQ&A

専門家に質問してみよう