-
-
Save michael-baker/f3962ba8d21ebd680b8e76c20eaa48c1 to your computer and use it in GitHub Desktop.
# Must be run under 32-bit PowerShell as ProfilesApi is x86 | |
[System.Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\ProfilesApi.dll") | Out-Null | |
# This script programmatically applies an Intel XTU profile. | |
# This script can replace the CLI method outlined here: https://www.reddit.com/r/Surface/comments/3vslko/change_cpu_voltage_offset_with_intel_xtu_on/ | |
[ProfilesApi.XtuProfileReturnCode]$applyProfileResult = 0 | |
$profileApi = [ProfilesApi.XtuProfiles]::new() | |
$profileApi.Initialize() | Out-Null | |
[ProfilesApi.XtuProfileReturnCode]$result = 0 | |
$profiles = $profileApi.GetProfiles([ref] $result) | |
$profile = $profiles | Where-Object { $_.ProfileName -eq "Undervolt" } | Select-Object -First 1 | |
if ($profile) { | |
$applied = $profileApi.ApplyProfile($profile.ProfileID, [ref]$applyProfileResult) | |
if ($applied) { | |
Write-Host "$applyProfileResult. Profile applied" | |
} else { | |
Write-Host "$applyProfileResult. Profile not applied." | |
} | |
} | |
sleep 10 |
Hey, I know your message is more than half a year old, but you could try this:
run XtuCLI.exe -I ALL from C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client
It will create 3 text files in C:\XTU_xmlFiles
In Tuning.txt you will see all the IDs that are valid for your system. Note that not all of them can be modified, for instance on my 7500U I couldn't modify Processor Core Ratio, Overclocking Lock, Core Voltage, etc, but it will give you an idea which IDs are valid for your system, as that is different for each system.
Just to make sure, do I have to name my profile "Undervolt" to get this script to work?
just run command
"%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe" -noprofile -executionpolicy unrestricted -file .\tune_ps2.ps1
and fix profile name in it
run perfect! greate script !
I tried it but got:
Success. Profile not applied.
Hi, same here, got:
Success. Profile not applied.
I can apply profile successfully from the GUI...
good job,
Hi, same here, got:
Success. Profile not applied.
I can apply profile successfully from the GUI...
Same too, not working
it works with xtu 6.4.1.25, not 6.5.xxx
XTU version 7.4.0.26: runnig this is very temperamental
Sometimes it's working and sometimes it's not .
Also, sometimes it's working only with powershell_ise .
Sometimes it's working to apply the "default" profile , but not others ..
I have no clue how to make it to work all the time...
Perhaps Intel have changed some internal stuff? Maybe moved the platform to 64-bit?
Does it make any difference if you stop the XTU service, apply the profile and then start the service?
I don't use the app anymore so I don't have any insights to offer I'm afraid.
I'm running XTU 7.5.2.3. It is installed as an app, rather than a program. It's target is {6D809377-6AF0-444B-8957-A3773F02200E}\Intel\Intel(R) Extreme Tuning Utility\Client\XtuUiLauncher.exe
Any idea how to programmatically run this? The typical methods for running an app from the MS Store don't seem to apply here, or aren't apparent.
XTU 6.5.1.371 : I get 'Sucess Profile applied', but it doesn't actually work.
Still have to go into XTU an manually tweak settings each boot to get it to do what I want.
How did you find out which methods to call for the DLL?
If there's a way to find out, I wonder if it'd be possible to also load the IntelOverclockingSDK.dll and apply overclocks, undervolts, etc using the command line this way, now that XtuCli.exe is gone.
The libraries are .NET (managed) assemblies so you can decompile them with ILSpy to see how it works. At least XTU was managed when last used this on 6.5.x.
Hi,
Nice work, but if i run this the following message is thrown: InvalidProfileID. Profile not applied.
I am 100% sure that my profile name is correct. Do you have any ideas what might cause this problem?