Set Server 2012 Network Location

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.

Local Security Policy

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:

All Networks Properties

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

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

Get-NetConnectionProfile

Change the network interface to private, use the network interface index number from the previous command.

Set-NetConnectionProfile -InterfaceIndex 10 -NetworkCategory Private

43 thoughts on “Set Server 2012 Network Location

    1. MikeN

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

      Reply
      1. GavinSpaceFace

        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.

        Reply
  1. Pingback: Changing the network location in Server 2012 | Paran01d

  2. Paul Dribbleshite

    Great server product but WHY DO THEY MAKE US DO THIS SHIT. Jizzmopping bastards. Thanks for posting this entry.

    Reply
  3. Columubs

    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,

    Columbus

    Reply
  4. Bob Smithe

    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.

    Reply
  5. Alvaro

    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.

    Reply
  6. Ian Walker

    Open a powershell windows as administrator, and run Get-NetConnectionProfile | Set-NetConnecionProfile -NetworkCategory Private

    No reboot or GPO changes required

    Reply
  7. Tim Wood

    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!

    Reply
  8. M LHQ

    #technicaladviceFAIL

    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.

    Reply
    1. MerlinYoda

      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.

      Reply
  9. Paweł Czopowik

    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?

    Reply
  10. Pingback: Set Server 2012 Network Location | stevenwatsonuk

  11. Otter

    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)

    Reply
  12. Pingback: Server 2016 Core: Dat Cursor Doe | Ben Seitz III

  13. Brian

    Thanks! My VMware 2012 Templates were “Private” but when template became “Public” for reasons unknown!

    Reply
  14. David C

    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

    Reply
  15. none@abc.com

    1. get the interface index using this command:
    Get-NetConnectionProfile

    2. Put in the number from step one instead of the “10” (article has “get” instead of “set” )

    Set-NetConnectionProfile -InterfaceIndex 10 -NetworkCategory Private

    Reply
  16. nvgoldendog

    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.

    Reply
  17. Community User

    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.

    Reply

Leave a Reply