我需要一个适用于所有AD用户的登录数据库。为了将此改进到过去的登录,我在powershell中使用EventLog查询。我的查询有效:
Get-EventLog -ComputerName $endpoint System -Source Microsoft-Windows-Winlogon | select machinename,timegenerated,replacementstrings | export-csv c:\test.csv
ReplacementStrings返回{1,SID}数组。我使用此SID作为另一个表的查找属性。我已经在网上寻找并试图扩大房产但到目前为止没有运气。正如您所看到的,我想将此全部导出到csv,每个事件都作为一个单独的行包含:machinename,timegenerated,然后是SID(这是我需要的替换字符串)。我也研究过使用.Split [1]但是无法使用它,因为我也在同一个查询中请求另外两个对象。在此先感谢大家 - 这个让我难过。
答案 0 :(得分:0)
我不熟悉该数据的结构,但在我自己的机器上进行简单测试会返回相同的结果。看看数据类型它看起来只是一个字符串 array ,这就是为什么拆分它不起作用。您可以通过{1, SID}
告诉它在控制台上的显示方式。相反,我们使用calculated property从replacementstrings
中提取第二个值。
Get-EventLog -ComputerName $endpoint System -Source Microsoft-Windows-Winlogon |
Select-Object machinename,timegenerated,@{Label="SID";Expression={$_.replacementstrings[1]}} |
Export-Csv c:\test.csv