【发布时间】:2018-03-14 18:26:42
【问题描述】:
我正在尝试从运行 windows server 2012 的终端服务器获取所有挂起的任务。
我曾尝试使用带有 wmi 对象的 powershell,如下所示:
Get-WmiObject -Class Win32_Process -ComputerName computername -Property status
但是所有进程的status属性都是空的,但它在任务管理器的详细视图中显示如下:
我还尝试了以下代码来尝试获取正在运行的线程的状态:
$processes = Get-Process * -ComputerName ppivts | select name,threads
foreach ($process in $processes)
{
foreach ($thread in $process.Threads)
{
if($thread.ThreadState -ne "Wait"){
$process.Name
$thread.ThreadState
}
}
}
这也不起作用。如何获取进程的状态,更具体地说是暂停的状态?
【问题讨论】:
-
@Persistent13 我已经查看了该解决方案,正如您从上面的代码中看到的那样,它不会返回暂停或正在运行的任务。它不反映在任务管理器中看到的内容。
-
@Persistent13 抱歉,我能够在 waitreason 枚举中找到暂停成员名称。所以,我应该可以查询。谢谢。
标签: windows powershell server wmi get-wmiobject