After setting up Server 2012 to test with, I had a major issue with the network location. I was not able to change from the network location from “Public network” to “Private network”. I could get around this issue by join the server to a domain, and doing so would set the network location to “Domain network”. Although this solution might not be ideal or even possible for some people.
If you can not join the system to a domain or do not wish to join the system to a domain you will have issues accessing the system through the network connection. Now if you were to set the network location to “Private network” you would be able to access the system like a domain joined system.
Follow these steps to be able to change the network location:
- In “Server Manager” open the “Tools” menu and select “Local Security policy”.
- Select “Network List manager policies” in the console tree.
- Open “All Networks” properties.
- Change “Network location” to “User can change location”
- Now reboot to apply the changes.
In the “Local Security Policy” editor you can also change the network type of your network if it listed by editing the properties of the listed network instead of the “All Networks” option.
Several people have pointed out that this option can be done with the following Powershell commands.
Get the list of network profiles on the system.
Change the network interface to private, use the network interface index number from the previous command.
Set-NetConnectionProfile -InterfaceIndex 10 -NetworkCategory Private
I did this but I still don’t know how to change the network type in server 2012. How do you change it?
In Server Manager->Local Servers->Tools->Local Security Policy->Network List Manager Policies — right click on Network 1 (the name found in “View your active networks”). Click on the “Network Location” tab and select a “Location type”.
Thank you, I have also done a major rewrite of this entry to make it clearer.
Worked One!… Thank you
Thanks MikeN. The article was great but I couldn’t easily figure out this final step. Perhaps this final explicit step-by-step instruction on how to actually change the Network Location itself be added into the article? The article doesn’t quite cover it clearly.
Thanks it was very helpfull.
Exactly what I was looking for… Thanks!
Thank you a million times just what the doctor ordered
if you don’t want to reboot, just open a command prompt and type:
Holy crap, finally! Thanks!
Pingback: Changing the network location in Server 2012 | Paran01d
Thank you very much. I don’t understand why Microsoft had to make this suck difficult to change…
Great server product but WHY DO THEY MAKE US DO THIS SHIT. Jizzmopping bastards. Thanks for posting this entry.
Thank you very much 🙂
As a add on, we still set all firewall profiles (domain, private and public) to OFF with GPEDIT.MSC, at LOCAL GROUP POLICY > COMPUTER CONFIGURATION > WINDOWS SETTINGS > SECURITY SETTINGS > WINDOWS FIREWALL WITH … > WINDOWS FIREWALL WITH ADVANCED SECURITY.
But this allone won’t work. Major step is your guide 🙂
Kind regards from Bavaria,
Thanks, this was a great help.
I had to also set my existing network location to allow for user changes.
Thanks – This really helped me out for a workgroup server with 2 network interfaces. The public (internet side) was correctly being identified as Public and the internal interface was also being identified as public (probably becauase it wasn’t part of a domain and it didn’t have a gateway specified). Now I can set a Private firewall policy for the internal address.
Very good! You can also do this with Power Shell command:
Set-NetConnectionProfile -InterfaceIndex -NetworkCategory Private
Use the cmdlet Get-NetConnectionProfile to see the InterfaceIndex.
grazie from italy, thanks
Open a powershell windows as administrator, and run Get-NetConnectionProfile | Set-NetConnecionProfile -NetworkCategory Private
No reboot or GPO changes required
Thanks so much! This really helped after I added a new Virtual interface to a domain member server. The new interface connected to a VLAN that is not routed, so there was no path to the domain controllers via that interface, and the network would only identify as Public. Unfortunately, the software we were using had created a heap of firewall rules, but only for Domain and Private networks. This saved me having to edit all those rules manually, which I really appreciate!
Editing Local System Policy? Haven’t done something like that since using Windows NT Server 40.
Don’t edit local policy to do something like this, it’s an ugly idea. Do it through a sensible interface. You can probably do this using netsh, but DEFINITELY better to use Powershell.
As previous commenter wrote, launch powershell as an administrator and type this in:
Get-NetConnectionProfile | Set-NetConnecionProfile -NetworkCategory Private
// as for all the idiot goons on this thread saying “yeh Microsoft sort your crap out, you suck” etc., I know you are all 13 years old, but go read a book or something.
If you’re going to be so sanctimonious and self-aggrandizing about people providing a simple, straight-forward way to fix what is very much a failure on Microsoft’s part, maybe you should proof-read your post to make sure that the PowerShell command you provided is syntactically correct. “Set-NetConnecionProfile” is not a valid PowerShell command while “Set-NetConnectionProfile” is.
Furthermore, there is no such thing as doing something though a “sensible” interface as there are many ways to manage a system. Some work better in some situations and others work better in others but there are many ways to solve a problem like this and end up with the same results. Some administration tasks will work better in a command-line environment like PowerShell yet there will still be many tasks that are more efficient overall by using through a GUI and Microsoft has gotten into a bad habit of removing and/or burying settings (at least by default certainly) from the UI that had previously been readily available.
Also telling people to “go read a book or something” simply because they have a *valid criticism* of changes made to the default user interface just highlights a lack of maturity on your part.
Nice tip, thx.
What does “Follow these steps to be able to change the network location:” do? I’m still not able to alter these settings. Changing the network location via local security policy is independent of this and I can change the location without allowing the user do to so in the first instruction set you provided.
Basically, I can’t figure out what the “Follow these steps to be able to change the network location” actually changes?
Dont understand MS’s rationale to lock it down so hard – if Admins are going to be configuring it anyway…..
great job, thanks!
Thanks. Exactly what I needed to know.
You can easily change it from the command line. Check out the tutorial here: http://www.1337admin.org/windows-server/windows-server-2012-r2/change-network-location-using-powershell-in-windows/
Pingback: Set Server 2012 Network Location | stevenwatsonuk
None of this worked for me – my server has been fine for 2 years and just started doing this today – any other ideas? (Gpupdate won’t work because it can’t talk to the DC)
Thank you for taking the effort to document and share this 🙂
Pingback: Server 2016 Core: Dat Cursor Doe | Ben Seitz III
Thanks! My VMware 2012 Templates were “Private” but when template became “Public” for reasons unknown!
You can combine the commands and set all interfaces to private.domain will over ride this but when it fails to come up as domain it will be private not public
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
1. get the interface index using this command:
2. Put in the number from step one instead of the “10” (article has “get” instead of “set” )
Set-NetConnectionProfile -InterfaceIndex 10 -NetworkCategory Private
Thank you so much for this article. I had rebooted a Windows Server 2012 R2 that was being used as an iSCSI Target Server for tons of VM’s and after rebooting none of the hosts could see this server. After seeing the network adapters change from Private to Public and no hosts able to see the server I panicked, finally realizing that the Windows Firewall did not allow this traffic in a Public location. Changing the location via PowerShell with your article fixed it all back for me.
I tried this on Win Server 2012 R2 machine on bare metal connected to a Cisco Switch Port Module, and failed. I had to set the port connected to this machine as spanning-tree portfast to stop Windows from detecting then the network as Unknown Network. All seems to work now. Thanks.
Even with the change to private mode, the connection to the domain was still failing. The resolution was to remove the server from the domain, restart, rejoin the domain, restart, AFTER fixing the network inconsistencies.
This guide has not been updated for the newer version of windows sadly.