2012-04-12 351 views
1

当我运行以下代码时,我收到消息“无法将'System.Object []'转换为类型'System.String' ”。我如何将事件日志列表传回给事件日志?Powershell:无法将'System.Object []'转换为'System.String'类型

$EventLogList = Get-EventLog | Select-Object -ExpandProperty log 
Get-evenlog -log $eventloglist 

获取,事件日志:无法将 'System.Object的[]' 的类型 'System.String' 要求参数 'LOGNAME'。

您的帮助表示赞赏

+0

你必须在第二行一个错字。它应该是'eventlog'而不是'evenlog'。 – 2012-04-12 18:31:32

+0

目前还不清楚你的意图。你想要达到什么目的? – 2012-04-12 18:34:54

+0

啊对不起。我想从所有传统日志中检索所有事件条目。例如应用程序,硬件事件,Internet Explorer,密钥管理服务,安全,系统等 – resolver101 2012-04-12 18:46:27

回答

3

LogName是一个强制性的参数Get-EventLog,你必须提供它,除非你正在尝试做一个列表与-list。此外,它期望一个字符串和第二行是因为你正在传递一个数组给出的错误。

除此之外,目前还不清楚你对这些陈述所做的尝试。

我想你想要的东西,如:

get-eventlog -list | %{ get-eventlog -log $_.log } 
+0

谢谢。阵列造成了我的问题。我创建了一个foreach来逐个遍历每个日志。 – resolver101 2012-04-12 19:11:27

相关问题