How To Fix Outlook 2016 Freezing on Loading Profile

I haven’t found a permanent fix for this problem in all cases. So consider this article “ongoing” for now. I’ve noticed that sometimes that Outlook 2016 will freeze on the “Loading Profile” screen on Windows 10 computers. This seems fairly specific to machines connected to an Exchange account of some kind.

The first few times I encountered it the below fix resolved it completely after one time. I have seen a few computers where, it still does this despite a local profile wipe (which on Windows 10 is not the best idea apparently). It usually happens after the user reboots. If anyone knows what actually causes this problem, and an actual fix, rather than the below “band-aid” I’d love to hear it and will give credit in an addendum to the article.

Fix Outlook 2016 Freeze on “Loading Profile” Screen

Step 1 – Either close Outlook or have the user do it. You can kill the task remotely or just close the load screen window. It isn’t really frozen, it’s just stuck most of the time.

Step 2 – Navigate to the following directory on the user’s machine: C:\Users\[user profile name]\AppData\Local\Microsoft\Outlook

Tip: You can do this remotely by navigating to \\[user’s PC hostname]\C$\Users\[user profile name]\AppData\Local\Microsoft\Outlook

Step 3 – Look for a file in that directory called “useremailaddress@domain.com.ost”. Delete it.

Step 4 – Have the user re-open Outlook.

This seems to resolve the problem. The issue seems to stem from a corrupted OST file or something. Sometimes this will keep happening when the user reboots the computer or the computer updates. Most of the time not though.  I’ve tried the following to fix the issue on the machines where this recurs with no luck:

  • Making a new Mail Profile and re-setting up Outlook
  • Doing a full Profile Wipe on the local computer
  • Doing a Windows 10 “restore”
  • Repairing Office.

I haven’t tried taking Office completely off and putting it back on, may try that next and see if it’s just a corrupted Office installation, nor have I tried removing the affected user’s Inbox at the Exchange level and see if that fixes it. I tend to think it’s a problem on the local machine as only certain PC’s have the problem.

I’ve read a few Technet articles and had very little luck with that either.

It could, in theory be some other file that’s corrupted, I have a hard time believing Outlook would repeatedly corrupt an OST file, I have not tried removing the entire Outlook Folder to see if that fixes the issue.

If anyone has any ideas please let me know!

How To Schedule Remote Restarts For Windows PC’s In A Specific OU – Server Basics

Restarting a local server once after hours is a pretty neat trick but sometimes you need to restart an entire Organizational Unit of computers. There’s a few ways to do this. You can do it with the shutdown command by hostname and keep a little batch script updated. Or you can use a PowerShell Script.

I’d like to credit Jack McCarty for this command. He came up with most of this either on his own or from stuff he found various places on the internet.

 

How To Remotely Restart Computers In A Specific OU With Powershell

This is one of several methods and, honestly it’s pretty slow but it works pretty well, and the advantage is you can just add machines to the OU you want to restart. This is a pretty flexible command/script and can be modified to do other things instead of restarting computers. Also, please note this forces the restart.

Step 1 – Open up your favorite script editor on your server. I like Notepad++ personally. The Powershell ISE is pretty good as well.

Step 2 – Copy and paste the code snippet below into your code editor and change it. The appropriate place to modify is the string after -searchbase. You’ll need to change “OU=Lab, OU=Workstations, DC=workendtech, DC=local” to fit your environment. If your domain is say, Example.com and you wanted to reboot everything in the Computers CN you’d change it to something like “CN=Computers, DC=Example, DC=com”.

get-adcomputer -filter * -searchbase "OU=Lab, OU=Workstations, DC=workendtech, DC=local"|Select * ,@{n='computername';e={$_.name}} |restart-computer -force

Step 3 – Save the file as a plain text file with a .ps1 file extension. Some code editors will have a Save As “PowerShell Script” file type that will do this do you.

Step 4 – Run the script through Powershell. You can also run the command directly without saving it as a script.

Scheduling A Powershell Script in Task Manager

There’s not much to scheduling a powershell script in task manager.

