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 cmdlet 运行良好,但在一台 PC 上,它挂起。我现在要做的是获取正在运行的进程的状态,如果它被挂起,杀死它并记录杀死,然后继续。
我确实在博文中找到了一种可能的方法来执行此
操作 在 Powershell 中远程启动进程,在 Windows 中获取 %ERRORLEVEL% - 但是,当我尝试对进程 $proc.ProcessId 执行 Register-WmiEvent 时,我得到了可怕0x80070005 (E_ACCESSDENIED)
的错误...我以域管理员身份运行 PowerShell 主机。
任何人都可以建议一种方法,让我可以在我开始的过程中获得状态,并能够根据状态采取行动吗?
谢谢!