原文地址:http://rakhesh.com/powershell/killing-a-process-on-a-remote-computer-using-powershell/
在本地计算机上关闭进程的方式:
- (Get-Process -Name notepad2).Kill()
- Stop-Process -Name notepad2
- Get-Process -Name notepad2 | Stop-Process
以上几种方法虽然在本地计算机上能够正常工作,但是都不能应用在远程计算机上。
stop-process命令不支持-ComputerName参数,如果给第三种方法添加-ComputerName参数来关闭远程进程的话会出现“Stop-Process : Feature is not supported for remote machines”异常。而第一种方法会出现“Exception calling "Kill" with "0" argument(s): "Feature is not supported for remote machines."异常。
所以我们只能使用WMI来关闭远程进程了:
(Get-WmiObject Win32_Process -ComputerName mango | ?{ $_.ProcessName -match "notepad" }).Terminate()
如果你想知道当前的进程支持什么方法,可以使用以下方法进行查看:
gwmi win32_process | ?{ $_.ProcessName -match "notepad" } | gm -MemberType Method