How To Set a A Static IP Address In Windows – Server Basics

A lot of my articles, and IT work in general requires setting a static IP address up for your Windows Server or PC. So here’s how to do it.

Note that this procedure will work equally well for Windows 10, and Server 2016. The procedure is fairly similar for Server 2008 and 2012 though it’s easier to go through the “Network and Sharing Center” to get to the Adapter Settings. The idea is pretty similar for Windows 7/Vista. If you’re using Windows XP, it’s still pretty similar but getting to the Network Properties Window is different.  This guide is specifically for Server 2016.

How To Set a Static IP Address in Windows Server 2016

Step 1 – Click the Start button and then click the gear button on the left hand side of the start panel. This should bring up the Settings Window.

Step 2 – Select “Network and Internet”

Step 3 – Select “Ethernet” from the left hand side. If you’re connected with WiFi, you can click that, it’s all going to the same place eventually anyway. 

Step 4 – Under related settings click on “Change Adapter Settings”. You can also get here in fewer steps by opening the Control Panel, changing the view to “Large Icons”, opening the “Network and Sharing Center” and clicking on the “Change Adapter Settings” on the left.


Step 5 – Find your active Ethernet Adapter and right click on it and hit properties. Many actual servers have two when they come out of the box, so if you’ve got it hooked in to your router it’ll be the one that isn’t grayed out. My server is just a fancy PC so it just has one. Normal PC’s usually just have one, so it’s pretty easy to figure out. If you’re trying to do this for your WiFi adapter, right click on it and hit properties, the process is the same.

Step 6 – Most networks are still IP4 so click on TCP/IPv4 settings and hit the “Properties” button.

Step 7 – Enter your static IP address information. If you aren’t sure exactly what to put here, refer to the quick and dirty network guide at the end of this article. I’ll post a better one later for setting up a basic flat network.

Step 8 – Click OK on everything and you’re done!

Quick and Dirty Network Analysis Guide

So you know you server needs a static IP but you don’t really know how to figure out exactly what IP to use? Or even what to put in the DNS information? Well here’s a few tips. Keep in mind this is a method I’ve used for small networks where I had no information going in and it works pretty well but is by no means 100% fool proof. There are things in more complicated networks that can cause this not to work, but for most small to medium sized business and home networks this is a good way to go about it.

Step 1 – Determine Network IP Layout

Find a PC already on the network, open a command prompt and type “ipconfig /all” and hit enter. This should bring up all kinds of network information. You’ll see an IP address, subnet mask, gateway and DNS servers, DHCP server, and other stuff. Write it all down. It’ll probably look something like this on a small network.

IP –
Subnet Mask –
Gateway –

DNS Server:
Alternate DNS Server: (may not even have one)

DHCP Server:

This is probably a basic network. Again, write it all down, it’s important. Other IP schemes could be something like or or something like that. This method really only starts getting weird on big networks with subnet masks like or really small ones with masks like If you see that, you will probably need to do some additional research.

Step 2 – Find a Free IP address that Hopefully Is Not In DHCP Range

If the IP address is something like or, there aren’t many computers on the network, and the DHCP server is the same as the gateway, you’re in luck. It’s a super basic network. If the DHCP server is different, it still doesn’t matter much it’s just something to keep in mind. Likely the range is So just cross those IP’s off your list of possibilities.

Personally, for servers I like to start low. So open a command prompt and type “ping” and see if you get a response. If you do, type the same thing except change that last 2 to a 3 and keep doing that until you don’t get a response. When you don’t get a response, that’s you’re IP address. Likely as not you won’t get one on your first try if it’s a really small network and they don’t have a server, but there might be some network printers or something in the way and you don’t want to have conflicting IP addresses.

Now if it’s a regular PC or something I like to start higher, so I personally would start at around 240 and start pinging.

Step 3 – Enter the IP Information Into your Server or PC.

Take your newly found IP address and the information you wrote down and enter it into the server using the steps above. Make sure it matches. Practically every time this will work. If you get a “Duplicate IP Address” warning just go back to pinging on a working PC until you find another free one. Sometimes firewalls or something have pinging turned off. There is also free network scanning software you can download that will make this process a lot faster.

