【问题标题】:Powershell: Cannot convert 'System.Object[]' to the type 'System.String'Powershell:无法将“System.Object []”转换为“System.String”类型
【发布时间】:2012-04-12 18:28:30
【问题描述】:

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

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

Get-EventLog:无法将“System.Object[]”转换为类型 参数“LogName”需要“System.String”。

感谢您的帮助

【问题讨论】:

  • 第二行有错字。它应该是 eventlog 而不是 evenlog
  • 目前还不清楚你的意图是什么。你到底想达到什么目的?
  • 啊,对,对不起。我想从所有传统日志中检索所有事件条目。例如应用程序、HardwareEvents、Internet Explorer、密钥管理服务、安全、系统等

标签: string powershell event-log


【解决方案1】:

LogNameGet-EventLog 的强制参数,您必须提供它,除非您尝试使用-list 进行列表。此外,它需要一个字符串,而第二行给出了错误,因为您正在传递一个数组。

除此之外,您还不清楚您要对这些语句做什么。

我想你想要这样的东西:

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

【讨论】:

  • 谢谢。数组导致了我的问题。我创建了一个 foreach 来分别遍历每个日志。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
  • 2020-03-17
相关资源
最近更新 更多