How to change monitor refresh rate via script? (Windows 10)

Hi everyone.

For a few days, I’ve been looking for a way to change the default monitors refresh rate, via a script or similar means. At first I thought this would be a simple task. Now it seems to be a bigger challenge than I first thought.

The problem I am facing, is that every time a group of machines Windows 10 image has been redeployed, Windows always set the new system to 60Hz refresh rate, instead of the 144Hz the monitors are able to run at. The system uses GTX 1060’s.
The machines daily get redeployed via F.O.G. (Free Open-source Ghosting).

I have tried various software solutions such as: Qres, Display Changer, ChangeScreenResolution, etc. None if these solutions, seems to actually being able to apply the changes I give through the terminal commands.
The program seems to receive the command, and the terminal reports no errors nor does it hang, but nothing happens. Elevated privileged execution of the command makes no difference. Nor does administrator privilege given to the exe-file.
The F.O.G. client has a Screen manager built in, but it seems to be unable to do it’s job too.

From what I can tell, Powershell have no native support for changing monitor related settings? Why Microsoft?..

Have I overlooked something very obvious, or is this a nVidia driver related problem?

Anyone with ideas? :slight_smile:

Anyone? :anguished:

This may be a silly idea, as I’m unfamiliar with F.O.G. but can you capture the image of the Windows install up and running with the 144hz setting? Like how people used to make an image of their system ‘as they want it’ for backing up? I’m just throwing ideas out there to try and get more attention to the topic. =)

You would think so, but Windows detects the system shift and reconfigures the settings. Why Windows would think 60Hz is optimal for 144Hz hardware, I don’t know. Maybe it’s the safe standard route?

You could try monitorswitcher. I use it every time, you can add profiles, and the bind each of the with a hotkey.

I use it to switch hz quickly on my OLED TV, I have several profiles, 2160p60, 2160p50, 2160p24. And it saves all things (including witch monitors is active, extended etc.) except for colour spaces (8bit, 10bit, 12bit) . Sometimes is the color spaces changes sometimes not, but maybe after the windows 10 spring update it works better.

Website: https://sourceforge.net/projects/monitorswitcher
Author: Martin Krämer