几天前,我开始开发用于监视服务的Powershell脚本。命令:
taskkill /f /fi "USERNAME eq admin" /im tm1top.exe
当我运行taskkill
以停止脚本中的一个进程时,该进程无法正常工作:该进程仍处于“运行中”状态,因此脚本无法正常结束。
另一方面,直接从CMD运行完全相同的命令(taskkill
)是成功的。
注意:正在运行此脚本的用户在计算机上具有ADMIN RIGHTS,并且我正在运行Windows Seever2008。还尝试在Windows Scheduler中创建一个任务,并以该用户的最高特权运行它,但结果相同..
请问我应该修改什么才能使该功能直接从ps脚本运行?
答案 0 :(得分:0)
我建议为此使用WMI:
Get-WmiObject Win32_Process | Where-Object {
$_.GetOwner().User -eq 'admin' -and
$_.Name -eq 'tm1top.exe'
} | ForEach-Object {
$_.Terminate()
}