Category Archives: Staff Tech Reviews

Professional Technology Reviews by IT Professionals.

AMD Ryzen 7 2700X CPU Review


Imagine that somebody buys a new Intel CPU. He dished out over 300 dollars for it. The enthusiast inside him says that they want to overclock it,

… but he didn’t notice that the processor is locked.

Meet AMD, the underdog of the two CPU tech giants.  Their Ryzen series comes with not only a CPU cooler, but every CPU in the Ryzen series is able to overclock.

AMD Ryzen 7 2700X

Meet the fastest CPU for this motherboard. The AMD Ryzen 7 2700X sports:

  • 8 Cores/ 16 Threads
  • Stock Frequency of 3.7 GHz
  • Max Frequency of 4.3 GHz
  • 768 KB of L1 Cache
  • 4 MB of L2 Cache
  • 16 MB of L3 Cache
  • TDP: 105 W
  • Comes with the Wraith Prism Cooler

After unboxing it, we put the CPU and its included cooler into a Gigabyte B450M DS3H after making sure all other components are installed and properly working. Booting it was a breeze with little to no problems. No bluescreening, no failed POSTS.


Passmark charted the 2700X with a score of 16974, putting it ahead of even the high-end 8th gen processors. 

Look at the 8086K falling behind by 300 score even though it is almost double the price.

Being only $309.99 on Newegg, the CPU gains mostly positive reviews. People call this a great CPU that rivals Intel in how much performance you are getting for the price. 

Pros: -Comes with a top-notch cooler. I’ve been doing this stuff for years and have never seen a stock cooler I’d even CONSIDER leaving on. Performs EXTREMELY well. If I didn’t already have a big AIO I’d just bolt this puppy on and call it a day.
-Most of the issues people had with 1st gen Ryzen are solved here : Is able to use much faster ram without complaint and gets a pretty nice boost in single/multicore max speed.
-Silicon lottery isn’t much of an issue here. Your CPU WILL boost to 4.3 for single core loads, and will hit 3.9-4.1 on all-core depending on your cooling. In other words, works EXACTLY as advertised.
-With some tuning and fiddling, comes within spitting distance of it’s main competition in single core loads and DEMOLISHES it in multi-core.

Justin D, 2018

While the CPU might be potent with its raw performance, some people noted:

Pros: So fast it cought me off guard at 1st. Everything runs super smooth and fast. Replaced my 6700k.
Paired with MSI Carbon Pro and G Skill 3200mhz memory.
Everything Worked like a charm. Didn’t even had to re-install windows it just worked. I will reset windows just in case.
Stock cooler is good. I was playing cs go with an open case and my temps were 49-51 Celsius which is insanely cool.
Cons: Fan a bit loud, but it’s not a big deal

Tolik O.


Note: This review is part of a school project.


Moodle Installation