Note: If anyone has a better, faster, or quicker way to find a free IP address that you can do from a normal workstation on a network or something I’d be glad to post it. Like I said, this is the method I’ve been using for small networks for a long time where I’ve had no information going in and just needed to install a printer or appliance or something.

How To Set Up A New Windows Domain – Server 2016 Essentials

I had some extra hardware lying around, and my trusty backup drive got full so, I decide it was time to build a lab environment so I could develop stuff easier. This involves, to start with a Windows Server 2016 Essentials server. Hopefully everyone out there will find the process I’m going through to set this all up useful.

One of the first steps is creating a Windows Domain. There’s a pretty good TechNet article on this that gives some really good advice for people new to the industry. There are a few things you don’t get to do often in IT, and creating a domain from scratch, unless you routinely install Windows systems for customers is one of them.

The process for creating a Windows domain is pretty simple and basically the same on newer versions of Server. You set up the server, give it a static IP, promote it to a domain controller, and follow the wizard. It reboots a couple of times, and you have your very own Windows domain.

Once you do this you pretty much can’t go back, so you have to make some decisions and give it some thought beforehand.

Now, like the TechNet article this is mainly for relative beginners with a network requiring one domain controller (possibly two), small to medium size business owners, and technicians just starting to dip their toes into these waters. This is not for Enterprise IT guys with a huge domain forest. You guys already know what you’re doing. If you’re starting out and you feel your network is big enough for ten domain controllers, three sub-domains and has five thousand users, consider hitting that contact form up there. Also I’m using the Essentials version of 2016. The processes I’ll be describing in this and future articles are similar but not exactly the same as what you’ll find in  Standard and Datacenter versions.

Considerations For Naming Your Windows Domain

This is where I’ve seen the biggest mistakes made. You need to answer a few questions and do this very deliberately. Now fortunately, Microsoft has some very good defaults that make this a little easier, but it probably wasn’t always this way.


  • Do I have a website and email that’s hosted somewhere outside my premises?
  • Will I ALWAYS have that website/email domain or could it be changed it in the future? (Less important)
  • Do I like making really creative changes to my DNS to make things work because I named my internal domain the same as my external hosted domain?
  • Is anyone actually going to care that the internal domain doesn’t match our external website? (The answer is likely not).

The reason is, and let’s use this website as an example. Say, GoDaddy hosts and its email. I then name my internal domain “” as I’ve seen many people do. When I pull up a website on any computers attached to that domain, using my domain controller as a DNS server, I won’t able to reach my website, or get e-mail. This is because internally “” is now referring to my domain controller(s), not GoDaddy’s hosting. Also my email will  not magically start going to my email server because I set up an Exchange server to start accepting email for that domain.

This should seem obvious but, you have to tell everything on the Internet where you want that stuff to go. You will then also have to tell your own internal DNS servers that you want “” to point to something on the internet, and if your host doesn’t have a static IP assigned to your website, or if they change name servers sometimes, which they may, this can get super annoying. Also, remember once you set the domain up it can’t be changed without wiping the domain controller and starting over.

Now if you host your own website, email, and all that other fun stuff on the very server you’re setting up, this is irrelevant and you might actually consider naming your website and internal domain the same thing for convenience. You can name it something else and point your internal stuff to an internal server a lot easier than the situation above.

Consider using the .local extension for your domain heavily. That way you can differentiate it from your external domain. By default Microsoft will assign it this way.

Setting Up Your First Domain Server 2016 Essentials (And other versions of Server)

So you’ll need a few things before you start.

  • A Static IP for your server.
  • A name for your domain (See considerations above).
  • A hostname for your server.
  • Internet Access for your Server (OK this is breaking some security rules, but it makes time synchronization easier. If your router has an NTP server on it, just network access will do).
  • About 30 minutes.

Step 1 – Install Server 2016 Essentials on your machine. Just get the DVD or use a Bootable USB drive.

Step 2 – Give your server a static IP.  Reboot the server. Ignore the “Configure your Server” wizard that pops up. It’ll pop  up on reboot. You can even close it. I’m not sure how to make it pop back  up manually, but rebooting seems to work fine.

