Как получить запущенный процесс powershell?

Пытаюсь узнать запущен ли процесс 1cv8.exe у текущего пользователя через powershell.
Get-Process | Where-Object {($_.SI -eq (Get-Process -PID $PID).SessionId) -and ($_.ProcessName -eq '1cv8')}

Но в ответ тишина, в powershell не силен =(
  • Вопрос задан
  • 327 просмотров
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Для начала упростите до
Get-Process | Where-Object  {$_.ProcessName -eq '1cv8'}

Потом до
(Get-Process -PID $PID).SessionId
Убедитесь, что получаете вывод в обоих случаях

Третим этапом
Get-Process | Where-Object  {$_.ProcessName -eq '1cv8'} | select si,sessionid

оба должны совпасть с выводом второй команды.

если всё работает - должна и заработать и ваша команда

Хотя, конечно, она крайне медленная и неоптимальная, потому что на каждый полученный процесс она делает (Get-Process -PID $PID).SessionId
так лучше
$si = (Get-Process -PID $PID).SessionId; Get-Process | Where-Object {($_.SI -eq $si) -and ($_.ProcessName -eq '1cv8')}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы