PowerShell は初めてですが、これまでのところ非常に多くのことをすばやく実行できるという事実が気に入っています :)
とにかく、私はこうしてPowerShellスクリプトでリモートプロセスを開始しています:
$compname = "MY-PC"
$myinstallcmd = "c:\install\myprog.exe /s"
$proc = Invoke-WmiMethod -class Win32_Process -name Create -ArgumentList ($myinstallcmd) -ComputerName $compname
私が試したほとんどの PC では、Invoke-WmiMethod コマンドレットは正常に動作しますが、1 台の PC ではハングします。私が今やろうとしているのは、実行中のプロセスのステータスを取得することです。プロセスがハングアップしている場合は、それを強制終了し、そのログを記録してから先に進みます。
Powershellでリモートでプロセスを開始し、Windows で %ERRORLEVEL% を取得するという投稿でこれを行うための可能な方法を見つけました
- ただし、プロセス $proc.ProcessId で Register-WmiEvent を実行しようとすると、恐ろしい0x80070005 (E_ACCESSDENIED)
エラー... PowerShell ホストをドメイン管理者として実行しています。
開始したプロセスのステータスを取得し、ステータスに基づいてアクションを実行できる方法を誰かが提案できますか?
ありがとう!