将Powershell变量结果附加到事件日志

时间:2017-09-14 20:03:17

标签: arrays powershell events

我遇到了这个非常有用且简单的PowerShell脚本来编写事件日志。 我的问题是我想把结果写成事件消息。我得到的东西看起来类似于$ result变量但不完全像在屏幕上打印的那样。有人能指出我正确的方向吗?

charCountMap.put(aChar, 1)

这是我在事件日志中得到的内容

charCountMap.get(aChar)++

这就是我需要的(在PowerShell中进行丝网印刷)

begin {
    $EventHashInformation = @{
        LogName   = 'Application'
        Source    = 'My Script'
        EventId   = 2783
        EntryType = 'Information'
    }
    $EventHashWarning     = @{
        LogName   = 'Application'
        Source    = 'My Script'
        EventId   = 2784
        EntryType = 'Warning'   
    }
  Write-EventLog @EventHashInformation -Message 'Script started'
}

process {
    try {
        $result = Get-CimInstance -ClassName Win32_Bios -ErrorAction Stop
        Write-EventLog @EventHashInformation -Message $result 
    } catch {
        Write-EventLog @EventHashWarning -Message 'Error occurred while  queried Win32_Bios'
    }
}

end {
    Write-EventLog @EventHashInformation -Message 'Script finished'
}

1 个答案:

答案 0 :(得分:1)

$result = (Get-CimInstance -ClassName Win32_Bios -ErrorAction Stop | Out-String).Trim()

将输出转换为字符串