我想编写一个简单的If语句,它检查一个进程是否存在。
如果存在,则应该开始。

像这样,但是工作。

If ((Get-Process -Name Tvnserver.exe ) -eq $True)
{
    Stop-Process tnvserver
    Stop-Service tvnserver
    Uninstall...
    Install another Piece of Software
}
Else
{
    do nothing
}

谢谢

最佳答案

如果该过程不存在,则评估为true:

(Get-Process -name Tvnserver.exe -ErrorAction SilentlyContinue) -eq $null

或者,如果您要更改它,则可以按以下方式否定该语句:
-not ( $(Get-Process -name Tvnserver.exe -ErrorAction SilentlyContinue) -eq $null )

拥有-ErrorAction SilentlyContinue以避免在不存在进程的情况下引发任何错误很重要。

关于powershell - Powershell获取过程查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15053614/

10-14 19:36