Powershell EventLog ReplacementStrings -ExpandProperty

时间:2015-10-07 16:24:44

标签: string powershell split event-log winlogon

我需要一个适用于所有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]但是无法使用它,因为我也在同一个查询中请求另外两个对象。在此先感谢大家 - 这个让我难过。

1 个答案:

答案 0 :(得分:0)

我不熟悉该数据的结构,但在我自己的机器上进行简单测试会返回相同的结果。看看数据类型它看起来只是一个字符串 array ,这就是为什么拆分它不起作用。您可以通过{1, SID}告诉它在控制台上的显示方式。相反,我们使用calculated propertyreplacementstrings中提取第二个值。

Get-EventLog -ComputerName $endpoint System -Source Microsoft-Windows-Winlogon | 
        Select-Object machinename,timegenerated,@{Label="SID";Expression={$_.replacementstrings[1]}} |
        Export-Csv c:\test.csv