Enforce 5-Minute Display/Sleep/Hibernate In Windows 11
Introduction
Hey guys! Today, we're diving deep into the world of Windows 11 Home and exploring how to enforce a strict 5-minute maximum for display, sleep, and hibernate settings using PowerShell. If you're looking to implement a power management policy across your systems where users can't override your carefully set power settings, you've come to the right place. This guide is tailored to provide you with a step-by-step approach, ensuring that your systems adhere to your desired power-saving configurations. We'll break down the PowerShell commands and explain each step, making it easy to follow, even if you're not a PowerShell guru. Let's jump right in and get those power settings locked down!
Why Enforce Power Management Settings?
Enforcing power management settings is crucial for a variety of reasons. First and foremost, it significantly contributes to energy conservation. By setting a maximum time for display sleep and hibernation, you ensure that computers aren't wasting electricity when left idle. This is especially important in organizations with numerous workstations, as even small savings per machine can add up to substantial energy cost reductions over time. Secondly, consistent power settings help in prolonging the lifespan of hardware components. Constantly running displays and hard drives can degrade faster, so putting them to sleep or hibernating the system during inactivity reduces wear and tear, ultimately extending the life of your devices. Thirdly, enforcing these settings enhances security. When a system automatically goes to sleep or hibernates after a period of inactivity, it reduces the window of opportunity for unauthorized access, especially in environments where users might leave their workstations unattended. Finally, it promotes a consistent user experience. When power settings are uniform across all systems, it eliminates confusion and ensures that users know what to expect when their computers are idle. This consistency is particularly beneficial in managed environments where predictability and standardization are key. By implementing these enforced power settings, you're not just saving energy; you're also enhancing the security, longevity, and usability of your systems. And who wouldn't want that, right?
Understanding the PowerShell Commands
Okay, let's get into the nitty-gritty of PowerShell commands. PowerShell is your best friend when it comes to automating tasks and making system-wide changes in Windows. To enforce a 5-minute maximum for display, sleep, and hibernate settings, we'll use a combination of cmdlets (that’s PowerShell-speak for commands) that target the power configuration. The main cmdlets we'll focus on are PowerCfg
which is a command-line utility, and specific registry modifications that PowerShell can handle. Understanding these commands will give you the power – literally – to manage your systems effectively. We'll break down the syntax, explain the parameters, and show you how to piece them together to achieve your desired outcome. Don't worry if this sounds a bit technical at first; we'll make it super clear and easy to follow. Think of it as learning a new language, but instead of talking to people, you're talking to your computer, telling it exactly what to do. So, let's dive in and decode the magic of PowerShell!
Breaking Down the Core Cmdlets
Let's break down the core cmdlets we'll be using, so you can really understand what's going on under the hood. We're primarily going to use PowerCfg
, a powerful command-line utility that's been around since the early days of Windows, and couple it with some direct registry modifications. Understanding these tools is key to mastering power management in Windows 11. First up, PowerCfg
. This tool allows you to control the power schemes, monitor power consumption, and configure various power-related settings. One of its most useful features is the ability to set idle timeouts for display, sleep, and hibernation. We'll use PowerCfg
to modify the active power plan, ensuring that our 5-minute maximum is enforced. Next, registry modifications. Some power settings are deeply embedded in the Windows Registry, and directly modifying these entries gives us fine-grained control over the system's behavior. We'll use PowerShell's Set-ItemProperty
cmdlet to change specific registry keys that govern the display, sleep, and hibernate timeouts. This ensures that even if users try to tweak settings through the GUI, our enforced policies will remain in effect. Knowing how PowerCfg
and registry modifications work together is like having the keys to the kingdom of power management. It allows you to create robust, unyielding power policies that keep your systems running efficiently and securely. By the end of this section, you'll feel like a PowerShell pro, ready to tackle any power-related challenge!
Step-by-Step Guide to Enforcing Power Settings
Alright, let's get down to the practical steps! Here’s a step-by-step guide to enforcing a 5-minute maximum for display, sleep, and hibernate settings in Windows 11 Home using PowerShell. We'll walk through each step, providing the exact commands you need and explaining what they do. By the end of this section, you'll have a script that you can deploy across your systems to ensure consistent power management. No more guessing, no more hoping – just clear, actionable steps that get the job done. Think of this as your recipe for power management success. Let's start cooking!
Step 1: Open PowerShell as Administrator
First things first, you need to open PowerShell with administrator privileges. This is crucial because modifying power settings and the registry requires elevated permissions. Without running as an administrator, your commands will likely fail, and you'll be left scratching your head wondering why. So, let’s make sure we get this right from the start. To open PowerShell as an administrator, simply type “PowerShell” in the Windows search bar. When the Windows PowerShell app appears, right-click on it and select “Run as administrator.” A User Account Control (UAC) prompt will appear, asking if you want to allow this app to make changes to your device. Click “Yes” to proceed. You’ll know you’ve done it correctly when the PowerShell window’s title bar includes the word “Administrator.” This ensures that all the commands you run have the necessary permissions to modify system settings. With this crucial first step out of the way, you're now ready to dive into the more complex aspects of enforcing power settings. Getting this right sets the foundation for a smooth and successful process, so well done for nailing it! Now, let’s move on to the next step and start crafting the commands that will lock down those power settings.
Step 2: Identify the Active Power Scheme
Next up, we need to identify the active power scheme on the system. Windows uses power schemes to manage how your computer uses power, and we need to know which one is currently active so we can modify it. Think of it like finding the right file to edit – you can't make changes until you know which one you're working with. To identify the active power scheme, we'll use the PowerCfg
utility. Open your administrator PowerShell window (the one we opened in Step 1 – don't forget that admin access!) and type the following command: PowerCfg /GetActiveScheme
. Press Enter, and PowerShell will display a GUID (Globally Unique Identifier) that represents the active power scheme. It will look something like this: Power Scheme GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
. This GUID is your key to modifying the power settings for the active scheme. Copy this GUID – you'll need it in the next steps. Identifying the active power scheme is a critical step because it ensures that you're modifying the settings that are actually in use. Without this, you could be changing settings in a power scheme that isn't active, and your efforts would be in vain. So, make sure you've copied that GUID; it's the secret ingredient to our power management recipe. Now that we know which scheme to tweak, let's move on to the next step and start setting those time limits!
Step 3: Set Display Timeout
Now, let's set the display timeout. This is the amount of time your monitor will stay on before turning off due to inactivity. We're aiming for a 5-minute maximum, which translates to 300 seconds. We'll use a combination of PowerCfg
and registry modifications to ensure this setting is enforced and can't be easily changed by users. Here’s how we’ll do it. First, we’ll use PowerCfg
to set the display timeout for both AC power (when the computer is plugged in) and DC power (when it's running on battery). In your administrator PowerShell window, type the following commands, replacing xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with the GUID you copied in Step 2:
PowerCfg /ChangeSetting ACG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_VIDEO VIDEOIDLE 300
PowerCfg /ChangeSetting DCG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_VIDEO VIDEOIDLE 300
These commands tell Windows to turn off the display after 300 seconds (5 minutes) of inactivity, whether the computer is plugged in or running on battery. Next, we'll modify the registry to prevent users from changing this setting. We'll target the Attributes
value in the power settings registry key. Run these commands in PowerShell:
$GUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$subkey = "Control Panel\PowerCfg\PowerPolicies\{$GUID}\GlobalPowerPolicy"
Set-ItemProperty -Path "HKLM:\$subkey" -Name Attributes -Value 1 -Type DWord
Replace $GUID
with the GUID of the active power scheme. This script sets the Attributes
value to 1
, which hides the display timeout setting in the Power Options control panel, preventing users from modifying it. By combining PowerCfg
and registry modifications, we’ve created a robust setting that’s both effective and difficult to circumvent. This ensures that your systems adhere to your desired power-saving policy, contributing to energy efficiency and hardware longevity. So, with the display timeout set and locked down, let’s move on to the next setting: sleep mode.
Step 4: Set Sleep Timeout
Now, let's tackle the sleep timeout. Similar to the display timeout, we want to enforce a 5-minute maximum for the computer to enter sleep mode after a period of inactivity. This helps conserve energy and reduce wear and tear on the hardware. We'll use a similar approach to the display timeout, combining PowerCfg
commands with registry modifications to ensure the setting is both applied and enforced. Here’s how we'll get it done. First, we'll use PowerCfg
to set the sleep timeout for both AC and DC power. In your administrator PowerShell window, type the following commands, again replacing xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with the GUID you copied in Step 2:
PowerCfg /ChangeSetting ACG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP SLEEPIDLE 300
PowerCfg /ChangeSetting DCG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP SLEEPIDLE 300
These commands configure Windows to enter sleep mode after 300 seconds (5 minutes) of inactivity, whether the computer is plugged in or on battery power. Next, we'll modify the registry to hide the sleep timeout setting from users, preventing them from changing it. Run the following commands in PowerShell:
$GUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$subkey = "Control Panel\PowerCfg\PowerPolicies\{$GUID}\GlobalPowerPolicy"
Set-ItemProperty -Path "HKLM:\$subkey" -Name Attributes -Value 1 -Type DWord
Make sure to replace $GUID
with the GUID of the active power scheme. This script, similar to the display timeout script, sets the Attributes
value to 1
, effectively hiding the sleep timeout setting in the Power Options control panel. By setting the sleep timeout and preventing users from changing it, you’re ensuring that computers automatically enter a low-power state when not in use. This is a crucial step in a comprehensive power management strategy, contributing to energy savings and extending the lifespan of your hardware. Now that sleep mode is under control, let's move on to the final piece of the puzzle: hibernation.
Step 5: Set Hibernate Timeout
Okay, let's get hibernation sorted. Hibernation is a power-saving state that saves the contents of your computer's RAM to the hard drive and then shuts down the system. It uses even less power than sleep mode, making it an excellent option for longer periods of inactivity. We're going to enforce a 5-minute maximum for hibernation, just like we did for display and sleep. This will ensure that computers that are left idle for longer periods enter hibernation, maximizing energy savings. We'll follow the same pattern: use PowerCfg
to set the timeout and then modify the registry to prevent users from changing it. Let's dive in! First, we’ll use PowerCfg
to configure the hibernate timeout for both AC and DC power. In your administrator PowerShell window, type the following commands, remembering to replace xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with the GUID you copied in Step 2:
PowerCfg /ChangeSetting ACG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP HIBERNATEIDLE 300
PowerCfg /ChangeSetting DCG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP HIBERNATEIDLE 300
These commands tell Windows to hibernate after 300 seconds (5 minutes) of inactivity, regardless of whether the computer is plugged in or running on battery. Next, we’ll modify the registry to hide the hibernate timeout setting from users. Run these commands in PowerShell:
$GUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$subkey = "Control Panel\PowerCfg\PowerPolicies\{$GUID}\GlobalPowerPolicy"
Set-ItemProperty -Path "HKLM:\$subkey" -Name Attributes -Value 1 -Type DWord
Again, replace $GUID
with the GUID of the active power scheme. This script hides the hibernate timeout setting in the Power Options control panel, preventing users from tweaking it. By enforcing the hibernate timeout, you’re ensuring that computers enter the most energy-efficient state possible when left idle for extended periods. This not only saves energy but also contributes to a greener computing environment. With display, sleep, and hibernation all set and locked down, you’ve created a solid power management policy. Give yourself a pat on the back – you’re doing great!
Deploying the PowerShell Script
Now that we’ve crafted our PowerShell script, the next step is deploying it across your systems. You don’t want to have to manually run this script on every single computer, do you? That would be a massive time sink! So, let’s explore some efficient methods for deploying this script to multiple machines. We’ll look at options like Group Policy, PowerShell remoting, and other deployment tools. The goal is to make this process as smooth and automated as possible, saving you time and ensuring consistent power settings across your environment. Think of this as the distribution phase – you’ve baked the cake, now it’s time to share it with everyone! Let’s find the best way to get this script running on all your systems.
Option 1: Using Group Policy
First up, let’s talk about using Group Policy. If you're in a domain environment, Group Policy is your best friend for deploying scripts and enforcing settings across multiple computers. It's a powerful tool that allows you to centrally manage configurations for users and computers. Using Group Policy to deploy our PowerShell script ensures that the power settings are applied consistently across all targeted systems, and it's a relatively hands-off approach once it's set up. Here’s a general outline of how to do it. First, you'll need to create a new Group Policy Object (GPO) or modify an existing one. Open Group Policy Management Console (GPMC) by typing “Group Policy Management” in the Windows search bar and selecting the application. Next, navigate to the Organizational Unit (OU) where your target computers reside. Right-click on the OU and select “Create a GPO in this domain, and Link it here…” Give your GPO a descriptive name, like “Enforce Power Settings.” Now, right-click on the newly created GPO and select “Edit.” This will open the Group Policy Management Editor. In the editor, navigate to “Computer Configuration” > “Policies” > “Windows Settings” > “Scripts (Startup/Shutdown).” Double-click on “Startup” to configure a startup script. Click “Add…” to add a new script. In the “Script Name” field, type powershell.exe
. In the “Script Parameters” field, type -ExecutionPolicy Bypass -File “\\path\to\your\script.ps1”
. Replace \\path\to\your\script.ps1
with the UNC path to your PowerShell script. Make sure the script is stored in a network share that all computers can access. Finally, click “OK” to save the script settings. The script will now run every time a computer starts up, ensuring that the power settings are enforced. Using Group Policy is an excellent way to maintain consistent power settings across your domain. It provides a centralized management point and ensures that the script is executed automatically. However, if you're not in a domain environment, or if you need a more flexible approach, let's explore other options.
Option 2: Using PowerShell Remoting
Alright, let’s explore another cool method: PowerShell Remoting. If you need to deploy the script to multiple computers but aren't in a domain environment, or if you prefer a more direct approach, PowerShell Remoting is a fantastic option. It allows you to run PowerShell commands and scripts on remote computers, essentially giving you the ability to manage systems from a central location. Before you can use PowerShell Remoting, you need to enable it on the target computers. This is a one-time setup, and it’s pretty straightforward. Open PowerShell as administrator on each target computer and run the following command: Enable-PSRemoting -Force
. This command configures the computer to accept remote PowerShell connections. Now, let's get to the script deployment. On your central management machine (the computer from which you'll be running the script), open PowerShell as administrator. You'll need a list of the target computer names or IP addresses. You can store these in a text file, one name or IP per line. Let’s assume you have a file named computers.txt
in your C:\
directory. Here’s how you can use PowerShell Remoting to run your power settings script on all the computers in the list:
$computers = Get-Content C:\computers.txt
Invoke-Command -ComputerName $computers -ScriptBlock {
# Your power settings script here
PowerCfg /ChangeSetting ACG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_VIDEO VIDEOIDLE 300
PowerCfg /ChangeSetting DCG_SCHEME_GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_VIDEO VIDEOIDLE 300
$GUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$subkey = "Control Panel\PowerCfg\PowerPolicies\{$GUID}\GlobalPowerPolicy"
Set-ItemProperty -Path "HKLM:\$subkey" -Name Attributes -Value 1 -Type DWord
# Add other commands for sleep and hibernate as needed
}
Replace xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with the GUID of the active power scheme. This script reads the computer names from computers.txt
and then uses Invoke-Command
to run the power settings script on each computer. The -ScriptBlock
parameter specifies the commands to run on the remote machines. PowerShell Remoting is a powerful and flexible way to deploy scripts across your network. It's particularly useful in environments where Group Policy isn't available or isn't the best fit. Just remember to enable remoting on the target computers first, and you're good to go. Now that we’ve covered Group Policy and PowerShell Remoting, let’s briefly touch on some other deployment options.
Other Deployment Options
Besides Group Policy and PowerShell Remoting, there are several other options you can use to deploy your PowerShell script, depending on your environment and the tools you have available. Let's quickly run through a few of them. First, there are third-party deployment tools. Many software deployment tools, such as PDQ Deploy, SCCM (System Center Configuration Manager), and others, allow you to deploy scripts and applications to multiple computers. These tools often provide advanced features like scheduling, reporting, and error handling, making them a great choice for larger organizations. Next up, login scripts. You can also use login scripts to run the PowerShell script when a user logs in. This approach is similar to using Group Policy, but it runs the script in the user context rather than the system context. This might be useful if you need to apply power settings on a per-user basis. To use login scripts, you'll typically place the script in a shared network location and configure a Group Policy setting to run the script when a user logs in. Finally, manual execution. Of course, you always have the option of manually running the script on each computer. While this isn't ideal for large deployments, it might be suitable for small networks or for testing purposes. You can simply copy the script to each computer and run it from an administrator PowerShell window. Choosing the right deployment method depends on your specific needs and environment. Group Policy is excellent for domain environments, PowerShell Remoting is great for flexibility, and third-party tools offer advanced features for larger deployments. With your script crafted and a deployment method chosen, you’re well on your way to enforcing consistent power settings across your systems!
Verifying the Enforced Settings
Okay, you’ve crafted your script, deployed it like a boss, but how do you know it’s actually working? That’s where verification comes in. Verifying the enforced settings is a crucial step in the process. You need to ensure that the power settings have been correctly applied and that users can’t easily override them. We’ll explore a few methods for verifying the settings, both through the GUI and using PowerShell. This will give you confidence that your power management policies are in place and doing their job. Think of this as the quality control phase – making sure everything is up to par. Let’s dive into the verification process!
Method 1: Checking via the GUI
First off, let's check the settings via the GUI (Graphical User Interface). This is a simple and intuitive way to see if the power settings have been applied and if the user interface is reflecting the enforced policies. By checking the GUI, you can quickly confirm that the display, sleep, and hibernate timeouts are set to the desired 5-minute maximum and that the settings are hidden from user modification. Here’s how to do it. On a target computer, open the Control Panel. You can do this by typing “Control Panel” in the Windows search bar and selecting the Control Panel app. In the Control Panel, navigate to “Hardware and Sound” and then click on “Power Options.” This will open the Power Options window. You should see the active power plan highlighted. Click on “Change plan settings” next to the active power plan. In the “Change settings for the plan” window, you should see the “Turn off the display” and “Put the computer to sleep” settings. Verify that these settings are set to 5 minutes. If you’ve successfully hidden the settings using the registry modifications in our script, you should not be able to change these settings. The dropdown menus should either be disabled or the settings themselves should be hidden. If you can’t see the settings at all, that’s a good sign that the registry modifications have worked. Checking the GUI is a quick and easy way to get a visual confirmation that your power settings are in place. However, for a more detailed and automated verification, let’s explore how to use PowerShell.
Method 2: Checking via PowerShell
Alright, let's get our hands dirty with PowerShell again! Checking the settings via PowerShell is a more technical but also more precise and automatable way to verify that our enforced power settings are in place. PowerShell allows us to directly query the system and registry to confirm the power settings, ensuring that they match our desired configuration. This method is particularly useful for verifying settings across multiple computers without having to manually check each one through the GUI. Here’s how we can do it. First, open PowerShell as administrator on the target computer. Next, we'll use the PowerCfg
utility to get the current power settings. Run the following command, replacing xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with the GUID of the active power scheme:
PowerCfg /Q xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_VIDEO VIDEOIDLE
PowerCfg /Q xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP SLEEPIDLE
PowerCfg /Q xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SUB_SLEEP HIBERNATEIDLE
These commands will output the current settings for display, sleep, and hibernate timeouts. Look for the values under “Current AC Power Setting Index” and “Current DC Power Setting Index.” A value of 300
indicates a 5-minute timeout. Now, let’s verify the registry modifications. Run the following commands:
$GUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$subkey = "Control Panel\PowerCfg\PowerPolicies\{$GUID}\GlobalPowerPolicy"
Get-ItemProperty -Path "HKLM:\$subkey" -Name Attributes
Replace $GUID
with the GUID of the active power scheme. This script retrieves the Attributes
value from the registry. If the value is 1
, it confirms that the settings are hidden from the user in the Power Options control panel. By using PowerShell to check the power settings, you can quickly and accurately verify that your script has been successfully deployed and that the enforced settings are in place. This method is also ideal for creating automated checks and monitoring the settings over time to ensure they remain consistent. With both GUI and PowerShell verification methods at your disposal, you can be confident that your power management policies are working as intended.
Troubleshooting Common Issues
Alright, let’s talk troubleshooting. Even the best-laid plans can sometimes hit a snag, and enforcing power settings is no exception. You might encounter issues like the script not running, settings not being applied, or users finding ways to override the settings. Don’t worry, that’s perfectly normal! In this section, we’ll cover some common issues you might face and provide solutions to get you back on track. Think of this as your troubleshooting toolkit – the essential items you need to fix any problems that arise. Let’s dive in and get those issues ironed out!
Issue 1: Script Not Running
First common issue: the script isn’t running. This can be frustrating, but let’s break down the possible causes and how to fix them. There are a few key reasons why your PowerShell script might not be running as expected. First, check the execution policy. PowerShell has an execution policy that controls which scripts can be run. If the execution policy is too restrictive, your script might be blocked. To check the current execution policy, open PowerShell as administrator and run the command Get-ExecutionPolicy
. If the policy is set to Restricted
, you’ll need to change it. A common setting is Bypass
, which allows scripts to run without prompting. To set the execution policy to Bypass
, run the command Set-ExecutionPolicy Bypass -Scope Process -Force
. Note that the -Scope Process
parameter sets the policy only for the current session, which is a safer option than changing the system-wide policy. Next, check permissions. Make sure the user or computer account running the script has the necessary permissions to modify power settings and the registry. Running PowerShell as administrator is crucial, as we discussed earlier. If you’re deploying the script via Group Policy, ensure that the computer account has the necessary permissions to access the script file on the network share. Another potential issue is script syntax errors. If your script has syntax errors, it might fail to run or produce unexpected results. Double-check your script for typos, missing quotation marks, or incorrect command syntax. You can use the PowerShell Integrated Scripting Environment (ISE) or Visual Studio Code with the PowerShell extension to help identify syntax errors. Finally, check the event logs. Windows logs events, including script execution errors, in the event logs. You can use the Event Viewer to check for any errors related to your script. Look for events in the “Windows PowerShell” and “Application” logs. By systematically checking these potential causes, you can usually identify why your script isn’t running and get it back on track. With the script running smoothly, let’s move on to another common issue: settings not being applied.
Issue 2: Settings Not Being Applied
Okay, another common headache: settings not being applied. You’ve got your script running, but for some reason, the power settings aren’t being enforced. This can be a tricky issue to diagnose, but let’s walk through the most likely culprits and how to address them. First, let’s double-check the GUID. One of the most common mistakes is using the wrong GUID for the active power scheme. If you’re modifying the wrong power scheme, your changes won’t have any effect. Make sure you’ve correctly identified the active power scheme using the PowerCfg /GetActiveScheme
command and that you’re using the correct GUID in your script. Next, verify the registry modifications. Our script relies on modifying registry keys to hide the power settings from users. If these registry modifications aren’t being applied, users might still be able to change the settings. Use the PowerShell command `Get-ItemProperty -Path