运行以下一根衬管时:

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

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

powershell - Write-EventLog错误-LMLPHP

根据事件ID 1001的Microsoft,应提供%1,%2和%3的值:



在PowerShell中怎么可能?添加开关-RawData 10, 20时,仅按以下方式填充类型:

powershell - Write-EventLog错误-LMLPHP

如果没有在事件日志中创建新的日志名称或来源,是否有办法使其他文本不可用?还是能够填写变量?如果自定义日志名称或来源不可用,我正在写Application error。因此,在某处有痕迹。

谢谢您的帮助。

最佳答案

您链接到的事件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'

如果您有消息资源文件(该文件包含事件的"template"),则还可以将其包含在对New-EventLog的调用中

关于powershell - Write-EventLog错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36355610/

10-12 17:22