For some reason Microsoft has not provided a straightforward way to set Ethernet (LAN) connections as Metered. Microsoft does not seem to realise that for many people their broadband is capped/quota'ed/data-limited so needs to be treated as metered just like mobile/cellular data or WiFi hotspots. So you will want your Ethernet connection set to Metered, especially now that Windows 10 will download anything and everything without asking permission.
This applies to Windows Update, Store updates, Driver updates, Optional Features, and Windows Defender.
Even if you're not metered, you might want to use this setting to control updates.
It is in fact possible to set an Ethernet connection to Metered. But it requires a direct update to the Registry, to a key that Microsoft has not clearly documented. If you are not happy doing this, then don't. It requires you to change the permissions on the relevant key. Again, if you're not happy doing this, then don't. Make a System Restore point first so that you can recover from any problems.
*** See Edit below for a script to do this ***
The key is
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost]
There are entries under it for 3G, 4G, Default, Ethernet and Wifi. The normal settings for 3G and 4G are 2. For Ethernet and Wifi (and Default) it is 1. 2 means metered, 1 means not metered. So to make Ethernet Metered, the value needs to be changed from 1 to 2.
The key is protected: to change the values you will need to use RMB/Permissions/Advanced to change its owner to Administrators or your own username and then give said user Full Control.
To make sure that all connections are metered you can set them all to Metered as in this Registry extract:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost]
"3G"=dword:00000002
"4G"=dword:00000002
"Default"=dword:00000002
"Ethernet"=dword:00000002
"WiFi"=dword:00000002
Just to repeat, if you're not used to updating the Registry then don't. But keep pushing this issue with Microsoft so that they provide a user interface for it as there is for WiFi. Join the Insider program and post feedback about it.
With this set up, Windows Update will notify you that it can't download updates. It will offer you an option to override this if you want. If (as if often the case) you get unlimited downloads overnight, then you can wait until then to push the download button. This applies to the Store as well. For Drivers, you can turn off the switch preventing downloads over metered connections (under Settings/Devices). But (AFAICS) for Optional Features there is no override, if you want to install one of them the connection must be set back to Unmetered ( = 1 ), and then reboot.
You can update Defender separately by going to Settings/Update/Defender/Use Defender and push the Update button. So you can just update Defender without needing to collect a major set of updates.
****** EDIT 28 Mar 2016 - BATCH FILE UPDATE ******
I have just recently found the command-line tool that updates permissions in the Registry, and so allows this all to be done in a script/batch file without directly opening up the registry. This is a powerful tool so needs to be used with care. I have checked out my script as carefully as possible, but anyone choosing to use it must take registry backups and other due care.
The tool is "SubInACL" which can be downloaded from here (official Microsoft site):
https://www.microsoft.com/en-gb/download/details.aspx?id=23510
Download and run the package to install it into C:\Program Files (x86)\Windows Resource Kits\Tools
Copy/paste this script into a text file and save it as MediaCost.cmd somewhere convenient (e.g. Desktop)
-----------------------------------
rem run from install directory: for 32-bit windows remove the " (x86)" suffix
cd /d C:\Program Files (x86)\Windows Resource Kits\Tools\
rem change owner to Administrators
rem should report: Done: 1, Modified 1, Failed 0, Syntax errors 0
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /setowner=administrators
rem give Administrators full permission
rem should report: Done: 1, Modified 1, Failed 0, Syntax errors 0
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /grant=administrators=f
rem change settings to 2 = metered
rem each should report: The operation completed successfully.
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /v Ethernet /t REG_DWORD /d 2 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /v Default /t REG_DWORD /d 2 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost" /v WiFi /t REG_DWORD /d 2 /f
rem check completed OK
pause
rem change the "/d 2" parameters to "/d 1" to restore the standard unmetered state if needed.
---------------------------
Right-click and Run as Administrator.
I've commented the expected results, and left a "pause" at the end so that they can be seen before the command window closes.
With this I can just run the script every time I get a fresh build from the Insider program, which is happening about weekly now.