Step 3 – A wizard for “Configuring Your Server” should pop up automatically. Read it, click Next.

Step 4 – Make sure your Time Zone and Date/Time are correct.

If the time and date and time zone aren’t correct hit the “Change System Time and Date Settings” and you need to change the time zone here. Usually it’s just the time zone that’s wrong as it is always set to US Pacific time by default. Click Next once that’s all set up.

Step 5 – Enter your company name. The wizard will suggest a domain name and host name for your machine. With mine, I put in WorkEndTech. It suggested WORKENDTECH as the domain and WorkEndTeServer. Obviously I changed it.

I changed my server name to just WorkEndTechServer and made sure my domain was WorkEndTech.local. You can make doubly sure or change the full domain name by clicking the “Change Full DNS Name”. I highly suggest doing this just to make sure.

You can also go with a different naming scheme for your servers, changing the host name will in no way affect the domain name. Click Next.

Step 6 – Create a network admin username and password. I’d suggest against “administrator”. You can use your own name. I went with WorkEndAdm. Click next.

Step 7 – Choose whether you want to use the recommended security settings or do that all later. I just went with the recommended and clicked next. You can tweak those security settings later if you’d like.  Click Next.

Step 8 – The wizard will then start setting up your server as a domain controller for you. This process can take up to half an hour depending on your hardware. I’ve seen some take as little as three or four minutes. It will reboot, continue to set up, and possibly reboot again.

That’s it. You’re pretty much done. The server is now a domain controller. You can now start joining client PC’s to it, making group policy stuff, adding users into to Active Directory, and adding roles and features.



Fix External and Internal Email Server DNS Conflicts

This might be an old trick, but it’s never been one I  have been able to easily remedy. I’ve worked and done a lot of jobs at a lot of places where this has been a problem, especially on Windows networks. With Linux-based DNS servers, this isn’t such a huge trick.

When you set up a Windows domain for a company, let’s call it “Widget Core”, and they host their own email, let’s call it “” you generally do this. Their local Windows domain is usually called something like “widgetcore.local” and their website and email domain is So when you set up an Exchange server you point their MX records with their domain registrar something like this: MX preference = 0, mail exchanger =

Internally they might look like this:
internalmailserver.widgetcore.local MX preference = 0, mail exchanger = internalmailserver.widgetcore.local

Note: I modified this from an NSLOOKUP. Your registrar might call the preference “priority” or “weight”.

The problem is that if you set up someone’s company email on their phone, they won’t get company email over the company wireless. That is unless maybe the Exchange server is in a DMZ or you’ve got something else elaborate going on. If you named the internal domain “” you couldn’t get to the company website inside the Windows domain and all sorts of other problems would crop up.

There is however a simple but non-obvious fix. Just add another forward lookup zone in Windows DNS.

Resolving Different External and Internal Server Names In A Windows Network

Step 1: Open your DNS Manager. I like to install the Administration Tools on my workstation so I don’t have to remote into a server. You can just connect to a DNS server this way. Here’s a link for the Windows 7 version.  Here’s the Windows 8.1 Version.  Here’s the Windows 10 Version (Technical Preview). 

Step 2: On one of your DNS Servers, drill down to the “Forward Lookup Zones” and right-click directly on “Forward Lookup Zones” and click “New Zone”. A wizard will come up. Leave everything default until you come to the “Zone Name” screen. Name the zone EXACTLY what the name of your email server is on the internet. In the case of Widget Core, it would be

DNS Zone Name

On the next screen in the wizard, leave it on the default “Only allow dynamic updates”. You can set it to something else if you want, I can’t see how it would matter, but you’d probably have to update every single DNS server in your domain if you want to add something here.

Finish the Wizard.

Step 3: Right click on the new Forward Lookup Zone you just created and select New, then click “New Host (A or AAA)”. Leave the name blank, and just put the internal IP address of your mail server in the IP address field. Click OK. You should see the record you just created. The name field should say “Same as parent folder” and the IP address or “Data” field should have the IP of your mail server in it.

A Record Setting

Step 4: Ping the internet address of your mail server and see if it doesn’t resolve to the internal IP address if your e-mail server. If so it’s a success.

