Hey everyone! I could really use your help with a display issue I'm facing. Whenever I'm playing games, my monitor's refresh rate sometimes changes randomly, causing 3/4 of the screen to go black or fuzzy. To fix it, I have to navigate through the desktop display settings to change it back to 60Hz, but sometimes I can't even reach those settings because of the display problem, and I end up having to restart my laptop by holding down the power button. I'm really hoping to find a PowerShell solution to change the refresh rate automatically since I can't afford a new display right now. I'm using Windows 10 64-bit. Here's a picture of the settings I need to change: [link]. Thanks a bunch in advance!
2 Answers
You can definitely manage your display settings with PowerShell! However, you might need to use the Win32 API for this. Check out these links for a good starting point: [link to EnumDisplaySettings] and [link to ChangeDisplaySettings]. They should help you understand how to set up your script.
Before going the scripting route, it might be worth investigating why your refresh rate is changing in the first place. There’s no straightforward way to do it with PowerShell; you'd need to call into the Win32 API. But check if your issue is related to hardware—like if your video cable needs replacing or if your drivers are up to date.
I wasn’t super clear—I’m using a laptop, and the display has a defect that I can’t afford to fix. The refresh rate switches due to my video software (ASUS Armoury Crate), but I can’t find anything in that software to lock it to 60Hz. Maybe I should reach out to ASUS support.

Thank you so much, I'll look into the links. I really appreciate the help! Lots of karma to you 🙂