2016-11-14 72 views
2

我有一个地方过程中的每一个星期一的早晨坚持,因为Oracle数据库,所以我尝试创建一个PowerShell脚本运行每星期一,但无论得到一个错误的或没有的情况下,过程遗迹。的PowerShell将不会终止挂起的进程

我试图使用的“杀”该生产线是:

Get-Process -Name ez0* -ComputerName $server | Stop-Process -Force 

试着这样做在本地以及无-ComputerName

我没有从这条线上收到任何错误,或者没有-Force它只是执行并继续。

只是在做Get-Process工程,我可以看到它,但我不能用PowerShell结束它。经过多次尝试后,我远程登录到服务器,并右键单击该进程并选择“结束任务”,这很好地工作。

这是一个奇怪的过程,因为它是一个从最初的8(基于内核),当你停止服务,但所有的方法之一是保存该挂了一个删除。

+1

尝试调用命令$ server -Scriptblock {Get-Process -name ez0 * |停止进程-Force}'' – 4c74356b41

+0

使用版本5+,我在尝试从通过管道传递的远程服务器停止一个进程对象时,以下情况除外:'停过程:无法停止进程“记事本(11720)”,因为下面ERR 或:功能不支持远程machines.' –

+0

我将尝试在周一的WMI的方式看东西怎么走,但是这不是一个远程的问题退避三舍本地测试是一样的。 –

回答

2

尝试使用:

$termproc = (get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'" 
$termproc.terminate() 

你也可以只做到以下,如果你不想先检查过程中的变量。

(get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'").terminate() 

谢谢,Tim。

+0

感谢wmiobject解决方案!出于某种原因,终止命令将过程当作wmiobject工作,而“Stop-Process”则没有。 –

+0

不用担心Patrik。很高兴它的工作。谢谢你让我知道。 –