No post anterior, houve a definição do “Core Voltage Offset” do processador, no entanto quando a máquina é reiniciada, esta configuração é perdida, o que obriga o usuário a ter que reabrir o XTU (eXtreme Tuning Utility) para reaplicar o Offset.
O que vamos configurar aqui, é uma maneira de fazer isso automaticamente durante a inicialização do computador. Primeiro vamos criar um script no powershell, depois veremos como agenda-lo para ser executado com privilégios administrativos durante o logon.
Definir o Core Voltage Offset via script
Execute “Windows PowerShell ISE” como administrador
Vá em Arquivo > Novo > Cole o conteudo do código abaixo.
Substitua -10 na segunda linha pelo “Core Voltage Offset” que você encontrou no post anterior anterior (a unidade é em mV, portanto se encontrou -0,155V então coloque -155) e salve em C:\Windows\XTUvoltage.ps1
Tente executar este script (F5), se houver erro de permissão, vá no prompt logo abaixo do arquivo .ps1 e libere a permissão de execução com o seguinte comando: “Set-ExecutionPolicy RemoteSigned”
O script que vêm circulando na internet é muito simples, não possui as proteções necessárias, não detecta corretamente o serviço “XTU3SERVICE”, nem verifica o Offset atual antes de aplica-lo. Escrevi o script abaixo para contornar essas limitações e adicionar algumas proteções.
Repare que este script verifica o Offset atual ANTES de aplicar o novo Offset. Essa proteção é necessária porque uma segunda definição do mesmo Offset ANULA a primeira, fazendo o sistema retornar ao default, que é ZERO. (Levou um certo tempo para descobrir isso)
Basta alterar o valor de $DESIRED_OFFSET_MILLIVOLTS e executa-lo quantas vezes desejar, ele possui todas as proteções necessárias.
# PLEASE SET YOUR CORE VOLTAGE OFFSET HERE (ONLY NEGATIVE NUMBERS. EG: -100) $DESIRED_OFFSET_MILLIVOLTS = -10 # DO NOT TOUCH FROM THIS POINT ON function Countdown-And-Quit { param( [int] $seconds = 3 ) Write-Host -NoNewLine -ForegroundColor Cyan "Closing this window in " For ($i=$seconds; $i -gt 0; $i--) { Write-Host -NoNewLine -ForegroundColor Cyan "$i..." Start-Sleep -Milliseconds 1000 } if (Test-Path variable:global:psISE) { Write-Host "`nRunning on ISE" } else { stop-process -id $PID -force } Break Script } if (($DESIRED_OFFSET_MILLIVOLTS -isnot [Int32]) -or ($DESIRED_OFFSET_MILLIVOLTS -gt 0 )) { Write-Host "DESIRED_OFFSET_MILLIVOLTS MUST BE NUMERIC AND NEGATIVE. PLEASE CORRECT" Countdown-And-Quit } $xtuService = Get-Service -name "XTU3SERVICE"; if ($xtuService.Status -ne 'Running') { Write-Host "XTU3SERVICE Initializing..." start-service -name "XTU3SERVICE" } else { Write-Host "XTU3SERVICE Already initialized." } $xtuCmd = "C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe" $xtuCmdGetArgs = @('-t', '-id', 34) $cmdOutput = & $xtuCmd $xtuCmdGetArgs 2>&1 | Out-String $regexFound = $cmdOutput -match 'Core Voltage Offset\s+(\S+)mV' $coreVoltageOffset = '' if ($regexFound) { $coreVoltageOffset = [int] $matches[1] Write-Host "Core Voltage Offset was found with value of [$coreVoltageOffset] mV" } else { Write-Host "The Core Voltage Offset was not found. Action aborted." Countdown-And-Quit } if ($coreVoltageOffset -EQ $DESIRED_OFFSET_MILLIVOLTS) { $DESIRED_OFFSET_MILLIVOLTS++ Write-Host "If we try to apply the same [$coreVoltageOffset] mV Offset again, XTU will reset to ZERO, so we're changing it a bit [$DESIRED_OFFSET_MILLIVOLTS] in order to re-apply" } Write-Host "About to apply [$DESIRED_OFFSET_MILLIVOLTS] mV of Core Voltage Offset in 3 Seconds"; Sleep 3 $xtuCmdSetArgs = @('-t', '-id', 34, '-v', $DESIRED_OFFSET_MILLIVOLTS) $cmdOutput = & $xtuCmd $xtuCmdSetArgs 2>&1 | Out-String # SET THE DESIRED CORE VOLTAGE OFFSET $regexFound = $cmdOutput -match 'Core Voltage Offset\s+(\S+)mV' if ($regexFound) { $coreVoltageOffset = [int] $matches[1] Write-Host -ForegroundColor Green "The Core Voltage Offset has been successfully set to [$coreVoltageOffset] mV" } else { $xtuCmdResetArgs = @('-t', '-id', 34, '-v', 0) $cmdOutput = & $xtuCmd $xtuCmdResetArgs Write-Host -ForegroundColor Red "THERE WAS AN ERROR DURING CORE VOLTAGE OFFSET VALUE. THE VALUE HAS BEEN SET TO ZERO AS A PROTECTIVE MEASURE" } Countdown-And-Quit # END
Colocando o script na inicialização do computador
Abra o Agendador de tarefas > Criar Tarefa > Chame de “UNDERVOLT CPU” (ou qualquer outro a sua escolha)
Na aba Geral: Sete: “Executar estando o usuário conectado ou nao” e “Executar com privilegios mais altos” e Configurar para “Windows 10”
Na aba Disparadores (Triggers). Iniciar a tarefa “Ao fazer logon”, “Qualquer usuário” e atrase a tarefa em “1 minuto” para ter uma margem de segurança para bloquea-la caso deseje.
Na aba Ações, criar uma nova ação “%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe” em Adicionar Argumentos, insira: “-ExecutionPolicy Bypass C:\Windows\XTUvoltage.ps1”
Na aba Condições: Limpar todas as opções
Na aba Configurações: Ativar “Permitir execução por demanda” e limpar as demais opções
Salve sua tarefa agendada.
A sua tarefa agendada ficará em Agendador de Tarefas (Local) > Microsoft > Windows > Task Scheduler
Reinicie o computador e aguarde a execução do script.
Comentários