用于输出无法访问的事件日志的脚本

时间:2016-05-07 13:42:54

标签: csv powershell

我是PowerShell的新手,需要编写一个脚本来提取安全日志,然后将数据放在一个带时间戳的csv文件的某个位置,但是我得到了陷入循环。我想要的结果是我的目录中的CSV文件,其中包含安全日志和文件名的时间戳,这是我为标记的部分所获得的。

Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| foreach-Object {
    $row = "" | Select UserName, LoginTime
    $row.UserName = $_.ReplacementStrings[5]
    $row.LoginTime = $_.TimeGenerated
    $eventList += $row
    $variable | Export-Csv c:\output.csv
    }

$ EVENTLIST

Export-Csv:无法将参数绑定到参数'InputObject',因为它为null。 在行:12 char:21

我猜这个问题在这里?我再次为脚本背景道歉,只是试图让流程变得更好。

$variable | Export-Csv c:\output.csv

1 个答案:

答案 0 :(得分:0)

是的,您没有在脚本中定义@RunWith(AndroidJUnit4.class) public class ClipboardServiceTest { private static final String ANY_LABEL = "Android"; private static final String ANY_TEXT = "Android test rules"; private Context context = InstrumentationRegistry.getTargetContext(); @Rule public ServiceTestRule serviceTestRule = new ServiceTestRule(); @Before public void setUp() throws TimeoutException { serviceTestRule.startService(new Intent(InstrumentationRegistry.getContext(), ClipboardService.class)); } @Test public void shouldShowClipboardViewOnCopyText() { ClipboardManager clipboard = (ClipboardManager) context .getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText(ANY_LABEL, ANY_LABEL); clipboard.setPrimaryClip(clip); onView(withText(ANY_TEXT)).check(matches(isDisplayed())); } } ,这就是您获得此异常的原因。看起来您尝试将一堆EventLog条目导出为csv,因此$variable cmdlet可能应属于Export-Csv cmdlet之外。也许你想做这样的事情:

Foreach-Object