<![CDATA[Since the Moodle Docs site has been so sketchy, I decided it would be best to document my recent installation.
Note:  I am installed on a VMWare ESXi 6.5 Virtual Machine.  750GB SSD, 16GB RAM, and 8 Cores.

  • Install Ubuntu 16.04
  • If you are doing it on a VM, check Check CPU#, Increase Video RAM, and move LAN to the 1000e.
  • I immediately open root and do everything else as room
    • sudo -i passwd root
    • sudo passwd -u root
    • su
    • gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
      • Add the following lines to the bottom.
    • gedit /root/.profile
      • Delete last line -> mesg n
  • Reboot and logon as root
    • Update  and install vm tools
      • apt-get update
      • apt-get upgrade
      • apt-get install open-vm-tools
    • Install LAMP and required Moodle dependencies.
      • apt-get install apache2 mysql-client mysql-server php7.0 libapache2-mod-php7.0
      • apt-get install graphviz aspell php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7.0-zip php7.0-soap php7.0-mbstring
    • Restart the server and then create the Moodle database
      • reboot -r now
      • mysql -u root -p
        • CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
        • create user ‘username‘@’localhost’ IDENTIFIED BY ‘password‘;
        • GRANT ALL PRIVILEGES  ON moodle.* TO username@localhost IDENTIFIED BY ‘password
        • quit;
  • I make the folders for Moodle in the /var/www folder and initially open all permissions there.
    • cd /var/www
    • mkdir moodledata
    • mkdir moodlesql
    • chmod -R 0777 /var/www
    • If you are restoring a previous version.
      • cd /var/www/moodlesql  (or wherever the sql file is)
      • mysql -p moodle<moodle-database.sql
    • If you make a mistake you can always delete the database and start over
      • mysql -u root -p
        • drop database Moodle;
        • quit;
    • There are a couple tweaks I make to PHP before the installation
      • gedit /etc/php/7.0/apache2/php.ini
        • find “post_max_size”
        • Change the value to the number of Mb you want your site to accept as uploads
        • find “upload_max_filesize”
        • Change to the same value as above
        • Find “max_execution_time”
        • Raise to a larger value if needed (like 60-600)
  • Download Moodle from and extract the file to /var/www/html
    • Navigate to in your browser and begin the installation!
  • When you are complete you may want to:
    • Reset your folder permissions
      • chmod -R 0775 /var/www
    • make your IP address a static one and then get that address permanently in the moodle config.php file until you have an actual web address to put in there.


Google Drive Sync to a Network Folder

<![CDATA[Recently Google Drive stopped syncing to a network folder.  This has been a conundrum for many of us that put it there so we can access it from various locations.  There is a work around.

  1.  Download the old version of Google Drive that did work.
  2. Uninstall Drive and install the version above.  You can point it to any share during the install process.
  3. Disable Google Updates in the Task Scheduler.  If you don’t it will just update and break itself.  This will disable Chrome updates as well, so it is a trade off.
  4. Make a new registry entry to disable Drive Updates.
    1. Regedit and go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\
    2. Right click on the right hand pane and select New- Key, and name it Google
    3. Click on the new Google key (looks like a folder) to enter the folder.
    4. Right click in the right hand pane and select New- DWord 32bit value
    5. Name it DefaultUpdate and make sure the value is 0
    6. Reboot

Fingers are crossed that this works until Google changes it back to allow network shares again!

Windows Server 2016 RDS Licensing Server

<![CDATA[Windows Server RDS works great for allowing thin clients to have a full desktop experience.  For RDS to work correctly, you must create a licensing server to hand out seats per client connection, whether that be per user or per device.  This guide will go step by step through the process of creating a licensing server to serve RDS seats.  We assume that you already have a Windows Server 2016 machine ready for this deployment.
In our environment, we use a separate virtual machines for each server role.  We use VMWare 6.5 as our host, and Windows Server 2016 as our VM client.  This server will only have this role installed.  Our base VM has any default roles that are installed out of the box, with an addition of the .NET 3.5 feature set.

Please make sure your server is set on the correct timezone, remote desktop is enabled, all Windows Updates have been installed, the server has been joined to your domain, and then restart the server.  When logging into the server, use a domain user account with Domain Admin privilege.

  1. Open Windows Server Manager and click Add roles and features
  2. Click next confirming that you have verified the tasks listed.
  3. Click next confirming that you are installing a role-based feature on the current server.
  4. Click next to confirm that the server highlighted is the correct server for the role to be installed.
  5. Select the Remote Desktop Services role and click next.
  6. Click next on the features list, without checking an additional feature other than the defaults.
  7. Click next to confirm that you want to install the Remote Desktop Services role.
  8. Select Remote Desktop Licensing to install the licensing host components.
  9. Click Next to install the role.  OPTIONAL: Check the Restart box and select yes to allow the server to restart after installation. (The server does not need to restart after installing this role.)
  10. After the role finishes installing, click close.
  11. Click on Tools > Remote Desktop Services > Remote Desktop Licensing Manager.
  12. Click Review on the server you just created.
  13. Click Add to Group.
  14. Click continue to add the server to its correct licensing group.
  15. This message will be received when you have completed the following step. Click ok to close the window.
  16. Click ok to close the window.
  17. Right click on the server you are trying to configure. Click activate server.
  18. Click Next to configure the licensing portion.
  19. Click next to use the automatic defaults.
  20. Complete the required information for your organization and then click next.
  21. Complete the required information for your organization and then click next.
  22. Click next to start the licensing wizard.
  23. Click next to confirm the settings are correct.
  24. Select the correct type of agreement for your organization.  In our case this would be School Agreement.
  25. Type the agreement number and select next.
  26. Select the correct product version, license type, and quantity of licenses. Then click next to finish the wizard. In our case, RDS per user CAL is the correct licensing type.
  27. Click Finish to close the wizard and activate your RDS licensing server.
  28. Your server is now activated if the green check mark is displayed.

This guide was to setup the licensing server portion of a remote desktop environment.  To setup the servers that clients/thin clients connect to, please see this post.]]>

Windows Server 2016 KMS Server

<![CDATA[Windows Server 2016 KMS – Office 2016 & Server16/Win10 KMS
Recently, we found that Server 2016 standard was having issues using the volume activation tools that are built in.  Instead of using the VAT role, we elected to build our KMS server through command line.  In this tutorial, I will walk you through the steps necessary to complete your new KMS install using Server 2016 Standard.
We are installing a KMS server for Server 2016, Windows 10, and Office 2016 Pro Plus clients.  (Other versions also activate as it is backwards compatible.)
Note:  We are using VMware Hypervisor 6.5 (Free), and our KMS server is running as a VM using Windows Server 2016 Standard (with desktop experience).  Screen capture images can be browsed here. -> Steps

  1.  Create a Windows Server 2016 Server (any edition).
    • Set the timezone, name (and join) your server with your Active Directory.
    • Enable Remote Desktop and set a static IP address (optional)
    • Check for, and install, all windows updates.
    • Reboot the server
  2. Install the Volume Activation Services Role through the server manager.  Click next through the entire process leaving the defaults.  (This GUI is what crashes for us, which is why we are using command line.)
    • Reboot the server once the installation completes.
  3. Visit the Microsoft Volume Licensing Center and obtain your KMS keys for Office 2016 and Server 2016.  Keep these for future reference.  While on the volume site, download “Office Professional Plus 2016 Key Management Service Host”.  It will be an ISO file.
    • Extract the ISO to C:\kms or an appropriate location.
  4. Use an elevated command prompt for all of the following steps
    • Install the Office 2016 KMS Host pack (What we extracted to C:\kms)
      1. cd c:\kms
      2. cscript kms_host.vbs
      3. After the VAT popup appears, close VAT and hit enter twice to return to a standard command line.
    • Install the KMS keys for Windows and Office, one at a time, waiting for the confirmation that the key has been installed prior to continuing to the next.
      1. slmgr.vbs -ipk <insert Server 2016 key here>
      2. slmgr.vbs -ipk <insert Office 2016 key here>
    • Export the licensing information.  This is for two reasons.  First, to make sure both keys have been inserted correctly, and to obtain the activation ID.
      1. cd c:\windows\system32
      2. cscript slmgr.vbs -dlv all >C:\kms\export.txt
        • cscript must be used to export the information into a txt file.
    • Open the recently created export.txt file, and scroll to the licensed products.  Copy the Activation ID‘s for both products and keep for the next step.  NOTE:  The Activation ID and Application ID are NOT the same, so make sure you obtain the correct ID.  The easiest way to find the correct product is to locate the Installation ID.  It will only be present on the two products that we have installed a key on (even though we will not be using the Installation ID.)
    • Activate your product keys.  Do each command one at a time, waiting for the confirmation before moving to the next.
      1. slmgr.vbs -ato <insert Activation ID for Server 2016 here with the dashes>
      2. slmgr.vbs -ato <insert Activation ID for Office 2016 here with the dashes>
    • Confirm that your products are activated and licensed.
      1. cscript slmgr.vbs -dlv all >C:\kms\export2.txt
        • Confirm that the two products identified before have “licensed” as their licensing status.
  5. Now your server is licensing clients.  There are thresholds that will determine when activation starts.
    • Windows Server will activate after a count of 5.
    • Windows 10 will activate after a count of 25.
    • Office 2016 will activate after a count of 5.

Additional Information about KMS:
A Server 2016 KMS key will activate all server editions up to 2016.  It will also activate all Windows Client editions up to Windows 10 including 7, 8 and 8.1.  The Office 2016 Professional Plus key will activate both Pro Plus and Standard Office 2016 installations.]]>

Windows Server 2016 RDS Client Server

<![CDATA[Windows Server 2016 : Remote Desktop Services
This guide will walk you through how to setup Remote Desktop Session Host on Server 2016.  Our application of this role is to provide a central connection server for thin client users.  There are two parts of this guide, the licensing server and connection server.  This guide covers the connection server, and assumes you have already setup a licensing server named “TRAIL5”.

Connection Server
After creating a new Windows Server 2016 server, open the server dashboard and add “Remote Desktop Services”. (figure 1-1)

figure 1-1
figure 1-1

Continue through the wizard by clicking next, without adding features.  The next screen will display role services for remote desktop services.  Add “Remote Desktop Gateway” and “Remote Desktop Session Host” and then finish the wizard. (figure 1-2)
figure 1-2
figure 1-2

After Installation completes, restart the server as required.  Once restart has completed, create a group policy to define the licensing information.  This can be achieved on the local machine by running “gpedit.msc” or by creating a group policy object applied to the container in which this server resides.  Local policy can be applied at the following path: Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.  This is where you set the licensing server and type. (figure 1-3)
figure 1-3
figure 1-3

A policy that is applied through group policy rather than locally would be below. (figure 1-4)
figure 1-4
figure 1-4

Once this policy is applied, you may restart the server.  After a restart, it will be fully licensed and ready to use.

This guide was to setup the client access server portion of a remote desktop environment.  To setup the licensing server to process CAL’s, please see this post.]]>

What every K-12 Windows District Needs

<![CDATA[Note: This post assumes you are reading this as part of the technology staff of a K-12 Windows based school district.  I am not a MAC guy and would not presume to know what a MAC district needs.  I won't bore you with my credentials, but I have been in IT a while and in education since 2003.
I have recently been helping a new tech director and came to realize that there is little guidance out there on the minimum things a good district needs.   Some of the things I have been suggesting are not at his new district and I would have assumed any tech staff would have those things.  I realize that some readers may feel some of these are unnecessary and that other items should be added.  Feel free to add your ideas in the comments section below.  These are NOT in order, I think they are all required so order seems unimportant.
1.  A VM (Virtual Machine) system.  I have almost every server virtualized.  Until 2012 I did not believe that  a virtual server could run as well as a physical one.  I was at a Spiceworks meeting and an acquaintance convinced me to try the free version of VMWare.   I now use ESXi for all my virtualization.  There are alot of reasons to virtualize servers.
2.  A helpdesk system.  I just mentioned Spiceworks so I might as well list that next.  It is great, free, fully customizable, and runs easily on any Windows machine.  There are others, but Spiceworks has a huge community and runs great.  I LOVE spiceworks!
3.  A Windows Server Update Services (WSUS) machine running and configured in your network.  After it is setup (2 hours max) and added to your group policy all your machines will stop downloading updates from Microsoft (a big deal if you have 100s of machines) and just get them from you server instead.  Mine is virtualized and on a 500Gb drive due to the size of downloads.   A properly configured WSUS downloads and accepts your defined approvals automatically.  You should not have to touch this again after setup.  You configure your AD to point to it and how the clients will process the updates.
4.  A Key Management Server (KMS) to distribute your Microsoft keys to your servers and clients.   Installing actual keys on every client takes time and puts your key out on every machine a student logs on to.   Instead, you can put your keys onto a KMS server and never activate anything again.   And, if a laptop is stolen, it will deactivate and stop working eventually.  KMS was not a must with XP when we had corporate keys that were unlimited…that is no longer the case.  Just do it!
5.  Look into the Microsoft EES agreement.  I am not a software renter by nature, but the EES agreement covers your operating systems on clients, servers, and CALs for a fraction of the cost.  It covers unlimited clients with the price based on the number of employees in the district, not the number of computers.  If you have anything close to 1:4 then you are way ahead going this route.  We added Office (again way cheaper than buying even every 10 years) and employees can install it at home as well on the base price.  It covers all the servers I am mentioning.
6.   An Imaging solution.  We use FOG.  I know there are lots of options and I have tried a couple.  I have been using it for several years and am very happy with it.  Free, PXE client boots, and works with everything we have tried.  In the educational environment we reimage machines all the time, if you don’t you should.  Labs are done almost monthly.  It refreshes the KMS server count and makes sure that the testing systems are ready to go each cycle.  I have all my servers pulled with FOG as well as images for my labs and other machines.
7.  Fresh images for your machines.  It goes without saying that being able image without having good images is worthless.  I have a VM that holds the pertinent images.  I update them there and repull them before doing anything major.  Having a good imaging server and good images makes your life so much easier.  These two items alone are worth their weight in gold.  Every time we start a testing cycle I reimage (it is just a click on the Web GUI) all my testing machines.  I know they are all fresh and ready to go.  I also know that if I am spending more that 30 minutes on a software issue that instead I can just image a machine in 10 minutes (6 minutes to image and 2 reboots to rename and rejoin…all automatic.)
8.   2 AD servers.  I think it goes without saying that a sole AD is a terrible idea.  But I do know at least one tech director that only had one, and then it failed.   I have one physical and one virtual.  I would recommend one at each campus if you are a multi-campus district.  The AD should be organized in both the user and computer categories so you can have manage them with good group policies.  My AD server does DNS and DHCP as well.
9.  Group Policies you can easily maintain.  If your AD is well organized, then good maintenance of your network is much more efficient with good policies.  I install all printers, network drives, software installs, all through policies.  That being said, too many policies can slow your network and ruin the user experience.  Take care!
10. An LMS (Learning Management System.)  There are a number of good ones.  We use Moodle.  It is the most full featured, very configurable, and the most powerful.  It is not the easiest or the most intuitive.  It will require PD, especially for your less tech savvy teachers, but is without doubt the best free option.    It doesn’t matter which LMS you choose if you at least have one.  No school should be without an LMS is this day and age.
11.  Become a Google district.  Even if you use Office 365 (which we could but don’t) then there are enough things to make GAFE a great choice and make it worth your time.  It is of course free, with unlimited storage, and a requirement to use Chromebooks in your school.  It is worthwhile just to provide your teachers each a YouTube account to save classroom videos.   It is also a great place to keep all PD videos for your district.  I record almost every PD session and more to provide a repository for staff to peruse at their convenience.
There are alot of parts that make up a good district.  These are just some that seem to be missing in some districts I have helped.]]>

Thin Clients really can win!

<![CDATA[I will say from the onset of this article up until recently I would have called myself a thin client opponent, not a proponent.  My early experiences with thin clients were not pleasant.  Servers stretched to thin, poor performance, and inexpensive PC options made thin clients seem like a bad choice.  But two years ago we purchased an Firefly 208R2 Server and L300 thin client lab for a hot, poorly powered room that changed my mind.
This setup worked out so well we decided to look into configuring like systems inhouse.  We used old Dell D600 laptops and set them up to autologon and connect to a 2008R2 remote desktop server.   This ue of low end, old machines connecting to a Dell Optiplex 780 seemed like a perfect match.  We setup the system similar to the Firefly system with a VelociRaptor Hard Drive and 16Gb or RAM.  We found that 25 clients seemed to be the sweet spot, with 30 being a max for the system.
A great thing happened just as we were getting started, we got 210 free WYSE Z90D7 systems from the military DoDCFL program.  These Windows 7 thin clients had 4Gb DDR3 RAM sticks and with a little experimenting were easily setup.  We actually pulled the 4Gb sticks to use in the 780 systems and put 2Gb in them.  Furthermore we purchased SSD drives for them.  To say they rock is a vast understatement.  We put a 780 in every few classrooms (they were a workstation as well as a the server) so that no server  had more than 20-25 clients.
Systems logon in just a few seconds.  Students only make 1 profile per server.  I only need to update  5 systems for the entire middle school…I could go on and on.  The main takeaway is that making a thin client server is easy, and very responsive.  Just like using VMWare on a server to host multiple servers, you can use 2008R2 to host multiple workstations.
If you haven’t tried thin computing lately, I suggest you give it a try, you will not be displeased!]]>

If you don't FOG, you are nuts!

<![CDATA[FOG Project
FOG stands for Free Open-Source Ghost.  I used to use Ghost, purchased before I came to NTLS, but I refused to spend the amount required for the new version.  I have used FOG for some time, and frankly is was very useful.  We use version 0.32 to clone drives in our tech room.  We utilize old Gateway laptops with external USB drive docks to easily drop drives in, image, and replace back in machines.  We had tried the new version of FOG but went back to 0.32 when the new version was incompatible with external USB drive connections (tried several.)  We were content with our usage.
Last week,  I attended the OETC Conference and found out how underutilized our implementation truly was.  We went to a FOG session hosted by Casey Ailiff from Kent City School District and Chris Carman of Roosevelt High School.  I humbly give credit for the changes we made and everything that follows, to them.
FOG 1.20 can be hosted from a centralized location virtual server, easily setup and deployed on a Ubuntu 12.04 (my favorite currently) VM in about an hour. The installation is easy and fairly detailed on their webpage. The problem is that in the past I had simply installed FOG and used it right out of the box with no additional configurations.
The first thing I found I needed was to connect FOG to my active directory.  FOG will automatically rename and join newly imaged system IF this step is taken.  This is actually pretty simple.  The first step is to make a new account on the AD that you will set and forget.  This user has to have permissions to join systems to the AD.  The password should be complex.  You will put the password into the FOG Crypt program that is found by clicking the FOG Client/FOG Prep link which is at the bottom of every FOG page.  This link takes you to the page that you can download Fog Crypt.  This program you put the AD password into and it converts it into the string you then put into the AD configuration page in FOG.  This is one of the most important parts of maximizing FOG.  Don’t skip it!
The  next step is to prepare your image.  Use the smallest drive in your inventory and make sure you format the drive with a single partition before you install Windows 7.  Windows 7 by default makes a 100Mb partition that ruins one of the benefits of FOG.  By using a single partition image and your smallest drive (ours is a 60Gb SSD) then the image will fit on any other drive and FOG will automatically expand it to the full size of the drive when it installs.  We install Windows, do all the updates, install all our core software, and install the FOG Client Service.  We actually put everything on this image that any teacher or HS/MS student would need.  It uses 28Gb on the drive.  It is now our core image.  We then sysprep our image by copying the unattend.xml file and prepit.bat into the windows\system32\sysprep directory.  Then click on prepit.bat and it will sysprep and shut down.  We used the file that we got at the OETC class and referenced it to make our Windows 7 Enterprise version.   Yes there is a product key there, but it is the KMS one.
So now we can FOG to any Intel based PC in our district.  We made another version with all the elementary school software and sysprepped that for the elementary school.  Two images….pretty cool.  We will probably end up with a few more, but not as many as the 20+ we used to have.  But we aren’t finished yet.
The next step is to setup your machines to PXE Boot first and register them with the FOG server.  This entails hitting the down key three times when it boots, selecting Perform Full Host Registration, and letting the system boot into the FOG system.  The first thing it will ask is the system name.  You simply need to enter the name and hit enter about 8 times to get in on the system.  You can take the extra time to select an associated image, but it is easier to associate that on the FOG Webpage.  My students accomplish this task around the district after watching this flipped video.
After that you can do the rest from the FOG Webpage.  The first time we cast an image we had the system all configured and the new lab up in about an hour.  Those new systems now all have the FOG Service which allows you to do alot, including sending a new image without ever going down to the room.  If you enable the renaming service, and have the  Active Directory Join after Image Task checked, it will rename and join on its own.
About this point I was really geeking out.  In two days I had every lab in the district redone, and the hard part was making the images and remembering everything.   I used to Image systems every year, and recently I was stretched to every two or three.  Now every time I want to do a major upgrade, or just clean off all the student user accounts, I can re-image them in a flash.  There are alot of extra things you can accomplish with the FOG services, and I am just touching on a few of them.  I encourage any IT department to install FOG, play with all the options it provides, and appreciate how much this open-source program improves your school or business.
Thanks Casey and Chris!
Resources from my Apr 2015 Ohio Technology Summit Presentation  can be found here.
FOG version 1.4.4 Changes
The one change that affected us with the upgrade was the fact that the new FOG service breaks a sysprepped image.  The workaround is fairly simple.

  1. Disable the FOGService in the PC services.
  2. Drop a file in C:\Windows\Setup\scripts\SetupComplete.cmd
    1. The text inside this file is as follows.  It will reactivate FOGService when the sysprep is complete.
sc config FOGService start= auto
shutdown -t 0 -r