powershell:get-winevent没有消息数据?

res*_*101 5 powershell event-log event-viewer

当我运行下面的脚本来检索日志文件时,get-winevent"message"字段为空,但是如果我运行get-eventlog则有数据.有什么想法吗?

#has message data 
Get-Eventlog -LogName application -Newest 10

 #date 10 days ago 
$EventStartDate = get-date("10 May 2012") 
$EventEndDate = get-date("11 May 2012") 
$EventLogNames = @("Application", "system")

#critea for winevent 
$EventCritea = @{logname = $EventLogNames; StartTime=$EventStartDate; EndTime=$EventEndDate}

#Retrieves the event log 
$RetreivedEvents = Get-WinEvent -computername localhost -FilterHashtable $EventCritea
$RetreivedEvents | fl id, logname, MachineName, Message, TimeCreated
Run Code Online (Sandbox Code Playgroud)

Ric*_*ard 7

你在哪个地方运行?

有一个.NET错误,其中底层.NET方法(Get-WinEvent使用)无法Message在某些区域设置(如en-GB)中填充本地化字段(如).

修复是切换到en-US命令:

$orgCulture = Get-Culture
[System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object "System.Globalization.CultureInfo" "en-US"
# Perform Get-WinEvent
[System.Threading.Thread]::CurrentThread.CurrentCulture = $orgCulture
Run Code Online (Sandbox Code Playgroud)


小智 0

我知道过去当我尝试时,我发现 get-winevent 在 Windows Server 2003 上不起作用。基本上PS环境说get-winevent在2003年不起作用。当时可能是PS v1,所以我不确定新版本的PS是否解决了这个问题:我现在使用的是2K8 R2。

在我的