How to set a Metered Connection for Windows 10 Home users

Setting a metered connection helps you gain control of the automatic updates from Microsoft



  1. Regedit32
    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
    borges and Ian like this.