如何使用Powershell WMI在远程计算机上启动进程?

时间:2018-11-30 23:02:12

标签: powershell

我们正在升级服务器,需要先停止应用程序,然后再执行更新,然后重新启动。

我正在在线阅读有关此内容,并且大多数链接都谈论remoting,但是某些机器未启用PSRemoting,因此我需要坚持使用wmi

请问对此有一些建议吗?

我要使用以下方法来终止该过程:

$processes=Get-WmiObject -Class Win32_Process -ComputerName $Address -Filter "name='$ProcessName'"

foreach ($process in $processes) 
{
    $returnval = $process.terminate()
    $processid = $process.handle

    if($returnval.returnvalue -eq 0) {
        write-host "The process $ProcessName `($processid`) terminated successfully"
    }
    else {
        write-host "The process $ProcessName `($processid`) termination has some problems"
    }
}

1 个答案:

答案 0 :(得分:0)

您没有说您要处理的OS和PS版本。

您不是在说什么,或者是您对发布的内容有疑问。

即使仅使用WMI,您仍必须正确配置Windows WMI才能执行此操作,并且知道Windows没有开箱即用的配置,可以在不进行所有适当的WinRM,WMI和防火墙手动配置的情况下让您得到所需的信息。

通过GPO启用PSRemoting更加简单。

否则,您将需要对winrs.exe或MS SysInternals psexec进行tp查看。

winrs Windows远程管理使您可以远程管理和执行程序。

PsExec v2.2

还要回到我正在使用的OS和PowerShell版本。有

Invoke-Wmi​Method

哪些可以导致这样的事情---

Offset