Now, both your internal and external host names should resolve to the same IP address on your local network. This should resolve your problem of cell phones connected to your email server not being able to connect while on the company Wi-Fi network. There are other ways to fix it, but this is the simplest I’ve seen and doesn’t need a lot of messing around with the network or doing anything weird with your registrar/web host. This also is the first step in fixing a really annoying Outlook problem that can occur with certificates.

How to Factory Reset a ShoreTel Phone

This is again a hard piece of information to find as most of the time you only get walked through this when talking to TAC. I found this written down in my IT journal. No idea why I haven’t posted it.

Resetting a phone to factory defaults is a good way to troubleshoot a phone that isn’t connecting or is messing up in various unexplained ways. Corrupt files being transferred from the FTP servers, network hiccups during start-up, power outages, caches not clearing and other issues can be resolved this way. TAC will usually make you do this when you have a screwed up phone before they recommend you warranty the phone.

Reset a ShoreTel Phone To Factory Defaults

Step 1 –  Make sure the phone is not off hook, then press the mute button and release it. Nothing will happen.

Step 2 – Immediately dial the numbers “772667” and hit the pound key.
Note: If the keys make a noise and/or the numbers show up on the screen you’ve done it wrong and you’ll need to start over. Sometimes the phones don’t register the mute key press or if it’s really screwed up it might think it is off hook somehow.

Step 3 – Enter the phone password. This is usually 1234.
Some partners will change this in Director to keep their customers from messing up the phones. You can go change it back to whatever you want in Director and restart the phone. Unfortunately if the phone is screwed up  it may not get this setting when rebooted. So it’s a good idea to know what this password is ahead of time.

Step 4 – The phone will reset into “KPD Mode”. Hit the mute button and dial “25327” and hit pound. You may or may not get a message here, but it should say “Clearing”.

Step 5 – Power cycle the phone.

The phone has now been cleared out and should re-download its settings from scratch so it may take a while to come back up. Please note that if you use the static IP method of phone configuration you’ll need to put all that stuff back in the phone.

Call From Specific Phone Line With ShoreTel

Occasionally your ShoreTel system will just flat refuse to dial certain numbers on certain phone lines. In my experience this happens most with PRI/Voice T1’s dialing to specific  area code/prefix combinations. A lot of times this is due to those no-contract prepaid cell phones you get for $30 at Wal-Mart. Other times it’s weird long distance rules. Sometimes it makes no sense and you get a reorder tone just on that one line for that one set of ten numbers, but all over lines work fine.

If you have some analog lines coming into your building for faxing and emergencies then you have a work around. You’ll need to make sure you have long distance dialing on those lines if the numbers you are having issues with are long distance from your area.

What you’re going to do is make an alternate trunk code to let your users specifically dial out on these lines.

Step 1 – Log into your ShoreWare Director. If you’re still putting in a user name and password you might check out my article on ShoreTel Active Directory Integration.

Step 2 – Click on System Parameters and select “Dialing Plan”. Typically you’ll have a lot of numbers set as “Extensions”. The number 9 is almost always set up as a Trunk Access Code. Simply select another number you aren’t using as extensions and set it as a one digit trunk code. I usually set the alternate one under ‘8’.

Step 3 – Go to Trunks -> Trunk Groups and find your analog lines (if you haven’t wired them into a switch, this is a good time to do so). Change the “Access Code” to “8” and click save.

Step 4 – The last thing you need to do is make sure your users have access to the lines you just changed. Go into their user groups and make sure that trunk group is checked in their options.

This works really well for fax machines if you want to make sure that they dial out on a specific set of lines if one or other set is not working.

Another extremely useful thing you can do with this works well when you have an office in another city. Normally your ShoreTel system is set up to call out in a partial ‘least cost’ manor.

For example, Town A is long distance to Town B and you have a branch office in Town B. Your headquarters in Town A would automatically dial out from your branch office’s lines in Town B and get a local call. This is the magic of a Voice over IP system. ShoreTel can be set up to do this effortlessly.

However, there might be a reason you’d need to force the system to dial out from Town B’s lines. This is how you do that. This has a lot of temporary troubleshooting potential.