How to set a Metered Connection for Windows 10 Home users

How to set a Metered Connection for Windows 10 Home users

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
Regedit32 submitted a new article:

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

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...

Read more about this article...
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
The two scripts can be found in the zipped folder.

After downloading the zipped folder, before you extract be wise and do a virus scan.

Regedit32
 

Attachments

  • Metered Scripts.zip
    967 bytes · Views: 556
Joined
May 6, 2015
Messages
2,848
Reaction score
501
Interesting that after unzipping the .cmd files wont copy and paste into notepad.
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
That may be Windows 10 SmartScreen preventing you doing that. If its alert pops up after you have right-clicked one of the cmd scripts and chosen Edit click More info then Run anyway to see it inside a Notepad, or whatever your default text editor is.

Here are the scripts if you want to play around with them:

MeteredConnectionON.cmd

REM Change owner from TrustedInstaller to Administrators

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

REM Give Administrators Full Control

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

REM Modify DWORD Values 3G, 4G, Default, Ethernet, WiFi to have data values of 0x00000002 (2) - metered connection

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

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

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

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

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

PAUSE


MeteredConnectionOFF.cmd

REM Change owner from TrustedInstaller to Administrators

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

REM Give Administrators Full Control

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

REM Modify DWORD Values 3G, 4G, Default, Ethernet, WiFi to have data values of 0x00000002 (2) - metered connection or 0x00000001 (1) - metered connection off

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

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

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

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

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

PAUSE

Regards,

Regedit32
 
Joined
Mar 2, 2016
Messages
127
Reaction score
56
A good useful article.

With W10 Pro, upgrades can be delayed for up to 12 months but updates for 4 weeks. Can that 4 weeks be extended using a similar workaround?
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
The settings changed here are the same as those which would be changed using Group Policy Editor in Windows 10 Professional.

I've never waited 4 weeks for upgrades so I'm not sure whether adjusting your Registry would override the 4 week limit, but it may well do given Microsoft promise not to automatically download and install on a metered connection.
 
Joined
Mar 7, 2017
Messages
4
Reaction score
0
Hi Regedit

I'm trying to use your method to set 3G and 4G connections to unmetered on some domain connected machines. We have an unlimited data-plan for them, and we're tired of seeing metered connection warnings when users are using Outlook.
However, when I try to execute your commands on a test machine (Tried both physical and VM) I get access denied when attempting to give Administrators full control.
The same happens if I try to do so manually.

Any ideas?

Here's the output:

Code:
C:\WINDOWS\system32>SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" -ot reg -actn setowner -ownr "n:Administrators"
Processing ACL of: <machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost>

SetACL finished successfully.

C:\WINDOWS\system32>SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" -ot reg -actn ace -ace "n:Administrators;p:full"
Processing ACL of: <machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost>

SetACL finished with error(s):
SetACL error message: The call to SetNamedSecurityInfo () failed
Operating system error message: Adgang nægtet. (Access Denied)

When manually checking who the owner is after running the first bit, the owner is set to "SYSTEM" not Administrators.
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
Hi Froberg,

I'm not sure whether you accidentally pasted the same information twice in your post to me, but if that is exactly what you did in reality on your machine then the commands are inaccurate.

To set owner from the TrustedInstaller to Administrators you'd need to execute the following two commands:

This one first:

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

Then this one:

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

Another factor to allow for is whether you are using an old version of the SetACL.exe on your computer. Earlier versions were unable to back trace directory ownership, meaning, you'd need to own all keys that supercede precedence over the DefaultMediaCost. Modern versions of the SetACL.exe like the one I included as a downloadable in the article are capable of automating this ownership without the need to manually do it yourself.

Given you are on a Domain, the one using the SetACL.exe commands here must be the Owner of the Netowrk. I assume you are the owner, so to get around triggering the SetNamedSecurityInfo() error, you can run the commands locally, rather than on the Network itself.

Assuming you can successfully, take ownership of the DefaultMediaCost key, you will then need to run the commands locally too to reset the Data values you intend on changing to set an unmetered connection.

This one first:

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

Then this one:

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

Note: All four of these commands should be run from an elevated command prompt (i.e. Command Prompt: Administrator)
 
Joined
Mar 7, 2017
Messages
4
Reaction score
0
Thanks for getting back to me.

I'm not sure what you're seeing, but I am using the SetACL version you linked to, even checked for a later version just to be sure, there is none.
I am also running the commands directly from your .cmd file example. I tried running them as you wrote just now, but it's the same result.
I ran it in an administrator command prompt, just to be sure I launched it with my domain admin credentials which doesn't work at all. I know which registry keys need modifying, I also know what the value should be.

Essentially, what I pasted is your code exactly in the order from your example files. It also matches what you reiterated just now. Curious.
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
That is unusual.

Perhaps you could try running Command Prompt as SYSTEM then run those commands to see whether you can get around this System Denied issue.

To do that:

Now for the purpose of illustration I'll assume you downloaded and extract it to your Downloads folder
  • Right-click on Start and select Command Prompt (Admin)
  • When the User Account Control alert appears click Yes
  • In the Command Prompt type cd %userprofile%\Downloads\PsTools then press Enter key
  • Now at the prompt type psexec -i -s cmd then press Enter key
  • A popup from Systernal will appear; agree to its terms!
  • Now a new command window will also appear, but this one is running as SYSTEM command prompt

    See whether you can now run the SetACL commands here successfully or not.
 
