How to set a Metered Connection for Windows 10 Home users

How to set a Metered Connection for Windows 10 Home users

Recently one of our new members posted that they had exceeded their data usage because of the automatic updates from Microsoft and as a result they can now not use their internet again until their monthly billing cycle is complete, or if they do use it they get a slower connection and have to pay for excess data use.

They were not sure how to prevent this from occurring.

Windows 10 Professional, Education and Enterprise users can control this via their Group Policy Editor but for those of us using Windows 10 Home editions this is not an option.

I recall when I first upgraded to Windows 10 Home that during the setup process towards the end you had the option of doing several manual setups, one of which was to check a box stating you are on a Metered connection. By doing this Microsoft would let you know updates were available but not automatically download them to your machine until you chose to click the Download button yourself.

This option appears to have disappeared with Microsoft determined to improve security for all users of the Internet by forcing updates on us all, which often contain security improvements.

As it happens though you can still set your computer internet connection to a Metered Connection when using Windows 10 Home. It's just not widely advertised so I thought I'd explain how for those of you who are concerned about how much space you have left on your hard drive or SSD drives, or those of you who have capped data limits with your Internet Service Provider, so prefer to download things when it suits you, or for those of you who prefer to wait a while to see if others have major issues with the latest updates before committing to installing it yourself.

For those of you using a WiFi connection it is actually pretty easy to set up a Metered Connection. To do this all you need to do is the following:
  • Left-click on Start
  • Left-click on the Settings cog
  • Left-click on Network & Internet
  • In the window that opens on the left pane select Wi-Fi
  • Now in the main window click Manage known networks
  • Select your Wi-Fi network, then click on Properties
  • In the window that opens move toggle for Set metered connection to On

    Sample image

    sample.png


    Notes:

    1) If you have more than one Wi-Fi network you will need to do this for each one.

    2) To be able to update when you are ready you will need to return here and toggle off, do your updating, then when ready toggle on again to prevent unwanted automatic updating later.

    3) If you have not installed the Anniversary Update yet then to get to the screen above you will need to:

    > Left-click on Start
    > Left-click on Settings
    > Left-click on Network & Internet
    > Left-click on Advanced options

  • When you're done here the other thing you can do is disable automatic app updates via the Windows Store. To do this first open Windows Store and sign in if necessary.
  • Once in the Store left-click the Account icon at the top of Store window just to left of search box, and select Settings.
  • In the screen that opens under the App updates panel toggle Off the Update apps automatically

    Sample image

    sample2.png


  • Note: If you have more than one Microsoft Account set up on this computer each user will need to turn the automatic app updates Off too, and as before, to update apps, turn this back on when you wish to update an app, or simply check for updates and manually update without turning the automatic feature on.

For those of you using an Ethernet connection the above option to manage your network and toggle on a metered connection is not an option. However, you can still set the connection to be metered by modifying your Registry instead.

The one catch here is the Registry key we need to modify is currently owned by the TrustedInstaller (i.e. it has the highest privilege levels available and this supersedes the Administrator or Built-in Administrator), so first we need to take ownership of the key, before modifying it.

As I have explained in another article this can be done by opening your Registry Editor and for some of you this would be a simple task and not too bothersome, however, for many it can be a little confusing playing here, and we do not want to make errors here which could create major issues.

Thus, I'm going to recommend a Microsoft Tool especially developed for situations like this called SetACL.exe

Now it's important to realize this tool does not come with your Windows installation per se, but it can be freely downloaded from the following location:


https://helgeklein.com/downloads/SetACL/current/SetACL (executable version).zip

As you can see by the URL the download comes as a compressed ZIP folder. Once downloaded, extract the folder by right-clicking and selecting Extract All. This will pop a window up as in sample image below.

SetACL.png


This will create a non-compressed folder of the same name. When you open this folder, you'll see another folder of the same name.

Open that folder and you will see two folders, 32 bit and 64 bit

Simply open the folder that matches your System Type (i.e. whether you have a 64 bit OS or a 32 bit OS, then copy the SetACL file inside the folder and paste it into your C:\Windows\System32 folder.

By doing this you can then use this tool anywhere within an elevated Command Prompt or with an elevated PowerShell console, or by running a batch or command file as Administrator.

The tool itself comes with many useful commands, but for the purposes of this article we'll be using just two commands on a single Registry key.

Before we get started here is an image showing you the Registry key and its default contents.

DefaultMediaCost.png



The registry key we'll be taking ownership of, then modifying is named DefaultMediaCost and is located at the following location:

HKEY_LOCAL_MACHINE

— SOFTWARE
— Microsoft
— Windows NT
— CurrentVersion
— NetworkList
DefaultMediaCost
You can see in the above image there are two Data values:

  • 0x00000001 (1) Connection is not metered
  • 0x00000002 (2) Connection is metered

    As you can see the default Ethernet is set to not metered and this is why Microsoft can automatically download updates to you at any time you are online. So we need to get that modifed to have a Data value of 0x00000002

    To do that though we must first take ownership of the DefaultMediaCost key.
How to take ownership of DefaultMediaCost key using SetACL.exe tool, then modify the Data value of Ethernet

Assuming you downloaded this tool and placed either the 32-bit or 64-bit version inside your C:\Windows\System32 folder then all you need to do is the following:


Manual option:
  • Right-click on Start
  • Left-click on Command Prompt (Admin)
  • When the User Account Control appears click Yes
  • In the Administrator: Command Prompt that opens type or copy & paste the following commands:

    Code:
    SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" -ot reg -actn setowner -ownr "n:Administrators"

    Press Enter key to execute.

    Code:
    SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" -ot reg -actn ace -ace "n:Administrators;p:full"

    Press Enter key to execute

    Code:
    REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /f /v Ethernet /t REG_DWORD /d 0x00000002

    Press Enter key to execute

    Sample image

    CMD.png


    Doing the above manually will result in your Registry being modified to appear like so:

    DefaultMediaCost2.png


    If you want to change the setting back to not metered now that you own the Registry key all you need to do is:

    1) Right-click on Start and select Command Prompt (Admin)
    2)
    When the User Account Control appears click Yes
    3) In the Administrator: Command Prompt window type or copy & paste the following command:

    Code:
    REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /f /v Ethernet /t REG_DWORD /d 0x00000001

    Press Enter key to execute

    This will restore the Ethernet to its default status of being a non metered connection, which in turn will allow Microsoft to send you updates automatically.
Automatic option

  • For those of you who do not wish manually do all these commands I've attached a couple of files for you which will set all connections to metered, and another that will restore all connections to default status for a Windows 10 Home user.

    Simply download the zipped folder, extract, to get access to the files.


  • The zipped folder name Metered Scripts contains two files:
  1. MeteredConnectionON.cmd - sets all connections to metered
  2. MeteredConnectionOFF.cmd -resets all connections to default status
  • Note: You must have the SetACL.exe downloaded and the 32-bit or 64-bit version copied into your C:\Windows\System32 folder for the scripts to work.

    You must right-click on the Script file you wish to run and select Run as administrator while logged in with a username that belongs to the Administrative Group for these scripts to work.

    Sample images of what you will see should you run these scripts:

    MeteredConnectionON.cmd

    ScriptON.png


    MeteredConnectionOFF.cmd

    ScriptOFF.png
Regards,

Regedit32
Author
Regedit32
First release
Last update

More resources from Regedit32

Top