【发布时间】:2015-11-21 03:51:20
【问题描述】:
我需要一些有关此代码的帮助,因为我是 powershell 的超级初学者,但我试图向我的经理报告,他希望看到外部尝试远程访问我们的系统失败。
试图从安全日志中提取 4625 个事件并将以下字段放入 csv 文件:用户名(如果是内部用户)、事件日期、源 IP。到目前为止,我有这个代码是基于我在网上可以找到的(又名水蛭)并进行了一些定制。除了日期(生成的时间)之外,此时一切都是正确的。我相信这是因为列出的替换字符串编号。它正在从日志中提取 SubjectUserSid。我不太确定我是否了解如何找到该替换字符串编号,所以也许如果有人可以向我解释一下,那会有所帮助。 谢谢
$Date = [DateTime]::Now.AddDays(-1)
$Server = "SERVER"
$logName = '{0}{1}_security4625_log.csv' -f "C:\temp\",
$Date.tostring("MM-dd-yyyy_HH,mm,ss")
Get-EventLog -LogName 'Security' -Computer $Server `
-InstanceId 4625 `
-After $Date |
Select-Object @{
Name='TargetUserName'
Expression={$_.ReplacementStrings[5]}
},
@{
Name='WorkstationName'
Expression={$_.ReplacementStrings[1] -replace '\$$'}
},
@{
Name='IpAddress'
Expression={$_.ReplacementStrings[-2]}
},
@{
Name='TimeGenerated'
Expression={$_.ReplacementStrings[0]}
} |
Export-Csv -Path $logName -NoTypeInformation
【问题讨论】:
标签: powershell