我在这里的第一篇文章。我正在使用 powerShell 编写脚本,目标是为每个用户的进程设置一定数量的 CPU 线程,使用这里的论坛,我能够找到大部分答案,甚至让我的脚本运行,除了,如果它设置了亲和力,它将它设置为每个进程,而不仅仅是我需要的用户。这是代码(带注释):
# GET LIST of all process running
$pList = get-wmiobject win32_process
# loop through created array and get the OWNER of the processes
foreach ($p in $pList) {
#If "myUserName" is found:
if ($p.getowner().User -eq 'myUserName') {
# get process name
$procName = $p.ProcessName
# trim STRING to remove EXE
$procName = $procName.Replace('.exe','')
# use get-process to make array of processes run by "myUserName"
$activeProc = Get-Process -name $procName
# Loop to set affinity for each process
foreach ($i in $activeProc){
$i.ProcessorAffinity=0xFE
}
}
}
当我执行这个命令时,所有的进程都设置为新的线程数,有什么建议可以让它只为特定用户调整线程吗?
非常感谢你们!这很紧急。