0

我无法仅显示Time命令的列。

Get-EventLog -log Security | where {$_.EventID -eq 4800 -or $_.EventID -eq 4801}

返回:

   Index Time          EntryType   Source                 InstanceID Message                                                                                                                  
   ----- ----          ---------   ------                 ---------- -------                                                                                                                  
  167513 Mar 14 10:31  SuccessA... Microsoft-Windows...         4801 The workstation was unlocked....                                                                                         
  167506 Mar 14 10:14  SuccessA... Microsoft-Windows...         4800 The workstation was locked....                                                                                           
  167499 Mar 14 10:08  SuccessA... Microsoft-Windows...         4801 The workstation was unlocked....

但是,如果我只想查看该Time列,我什么也得不到:

Get-EventLog -日志安全 | 其中 {$ .EventID -eq 4800 -或 $ .EventID -eq 4801} | 格式表时间

Time                                                                                                                                                                                          
----                                                                                                                                                                                          

有任何想法吗?

4

1 回答 1

3

它是空白的,因为没有Time属性这样的东西。它是默认视图中使用的别名Get-EventLog

PS > Get-EventLog -LogName System | gm


   TypeName: System.Diagnostics.EventLogEntry#System/EventLog/2147489661

Name                      MemberType     Definition
----                      ----------     ----------  
....                                    
TimeGenerated             Property       datetime TimeGenerated {get;}
TimeWritten               Property       datetime TimeWritten {get;}
UserName                  Property       string UserName {get;}
EventID                   ScriptProperty System.Object EventID {get=$this.get_EventID() -band 0x...

用于Format-Table TimeGenerated获取事件发生TimeWritten的时间,并获取将其保存到日志的时间。

Time默认视图中的列TimeGenerated格式为{0:MMM} {0:dd} {0:HH}:{0:mm}. 您可以在 Powershell 中的一种格式文件中看到这一点。对于这种情况,它位于 "C:\Windows\System32\WindowsPowerShell\v1.0\DotNetTypes.format.ps1xml" 中:

.....
<ViewSelectedBy>
    <TypeName>System.Diagnostics.EventLogEntry</TypeName>
</ViewSelectedBy>
.....
<TableColumnHeader>
    <Label>Time</Label>
    <Width>13</Width>
</TableColumnHeader>
.....
<TableColumnItem>
    <PropertyName>TimeGenerated</PropertyName>
    <FormatString>{0:MMM} {0:dd} {0:HH}:{0:mm}</FormatString>
</TableColumnItem>
.....
于 2013-03-14T11:28:17.527 回答