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 を実行しています。ローカル PC でバージョン 2.2 と 2.33 を実行してみましたpsexec
。(不思議なことに、バージョン 2.2 では上記のエラーが発生し、バージョン 2.33 では管理者の資格情報を使用してもログオン失敗メッセージが表示されます。)
答え: Robert が以下のコメントで指摘しているように、は実行可能ファイルを実行するためのものであり、PowerShell コマンドではありません。とpsexec
を使用して同じことを実行する方法については、以下のマークされた回答を参照してください。Invoke-Command
PSRemoting
答え1
PowerShellコマンドを他のマシンに対してリモートで実行する必要はありませんpsexec
。リモートマシンがPSリモート有効にして、リモートマシンに対してPowerShellコマンドを実行します。呼び出しコマンド。
PSRemoting を有効にするリモートマシン上
Enable-PSRemoting -Force
リモート PowerShell コマンドの実行
Invoke-Command -Computer pc28 -Scriptblock { Get-WinEvent -? }
サポートリソース
-
-ScriptBlock scriptblock
実行するコマンド。
{ }
スクリプト ブロックを作成するには、コマンドを中括弧で囲みます。このパラメーターは必須です。