Установка соответствия для данного процесса с помощью следующего отлично работает
PowerShell "get-process Notepad | %% { $_.ProcessorAffinity=1 }"
То, что я хотел бы сделать, это установить маску процессора по-разному для каждого экземпляра данного процесса, с которым сталкивается скрипт. То есть установите сходство экземпляров данного процесса в стиле «циклического перебора». Каждому экземпляру должно быть назначено «следующее доступное» ядро
instance 1 -> 00000001 (first core)
instance 2 -> 00000010 (second core)
instance 3 -> 00000100
etc..
instance 8 -> 10000000 (8th core)
instance 9 -> 00000001 (back to the first core again)
instance 10 -> 00000010 (second core again)
и так далее.
Обычно в каждый момент времени будет от 10 до 20 экземпляров процесса, и сценарий будет запускаться по расписанию каждые несколько минут, чтобы равномерно распределить нагрузку по всем ядрам.
Заранее большое спасибо за любые предложения.