Write-EventLog表示错误

时间:2016-04-01 11:49:48

标签: powershell events

运行以下一个班轮时:

Write-EventLog -LogName Application -Source 'Application Error' -EntryType Error -EventID 1001 -Message 'Problem description'

我们在日志Application中看到了条目:

enter image description here

根据Microsoft对于EventID 1001,应该提供%1,%2和%3的值:

  

在请求期间检测到产品'%1',功能'%2'失败   组件'%3'

PowerShell如何实现这一目标?添加开关-RawData 10, 20时,只填写类型如下:

enter image description here

如果没有在事件日志中创建新的日志名称或来源,是否有办法不提供其他文本?或者能够填写变量?我正在写Application error以防自定义日志名称或来源不可用。所以有一点痕迹。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您链接到的事件ID 1001说明特定于MsiInstaller来源。

对于您自己的自定义错误事件,请使用自定义源标识符。您可以检查计算机上是否已存在源定义,如果不存在,则创建它:

$CustomSource = 'MyCustomApplication'

# Wrap check i try/false to catch SourceExists() throwing access denied on failure
$SourceExists = try {
    [System.Diagnostics.EventLog]::SourceExists($CustomSource)
} catch {
    $false
}

if(-not $SourceExists)
{
    # Create the Source definition
    New-EventLog -Source $CustomSource -LogName Application
}

Write-EventLog -LogName Application -Source $CustomSource -EntryType Error -EventID 1001 -Message 'Problem description'

如果您有一个消息资源文件(包含"模板"用于您的活动的文件),您也可以在调用New-EventLog

时包含该文件