PsExec with Get-WinEvent: 系统找不到指定的文件

罗素G

我正在尝试Get-WinEvent在远程 PC上运行psexec但出现以下错误:

PS C:\> psexec \\pc28 Get-WinEvent -?
Starting Get-EventLog on pc28...
PsExec could not start Get-EventLog on pc28:
The system cannot find the file specified.

但是,如果我在另一台 PC 上本地运行相同的命令,它运行良好:

PS C:\> Get-WinEvent -?

NAME
    Get-WinEvent

SYNTAX
    Get-WinEvent [[-LogName] <string[]>]...
(etc.)

看来我可以在远程 PC 上运行其他命令systeminfowmic但没有任何Get-*命令。

本地和远程 PC 都运行 Windows 10 和 PowerShell 5.1。我试过psexec在本地 PC 上运行2.2 和 2.33 版。(奇怪的是,2.2 版给出了上述错误,而 2.33 版给出了登录失败消息,即使使用管理员凭据也是如此。)

回答:正如罗伯特在下面的评论中指出的那样,psexec用于运行可执行文件,而不是 PowerShell 命令。请参阅下面的标记答案,了解如何使用Invoke-Commandand来做同样的事情PSRemoting

皮尔斯伯里 IT 面团男孩

您不需要psexec针对其他计算机远程运行 PowerShell 命令。确保远程机器启用了PSRemoting,然后使用invoke-command对远程机器运行 PowerShell 命令

在远程机器上启用-PSRemoting

Enable-PSRemoting -Force

运行远程 PowerShell 命令

Invoke-Command -Computer pc28 -Scriptblock { Get-WinEvent -? }

配套资源

  • 启用-PSRemoting

  • 调用命令

    -ScriptBlock scriptblock

    要运行的命令。

    将命令括在花括号中{ }以创建脚本块。此参数是必需的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章