PsExec con Get-WinEvent: El sistema no puede encontrar el archivo especificado

PsExec con Get-WinEvent: El sistema no puede encontrar el archivo especificado

Estoy intentando ejecutar Get-WinEventen una PC remota psexecpero aparece el siguiente error:

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.

Sin embargo, si ejecuto el mismo comando localmente en la otra PC, funciona bien:

PS C:\> Get-WinEvent -?

NAME
    Get-WinEvent

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

Parece que puedo ejecutar otros comandos en la PC remota como systeminfoy wmicpero ninguno de los Get-*comandos.

Tanto la PC local como la remota ejecutan Windows 10 y PowerShell 5.1. Intenté ejecutar psexeclas versiones 2.2 y 2.33 en la PC local. (Curiosamente, la versión 2.2 muestra el error anterior, mientras que la versión 2.33 muestra un mensaje de error de inicio de sesión incluso con credenciales de administrador).

RESPUESTA: Como Robert señaló en los comentarios a continuación, psexeces para ejecutar ejecutables, no comandos de PowerShell. Consulte la respuesta marcada a continuación para saber cómo hacer lo mismo pero con Invoke-Commandy PSRemotingen su lugar.

Respuesta1

No es necesario psexecejecutar comandos de PowerShell de forma remota en otras máquinas. Asegúrese de que la máquina remota tengaPSRemotohabilitado y luego ejecute los comandos de PowerShell en la máquina remota usandocomando de invocación.

Habilitar-PSRemotingen máquina remota

Enable-PSRemoting -Force

Ejecutar comandos remotos de PowerShell

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

Recursos de apoyo

  • Habilitar-PSRemoting

  • Comando de invocación

    -ScriptBlock scriptblock

    Los comandos a ejecutar.

    Escriba los comandos entre llaves { }para crear un bloque de secuencia de comandos. Este parámetro es obligatorio.

información relacionada