2

我正在研究一种通过 PS 和 WMI 远程停止和重新启动进程的方法。我可以轻松地停止/终止该过程,但我也想重新启动该过程,但我在这样做时遇到了问题。下面是我用来远程停止/终止进程的脚本。知道我可以添加什么然后重新启动相同的过程吗?

$comp = read-host -Prompt "Enter computer name"
(Get-WmiObject Win32_Process -ComputerName $comp | ?{     $_.ProcessName -match "PhotoScreensaver.scr" }).Terminate()
4

1 回答 1

1

虽然我确信您可以使用 WMI 做到这一点,但还有一种更简单的方法。Powershell 有一个内置的 cmdlet Invoke-Command,用于远程执行代码。还有Start-ProcessStop-Process用于控制过程。

Invoke-Command -ComputerName $Computer -ScriptBlock {
    Start-Process $ProcessName
    Stop-Process $ProcessName
}

如果您在域环境中,您可能必须使用该-Authentication Kerberos选项来获得远程计算机的权限。

我还想指出,这些进程将在远程计算机上的不同会话中打开。如果用户登录,它将不会在他们的会话中执行。为此,您需要PSExecSysInternals 人员提供的其他工具。

于 2015-01-21T16:40:38.500 回答