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에서 다른 명령을 실행할 수는 있지만 systeminfo
명령 wmic
은 실행할 수 없는 것 같습니다 Get-*
.
로컬 PC와 원격 PC 모두 Windows 10 및 PowerShell 5.1을 실행하고 있습니다. psexec
로컬 PC에서 버전 2.2와 2.33을 실행해 보았습니다 . (신기하게도 버전 2.2에서는 위의 오류가 발생하는 반면, 버전 2.33에서는 관리자 자격 증명이 있어도 로그온 실패 메시지가 나타납니다.)
답변: Robert가 아래 설명에서 지적했듯이 psexec
PowerShell 명령이 아닌 실행 파일을 실행하기 위한 것입니다. 동일한 작업을 수행하는 방법은 아래 표시된 답변을 참조 Invoke-Command
하세요 PSRemoting
.
답변1
psexec
다른 컴퓨터에 대해 원격으로 PowerShell 명령을 실행할 필요가 없습니다 . 원격 시스템에 다음이 있는지 확인하십시오.PSRemoting활성화한 다음 다음을 사용하여 원격 컴퓨터에 대해 PowerShell 명령을 실행합니다.호출 명령.
PSRemoting 활성화원격 컴퓨터에서
Enable-PSRemoting -Force
원격 PowerShell 명령 실행
Invoke-Command -Computer pc28 -Scriptblock { Get-WinEvent -? }
지원 리소스
-
-ScriptBlock scriptblock
실행할 명령입니다.
{ }
스크립트 블록을 만들려면 명령을 중괄호로 묶습니다 . 이 매개변수는 필수입니다.