我需要帮助创建一个 powershell 脚本来查找正在运行的进程,如果不存在则启动它。现在,我的 VB 脚本会查找进程并启动,但由于 Windows 7 快速用户切换,该进程可以在任何用户 session 中运行,这使得脚本认为它在当前用户 session 中运行。非常感谢任何帮助或指示!
最佳答案
相对简单的代码:
if (
Get-WmiObject -Class Win32_Process -Filter "Name = 'explorer.exe'" |
where {
$_.GetOwner().User -eq $env:USERNAME
}
) {
"explorer is running for $env:username"
}
这应该忽略为当前用户以外的任何其他用户运行的此进程。只需将 explorer.exe 替换为实际进程并更改逻辑以满足您的需要。
关于windows - 检查当前用户 session 中是否有进程正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14343018/