PowerShell:为什么我会收到此错误?

PowerShell:为什么我会收到此错误?

我正在尝试使用 PowerShell Invoke 命令。我使用正确,但不知道为什么会出现错误。

Invoke-Command Get-EventLog –LogName Security –Newest 100 -ComputerName WIN-9F8JQL0989

错误信息:

错误信息

答案1

我猜您想从指定计算机获取最新的 100 个安全事件日志。

为了做到这一点,你只需错过一些大括号:

Invoke-Command { Get-EventLog –LogName Security –Newest 100} -ComputerName WIN-9F8JQL0989

括号表示您想要执行的脚本块/有效负载(命令)。

您收到的错误是因为您混合了invoke-command和get-eventlog的命令行,因此解析器无法确定哪些参数属于哪里。它认为-LogName(以及-Newest)与invoke-command一起使用,但它没有该参数。

答案2

好的,所以我的问题的答案是,我必须使用 Credential 参数明确传递凭据,并使用相同的命令创建一个新的 PSSession。这是因为 PowerShell 太过分了。

Invoke-Command -Session (NewPSSession WIN-9F8JQL85GIA -Credential AD\Administrator) -ScriptBlock {Get-EventLog -LogName Security -Newest 100}

这是正确的答案。

相关内容