Step 1 – Create your Task as normal

Step 2 – In the Actions Window/Tab type “powershell” (without the quotes) in the ‘program/script’ box. In the arguments type “-file ” in the arguments box. You can also add the path to your script in the “Start In”  box.

Note: Some scripts may need a few extra arguments. Testing the command in your command prompt will usually help you figure that out. The one above seems to work just fine with just “-file”.

How To Schedule Windows Server For Automatic Restart – Server Basics

 

This is one of those really basic tasks you can easily set up with no added software or even Powershell scripts. It’s extremely useful too. Say you need to reboot a server because you installed some software that you didn’t expect needed a reboot, or there’s some updates, or some other reason. You can’t really do it until after hours and you don’t want to hang around and would just like it to reboot itself a couple of hours after closing time when everyone is home.

You might also want to reboot a Windows Server a month or once a week as a matter of routine maintenance.

This is fairly trivial to set up in Task Scheduler.

How To Schedule A Windows Server For Automatic Reboot

Note: I’m using Server 2016. This is almost exactly the same in 2008 and 2012.

Step 1 – Open Task Scheduler. In the newer versions of Windows Server you can just click on the start button and type “Task Scheduler”. You can find it manually under Control Panel under Administrative Tools. You can find it in the Start Menu in Server 2003 but the Task Scheduler is a bit different.

Step 2 – Right Click on the Task Scheduler Library (Highlighted in the picture in Step 1) and click “Create Basic Task”. This will open the Wizard. You don’t have to use the Wizard, but since this is a very simple task it’s easier.

Step 3 – Give a name to the task. I called this “Restart Server Once”. In a multi-server environment, my personal preference is to call it “Restart This Server Once” or “Restart Local Server Once” to show that the task restarts that specific machine. As I usually also have tasks to restart remote servers and workstations on at least one of them as well. If I were also making one to restart the box on a schedule I’d name it something like, “Restart Local Server On First Of Month”.

Click Next.

Step 4 – Since this task is to just restart the server one time click the “One Time” option and then click next.

You’ll note the sub-task called “One Time” under triggers.

Step 5 – Give it a date and time to restart. Click next.

I chose 8pm the next day.

Step 6 – Select “Start A Program”. Click Next.

Step 7 – Type “shutdown” without the quotes into the “Program/Script” box and “/r” into the “Add arguments” box. Click Next.

Step 8 – Click Finish

Step 9 – You aren’t done yet because you want this to run if you get logged off and you want to set this up so you can use it again later.  In the Task Scheduler right-click on your new task and click Properties. This will bring up the general settings page. The radio buttons on the bottom will default to “Run only when user is logged on” change it to “Run whether user is logged on or not”.

Step 10 – Click OK. It will make you enter your administrator password.

You’re finished!

Changing the Schedule for The Automatic Reboot

So now you have a task that will automatically reboot your server (Or PC) one time. Now  you need it to do it again. There’s no need to make another task, you just need to update the trigger.

Step 1 – Go back into Task Scheduler, right-click on your task and click Properties. Click on the Triggers tab.

Step 2 – Click on the “One Time” trigger and click the Edit button. Change the time and date, click OK on all the dialog boxes and your server/PC will now restart at the new time.

It will ask  you to re-enter the administrator password.

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 – 192.168.1.102
Subnet Mask – 255.255.255.0
Gateway – 192.168.1.1

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

DHCP Server: 192.168.1.1

This is probably a basic network. Again, write it all down, it’s important. Other IP schemes could be something like 10.1.1.1 or 172.16.0.100 or something like that. This method really only starts getting weird on big networks with subnet masks like 255.255.0.0 or really small ones with masks like 255.255.255.240. 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 192.168.1.100 or 192.168.1.103, 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 192.168.1.100-192.168.1.200. 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 192.168.1.2” 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.

Questions

  • 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 WorkendTech.com and its email. I then name my internal domain “WorkEndTech.com” 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 “WorkEndTech.com” 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 “http://WorkEndTech.com” 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.