Joined
Mar 7, 2017
Messages
4
Reaction score
0
That is unusual.

Perhaps you could try running Command Prompt as SYSTEM then run those commands to see whether you can get around this System Denied issue.

To do that:

Now for the purpose of illustration I'll assume you downloaded and extract it to your Downloads folder
  • Right-click on Start and select Command Prompt (Admin)
  • When the User Account Control alert appears click Yes
  • In the Command Prompt type cd %userprofile%\Downloads\PsTools then press Enter key
  • Now at the prompt type psexec -i -s cmd then press Enter key
  • A popup from Systernal will appear; agree to its terms!
  • Now a new command window will also appear, but this one is running as SYSTEM command prompt

    See whether you can now run the SetACL commands here successfully or not.

The key owner prior to running your commands was TrustedInstaller, as it always is. I tried on a physical machine and a test VM, both changed to SYSTEM when running your command.
I don't think it's working as intended.

Then again, I'm starting to think it might be a mistake to use this for a domain wide deployment.
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
As I said that is very odd results.

The only way that can occur is when the SYSTEM is the designated Administrator.

It would be a very poor security practice to be doing that on any machine especially on a networked domain.


Microsoft from time to time do change things up and as a result some Registry changes are blocked - especially for Home users, but also for Professional users.

Enterprise seems to be the only OS that still allows most changes.

I'll have to do a little thinking about your situation and see whether there is a better way around the issue.

You could manually take ownership via the Registry itself, but that would be a real pain if you are trying to change multiple machines.
 
Joined
Mar 7, 2017
Messages
4
Reaction score
0
Well we're talking in the area of 400-1000 machines potentially.

But I'm really starting to reconsider. It's only to prevent the "annoyance" of having a pop-up when users are connected to outlook via mobile broadband.
I've found some settings to change via GPO, but they don't seem to affect the 3G and 4G connections, for some reason.
I was also unable to insert the registry change in to a group policy, again I'm suspecting registry hive ownership to be the culprit there.

My worry in changing it up, is that it might potentially be a source of problems later, which is hard to forecast on. And with the amount of machines implicated, it may just be too big of a risk to take.
Not that I consider myself the cowardly lion or anything.
 
Joined
Feb 5, 2018
Messages
3
Reaction score
0
Wow this is very good. A choice to set all type of connection to metered so that I can avoid updates. I want to ask one-two things though:

The regedit file you provided for us changes all type of connections as metered. But does it do that to current wireless, ethernet profiles or does it apply also to the new connections? I mean say you connect a new network, will Windows recognize it as metered or not after applying regedit file?

And is this method still available for Creator's update?

Thank you!
 
Joined
May 6, 2015
Messages
2,848
Reaction score
501
Looks as if you just go to settings- network - change connection type and set metered connection to ON

That is what my W10 Home 1709 system shows. No registry edits at all.
 
Joined
Feb 5, 2018
Messages
3
Reaction score
0
Looks as if you just go to settings- network - change connection type and set metered connection to ON

That is what my W10 Home 1709 system shows. No registry edits at all.
Ahh I don't have this option sadly probably it is because of Creator's Update. By setting the way you describe does it set all wireless connections (current and new ones) to metered by default? If so I might be tempted to upgrade to Falls Creator Update which the update I was so scared to auto updated and searching for a way to disable it :D
 
Joined
May 6, 2015
Messages
2,848
Reaction score
501
I had not noticed that it did not exists in the Spring Creators update. I have an unlimited ( effectively) data plan so I have never used it. Now I do remember a time when it only worked on a Wireless connection...I am using Ethernet.

So I admit I do not know whether it works or not just that it shows up in settings.
 
Joined
Feb 5, 2018
Messages
3
Reaction score
0
I had not noticed that it did not exists in the Spring Creators update. I have an unlimited ( effectively) data plan so I have never used it. Now I do remember a time when it only worked on a Wireless connection...I am using Ethernet.

So I admit I do not know whether it works or not just that it shows up in settings.
No probs mate :) in the Spring Creators update you could set both wireless and ethernet as metered but you have to do it one by one for each network so say if you connect to a new network it might auto download updates if you forget to set which is I'm afraid of. Now that I've done a little research it seems that before the Creators update it used to set all wireless connection as metered by default whether it is a new network or old but they stopped doing this. Maybe they decided to bring this feature back on Falls Creators Update. It is possible, let's see if we can know more about this :D
 

Regedit32

Moderator
Joined
Mar 4, 2016
Messages
3,609
Reaction score
1,140
Wow this is very good. A choice to set all type of connection to metered so that I can avoid updates. I want to ask one-two things though:

The regedit file you provided for us changes all type of connections as metered. But does it do that to current wireless, ethernet profiles or does it apply also to the new connections? I mean say you connect a new network, will Windows recognize it as metered or not after applying regedit file?

And is this method still available for Creator's update?

Thank you!

Each new network you introduce needs to have its settings adjusted as per the Article's instructions.

This article was written a while ago now, and there are now options you can set via Windows Update and advanced settings located there.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top