Как на терминальном сервере
Как это реализовать стандартными средствами Windows найти не удалось, однако в WMI командах есть возможность выполнять отображение количество запущенных процессов.
Ниже пример небольшого сценария, который, работая резидентно, отслеживает процессы приложения по имени исполняемого файла, для примера блокнота (notepad.exe) или калькулятора (calc.exe) - по счетчику (n=3) - отслеживает количество работающих приложений.
При этом, сам сценарий загружается как процесс wscript.exe и отображается с этим именем в диспетчере задач.
Пример скрипта:
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __InstanceCreationEvent" _ & " within 1 where TargetInstance isa 'Win32_Process'")
Set colMonitorProcessesd = objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceDeletionEvent " & _ "WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' ")
i = 0 num=3 lim=num
Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent If objLatestProcess.TargetInstance.Name = "notepad.exe" or objLatestProcess.TargetInstance.Name = "calc.exe" Then num=num-1 Wscript.Echo "Num: "& num if num
С целью информативности работы сценария принменены всплывающие окна, которые можно убрать.
Указаный сценарий предназначен для запуска в приложении Cscript.exe. Исходя из этого, если программой для запуска сценариев по умолчанию она не является в вашей системе, вам необходимо добавить перед сценарием имя программы "cscript"
например: cscript Processrestrict.vbs.
Если предоставленной информации оказалось недостаточно для решения вашей задачи вы можете
задать вопрос в этой теме форума