2013-04-11 85 views
0

所以我需要一些帮助。我得到了一个项目,涉及编写一个PowerShell脚本。我需要能够从Windows 7计算机的安全日志中获取最新的SuccessAudit,ID = 4776。在PowerShell中解析PSCustomObject,事件日志

我设法在几个小时内完成这个任务,这是我第一次使用powershell。

$eventtime=Get-EventLog Security | {$_.EventId -eq 4776} | where {$_.entrytype -eq "SuccessAudit"} | Select-Object TimeGenerated | Select -first 1 

经由控制台输出(W/O设定一个变量):

TimeGenerated 
-------------------------- 
4/10/2013 10:35:01 PM 

如果我设置命令给一个变量,这是可变的结果:

@{TimeGenerated=4/10/2013 10:35:01 PM} 

我想削减变量,以便它只会等于日期和时间: 2013年4月10日下午10:35:01下午

帮助!我已经呆了好几个小时了!

回答

2

尝试:

$eventtime=Get-EventLog Security | ? {$_.EventId -eq 4776} | 
where {$_.entrytype -eq "SuccessAudit"} | 
Select-Object -expand TimeGenerated | Select -first 1 
+0

真棒!这工作。非常感谢你!! – ShadowM82 2013-04-11 06:10:30

+0

@ user2268898很高兴帮助! – 2013-04-11 06:11:59

+0

@CB,这也适用于我,ty!通过只做Select-Object -Property,我得到了PSCustomObject的一个数组(Object []),通过改变使用-ExpandProperty,我得到了我想要的项目数组。 – AnneTheAgile 2015-07-01 18:54:58