Получить имена запущенных процессов с помощью JS (Batch не устраивает)

Поддержка
  • Нашел вот такой код:

    var Process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'notepad.exe'");
    

    Process.Count - количество процессов с именем notepad.exe
    Не получается выполнить через действие выполнить код
    ReferenceError: Can't find variable: GetObject - текст ошибки
    Очевидно какие то библиотеки отсутствуют, может есть альтернативные варианты, как получить список имен или количество запущенных процессов по имени через JS или другие методы для это в БАС

  • это C++, посоветую еще раз смотреть в сторону серверной проверки...

  • @derx2012
    получай список процесов в запустить процес

    tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"
    

    а далее в список их проверяй на что тебе надо
    и опять выполняй процесс, команду на закрытие процесса

    taskkill /f /im [[твой процесс]]
    
  • @derx2012 Скинул в твоей соседней теме

    @tasklist /FI "IMAGENAME eq Notepad2.exe" 2>NUL | find /c /i "Notepad2.exe"
    
  • Этот batch точно также не работает на win7, зависает, я хочу чтобы везде работало. На win10 все работает

  • @derx2012 Тестировал на чужой машине с win7
    0_1537777760251_BRrulhp5vCc.jpg

    0_1537777771863_njnGboFn784.jpg

    Всё прекрасно работает.


    В коде в двух местах надо прописывать название процесса:

    @tasklist /FI "IMAGENAME eq НАЗВАНИЕ_ПРОЦЕССА.exe" 2>NUL | find /c /i "НАЗВАНИЕ_ПРОЦЕССА.exe"
    
  • Да так и прописывал, может у меня вин7 кривая какая то, спасибо!. Буду думать