Powershell 对于每个环路&;IF语句:检查正在运行的进程ID号

Powershell 对于每个环路&;IF语句:检查正在运行的进程ID号,powershell,if-statement,foreach,Powershell,If Statement,Foreach,我需要帮助编写一个for each循环来迭代我系统上运行的所有进程。在for-each循环中,我需要编写一个IF语句来检查ID号是否大于10000。如果ID大于10000,则必须显示消息“[进程名称]的ID大于10000”。否则,无需显示任何消息 我是Powershell的新手,我真的搞不懂这个。 任何援助都会大有帮助。 以下是我到目前为止的情况: $theprocessID = Get-Process | Where-Object -FilterScript {$_.Id -gt 10000}

我需要帮助编写一个for each循环来迭代我系统上运行的所有进程。在for-each循环中,我需要编写一个IF语句来检查ID号是否大于10000。如果ID大于10000,则必须显示消息“[进程名称]的ID大于10000”。否则,无需显示任何消息

我是Powershell的新手,我真的搞不懂这个。 任何援助都会大有帮助。 以下是我到目前为止的情况:

$theprocessID = Get-Process | Where-Object -FilterScript {$_.Id -gt 10000}


foreach ($theprocess in $relatedprocess)
{
    if ($theprocess -gt 10000)
    {$_.computername 
    write-output "has an ID greater than 10000."}
}

.. .听起来像是家庭作业。如果是的话,你应该和你的老师谈谈。顺便说一句:您将保存到变量
$theprocessID
中的进程列表限制为ID大于(-gt)15000的进程。;-)@olaf过滤掉15000以下的人,检查10000以上的人(根据第一个过滤器都是如此),然后说他们超过了1000。我糊涂了!否。您的
Where对象
过滤掉所有小于或等于15000的进程ID。在循环中检查ID是否大于或等于10000。至少你发的代码是这样的。哈哈,这是家庭作业!但是我的教授没有读他的电子邮件,加上我很难理解他的解释。如果你使用
Where Object{$\u.ID-gt 10000}
你不需要If语句来检查ID是否大于10000。