运行以下一个班轮时:
Write-EventLog -LogName Application -Source 'Application Error' -EntryType Error -EventID 1001 -Message 'Problem description'
我们在日志Application
中看到了条目:
根据Microsoft对于EventID 1001,应该提供%1,%2和%3的值:
在请求期间检测到产品'%1',功能'%2'失败 组件'%3'
PowerShell如何实现这一目标?添加开关-RawData 10, 20
时,只填写类型如下:
如果没有在事件日志中创建新的日志名称或来源,是否有办法不提供其他文本?或者能够填写变量?我正在写Application error
以防自定义日志名称或来源不可用。所以有一点痕迹。
感谢您的帮助。
答案 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