My laptop has Wi-Fi and Ethernet (when docked). For some reason Wi-Fi comes up as Private network, and docked comes up as Public. In neither case did I set either as Private or Public.

Where do I set this on Windows 10? It seems like I am missing something here...


I think that the easiest method to change your network to Private is through the Registry Editor:

  1. Do a search for regedit, then right-click and Run as administrator
  2. If necessary, acknowledge the UAC prompt
  3. Navigate to the following location:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles


  4. Expand the Profiles key and navigate through each GUID key below that, noting the corresponding ProfileName on the right:


  5. When you find the ProfileName of the network you want to change to Private, double-click on the Category DWORD on the right-hand side:


  6. Change the ‘Value data’ from 0 (Public) to 1 (Private):


  7. Close the Registry Editor

  8. Reboot

(Source: How to Set Network Location to be Public or Private in Windows 10)

  • 25
    Next time I hear how MS-Windows is so pointy and clicky, with so many helpful buttons and wizards, eager to help you in any way; and how much of a dinosaur are all those obsolete command and shell-based operating systems, like Linux, are -- and how even the simplest things require arcane knowledge of shell scripting and magic incantations, I'm going to refer to this bookmarked question... – Sam Varshavchik Dec 27 '16 at 4:10
  • 4
    @SamVarshavchik Eh... the "Make this PC discoverable" option exists. It's not like either OS really forces you to use a GUI or various CLI(-like) methods; both are options. – Bob Dec 27 '16 at 7:58
  • 2
    Hacking the registry since 1992... – jpmc26 Dec 27 '16 at 9:24
  • 3
    @SamVarshavchik Wasn't this configurable from the GUI in W7? – Shaamaan Dec 27 '16 at 13:22
  • 2
    This answer should show the GUI version as well. Running regedit seems unusually complicated. – Jim B Dec 27 '16 at 13:55

The following small PowerShell script can do the same (it also requires administrator privileges).

It will list all non-private profiles and ask for confirmation to change them to private.

## Change NetWorkConnection Category to Private
#Requires -RunasAdministrator

Get-NetConnectionProfile |
  Where{ $_.NetWorkCategory -ne 'Private'} |
  ForEach {
    $_|Set-NetConnectionProfile -NetWorkCategory Private -Confirm

Sample output on my German locale system:

Name             : Netzwerk
InterfaceAlias   : Ethernet
InterfaceIndex   : 3
NetworkCategory  : Public
IPv4Connectivity : Internet
IPv6Connectivity : Internet

Möchten Sie diese Aktion wirklich ausführen?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "J"): K

Edit This is the English confirmation text:

Are you sure you want to perform this action?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): n
  • @InquisitorShm Thanks for the headsup, just appended the English confirmation text. – LotPings Dec 29 '16 at 18:29
  • This was great! I couldn't use regedit to find my "unidentified network" that was created by Hyper-V. – Holistic Developer Dec 21 '17 at 20:16
  • This will make every saved network private. I've already set the key to private for this network but all my networks are enumerated as "network", "network 1" etc which bear no resemblance to my SSID. So you win. – John Jul 30 '18 at 12:59

You could use a Powershell command to perform this:

  1. WIN+R
  2. Type powershell.exe and hit Ctrl+Shift+Enter (Opens as Administrator)
  3. Paste in the following command (replacing Network_Name with the chosen network)

Set-NetConnectionProfile -Name "Network_Name" -NetworkCategory Private
  • 2
    Can you explain what this is doing? It looks to me like it's setting Everything to private which would be the same as 'Home' I believe? – djsmiley2kStaysInside May 15 '17 at 10:17
  • Sorry I typed <Network Name> and it was removed for some reason. Updated answer. – Aditya Prasoon May 16 '17 at 4:58
  • 1
    You must run it as administrator. and Thanks – ebrahim.mr May 20 '19 at 9:24
  • This is a nicer option than using regedit, and has the bonus of working with unidentified networks (which Settings app and regedit don't seem to support). Although, I had to run PowerShell as Administrator to get it to work (press Ctrl-Shift-Enter instead of just Enter). – emorris Apr 20 '20 at 10:40

If you're not already on a private network, this is the quickest and easiest way:

  1. Open a File Explorer window.
  2. Click Network in the left-hand navigation pane.
  3. Click OK to the error message.
  4. Click the yellow infobar and then Turn on network discovery and file sharing.
  5. Click No, make the network I am connected to a private network.

Alternatively, you can use PowerShell:

  1. Run PowerShell as administrator.
  2. Type this command to make all connections private:
    Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

If you have multiple connections and you'd like some not to be private, you can set them selectively:

  1. Get current networks:
PS C:\> Get-NetConnectionProfile

Name             : Network
InterfaceAlias   : Ethernet 1
InterfaceIndex   : 11
NetworkCategory  : Public
IPv4Connectivity : LocalNetwork
IPv6Connectivity : LocalNetwork

Name             : Unidentified network
InterfaceAlias   : Ethernet 2
InterfaceIndex   : 4
NetworkCategory  : Public
IPv4Connectivity : LocalNetwork
IPv6Connectivity : LocalNetwork
  1. Change the desired network:
Set-NetConnectionProfile -InterfaceAlias "Ethernet 1" -NetworkCategory Private

Note that you can never manually change a connection profile to the network category DomainAuthenticated. If you have an interface that should be set to this but isn't, you have a bigger domain connectivity issue at play.

  • Wow, easily the best answer. Took 5 seconds, no scary commands or registry changes. – JOATMON Nov 13 '20 at 18:58

In Windows 8/8.1 Microsoft moved those settings to the new settings app. I personally don't like it. These instructions are for wired Ethernet connections. I can't find a setting for individual Wi-Fi networks.

In Windows 10, the same settings app has the setting you need to point and click to make it a public or private network.

  1. Click on the start button and type settings and open up the Settings App.
  2. Select Network & Internet
  3. Select Ethernet
  4. Select the adapter you want to change the setting for.
  5. Make this PC discoverable should be set to On for private networking.

Steps to accomplish this

  • 3
    A very good tutorial, but there are a pair of very important caveats regarding this method: Make this PC discoverable settings will not be available if you have UAC set to Always notify. Also, Make this PC discoverable settings will not be available if you have a Hyper-V virtual switch configured with that Ethernet connection. – Run5k Dec 29 '16 at 23:23

Figured I'd chime in as well. My connection inadvertently was changed to Public, and when I would click the Private radio button in Windows' Network Settings, it would appear that the change was successful. However, exiting out and going back into the adapter settings I find that the change didn't save and was set back to Public.

I've tried using Powershell and even a network reset, but I just couldn't get it to work.

I was able to resolve this issue by going into my Firewall settings (I use a third party firewall) and I was able to change it there.

Please enjoy my freehand circle

enter image description here

I'm sure it's probably a bug in the firewall's software that locks down the changes out of it's UI, but regardless it works and hopefully does for the next person to wander here.

  • Thanks a lot for posting this, was having the same issue. You saved the day man. – Zingers Jul 27 '20 at 8:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.