With Jeremy Moskowitz
To consult about an on-site (Private) Group Policy class or the Group Policy Health Check, please call Laura Rubinstein at (720) 693-8144 or email laura[[att]]policypak.com
To purchase seats in a LIVE or ONLINE training class, contact Laura Rubinstein at (720) 693-8144 or email laura[[att]]policypak.com
Get serious, and perform “Best Practices” around Group Policy management. Take back control and get your IT life back!
|No Public Classes Scheduled|
Call if you have 3 or more people to help us get started! In the meantime, click here to checkout our Online Class
Believe it or not, the new Chromium-based Microsoft Edge browser has grown by 1,300 percent in the past year. One of the contributing reasons to its popularity surge is the perpetual release of innovation that Microsoft unveils on a regular basis in the form of feature updates. At the same time, Microsoft is aware that many enterprises want to have some degree of control over how often these new features are distributed to their users.
- Stable Channel
- Beta Channel
- Dev Channel
- Canary Channel
The Canary Channel puts you on the bleeding edge, providing you with the newest innovations as quickly as possible. At the top of the chain is the Stable Channel which is best suited for production environment and intended for broad deployment throughout your organization. Microsoft has traditionally released feature updates every 6 weeks for the Stable Channel and Beta Chanel. Microsoft is making some changes however starting with Microsoft Edge 94., which is currently scheduled to be released for the Beta Channel beginning the first week of September. Those using the Stable Channel will have to wait until the week of September 23. You can see the complete Microsoft Edge release schedule here.
Starting with Microsoft Edge 94, Microsoft is switching to a 4-week release cycle. Part of this is in reaction to Google’s announcement to do the same thing for Chrome version 96 in the fourth quarter of 2021. Another reason though is to feed the insatiable appetite that users have for new innovative features. This of course is what agile software development is all about. Microsoft knows however that not every enterprise is ready to adapt to a shortened release window. For organizations that want to move more cautiously, Microsoft will bring a new release channel called “Extended Stable” which will provide a longer 8-week release timeline. Like the current channels, admins can opt-in to this channel using either Group Policy or Microsoft Endpoint Manager. If you don’t create a policy for the new channel, Microsoft Edge will default to the 4-week release cycle.
Those who go with the 8-week Extended Stable release option will receive cumulative feature updates aligned with even-numbered releases. Any feature updates of an odd-numbered release will be then delivered as part of the subsequent numbered release. Microsoft will continue to provide Assisted Support for the three most recent Stable Channel releases that equates to approximately 12 weeks. Assisted Support will be available for the two most recent Extended Stable channel releases which equates to 16 weeks. For more information you can refer to the Microsoft Edge Lifecycle Policy.
Keep in mind that security patches and fixes operate independently and will continue to be deployed as needed. If you don’t use Windows Update for Business to manage updates, you can always download Microsoft Edge updates using Windows Services Update Server (WSUS).
Background and Timelines
Printing is something that most admins don’t want to think about. This tweet (which is a single picture) sums up most admins’ perspective about printers:
That being said, the original gory details of WHAT the vulnerability is, which include a privilege escalation and remote code execution can be found here: https://www.csoonline.com/article/3623760/printnightmare-vulnerability-explained-exploits-patches-and-workarounds.html
You can be forgiven for not wanting to go too too deep here. But the gist is: If the bad guys convinced your users to click on a thing, that would automatically install an “evil driver” which would then give the bad guy full admin access. I’m summarizing a little bit, but that’s the gist.
Essentially: you are / were open to attack and have to fix it.
Okay. Got it. So what does fixing it look like?
There’s three dates we have to take into consideration for the discussion:
Anything before July 6th.
Between July 6th and Aug 10.
Anything after Aug 10.
Let’s break down each date and method here.
Before July 6: How would you mitigate Printnightmare WITHOUT any patches
Microsoft’s recommendations which would at least “Shut the door” on possible attacks (BEFORE the July and Aug patches.)
Tip: These are / were PREVIOUS recommendations (applicable if you don’t have patches everywhere:
Completely disable the Print Spooler Service:
DCs because they’re important
Everywhere else because they’re important too.
Use the “Allow Print Spooler to accept client connections” and set to DISABLE. This will keep the the print spooler service running, but prevent REMOTE connections to the Print Spooler Service. And, moreover, it still works LOCALLY from the machine for local print jobs. It just prevents sharing printers for OTHER machines. This setting is actually a good mitigation on workstations, which in most cases do not need to share their printers with anyone else. Note that after this setting is deployed it requires a reboot of the system or at least a restart of the spooler service. (Thanks to Haemish Edgerton for the clarity adjustment here.)
You can use GPPrefs SERVICES or Powershell scripts or whatever to also do the same thing.
Now the print spooler services are stopped dead. Printing has now stopped.
Dateline: July 6th - The Patch Arrives
The July 6th patch seemed like it would get the problem solved. From the July patch notes: https://support.microsoft.com/en-us/topic/kb5005010-restricting-installation-of-new-printer-drivers-after-applying-the-july-6-2021-updates-31b91c02-05bc-4ada-a7ea-183b129578a7
After putting the July 6th patch everywhere, Microsoft ALSO suggested that you use “Point and print Restrictions” policy setting to force “Show warning and elevation prompt” as follows:
Setting the value to 0, or leaving the value undefined, allows non-administrators to install signed and unsigned drivers to a print server but does not override the Point and Print Group Policy settings. This is the default value. Consequently, the Point and Print Restrictions Group Policy setting can override this to allow non-administrators to be able to install signed and unsigned print drivers to a print server.
But one day later, this was overcome with some example code. Here’s the original tweet and video: https://twitter.com/gentilkiwi/status/1412771368534528001
Ack ! Back to Printnightmare and re-shut down all print servers ! OMG.. run for the hills !
Now the print spooler services are stopped dead. Printing has now stopped.
Dateline: Aug 10 - Patch 2 is released (Aka Slam the door shut / no more non-admin access for Print Drivers.)
That’s it, no more Mr. Nice guy. Microsoft decides to go nuclear at this problem. They release another Patch for Aug 10.
Changes the default privilege requirement for installing drivers when using Point and Print. After installing this update, you must have administrative privileges to install drivers.
You need to be a local admin to do anything Printer-y. Technically this was already true; as standard users could never install, say, local print drivers from some unusual source.
Users who are used to finding printers by the Click to Print method are simply blocked at showtime.
Now, there’s a little SIDE NOTE here (Tip of the Hat to Hasain Alshakarti from TRUESEC security @Alshakarti). The door MAY NOT EVEN BE COMPLETELY SHUT. MS released CVE-2021-36958 Aug 11, 2021 that describes the LPE/RCE Windows Print Spooler Remote Code Execution Vulnerability. Depending on the version of the driver the elevation prompt is not triggering as shown by Benjamin Delphi as seen here https://twitter.com/gentilkiwi/status/1425154484167188480
Here’s what it looks like (in pictures, not a video) when a user attempts to click to print on a printer (where the drivers have never been installed).
Step 1: Find the printer and get initial prompt
Step 2: Final prompt requiring local admin access to proceed
So, the August 10th patch really did close the door for the good guys.
Now what? How do we let them back in?
Now that the door is shut, how do we open it for SOME people?
So first thing’s first. If the spooler is stopped by ANY of those original methods above, then, nothing else is ever going to work. You’ll have to back out any change which killed the printer spooler.
Then, after that I’ve rounded up a few POSSIBLE workarounds. Some anecdotally and others from Microsoft’s guidance here (https://support.microsoft.com/en-gb/topic/kb5005652-manage-new-point-and-print-default-driver-installation-behavior-cve-2021-34481-873642bf-2634-49c5-a23b-6d8e9a302872) which we’ll review in a bit.
Additionally, I want to show how there’s also a slew of other workarounds if you happen to be a PolicyPak Customer. I’ll field these at the end.
Tip 1: Just keep using Group Policy Preferences to deliver printers to those who need it. (Maybe. Will likely work.)
So this whole Printnightmare is basically trying to solve the problem of a user making a choice where to print (and that vector being insecure.)
But there isn’t any problem with real admins making choices to deliver printers via Group Policy Preferences (even after the patches are in place.) That still works. Sure, I realize this is a little “Apples and Oranges.” Because GP Preferences is not “Click to Print”.
But if you could use Group Policy Preferences to mass-deliver printers like this to your domain-joined machines, you could still be a-ok. Here’s an example.
Note there still can be problems. If the server is 2016 (or OLDER, like 2012, 2012R2)... and the drivers are “v3” drivers, then… users are still prompted to re-install them as admins. Gah ! The workaround is to upgrade your server’s print drivers to v4 drivers if they are available (which, there may not be.)
Tip: If you want to see what version of the drivers you're using, on a target machine run the Print Manager utility (again, this is on the endpoint where you already use the printers.) Then, see this column to determine driver type.
The details are documented here by MVP Susan Bradley (@susanbradley): https://www.computerworld.com/article/3630629/windows-print-nightmare-continues-enterprise.html
I’ll update this space if there’s more on this story.
Tip 2 (which didn’t work for me): Use Point and Print Restrictions to specify the GOOD servers
I mention this tip, because it really looks like it SHOULD work, but just.. Doesn’t. Read thru it anyway, because we’ll make some lemonade out of lemons here in a minute.
Maybe this worked AFTER the July patch but stopped working AFTER the August patch but I didn’t expressly test that.
The idea would be to simply specify the GOOD servers, so the user wouldn’t be able to print to any BAD servers. Example configuration below (again, doesn’t work) which would specify the servers, but then also NOT prompt for elevation.
Microsoft’s text says:
NoWarningNoElevationOnInstall = 0 (DWORD) or not defined (default setting)
UpdatePromptSettings = 0 (DWORD) or not defined (default setting)
NoWarningNoElevationOnInstall set to 1 makes your system vulnerable by design.
The result on endpoints would be something like this..
Again: This proposed workaround did not work for me, your experience might be different.
If I was asked how to solve this problem within Microsoft engineering, this is how I would have proposed to do it: Specify ONLY the good servers and make it so Standard Users couldn’t make changes from that list.
Mayyyybe Microsoft will fix the problem (again) this way, but no signs yet.
Tip 2 (From Microsoft): “Just screw it” and let Standard Users do whatever they want anyway (NOT RECOMMENDED)
So, of course it sounds like, and would be a terrible idea to just turn off the new August 10th protection, even after you’re patched. If you wanted to do that, the advantage of course is that Standard Users could click to print on whatever servers they wanted. Which of course, would also be bad if the bad guys used this against you.
This tested out a-ok as you can see here.
Again, not a great idea, but it does work, even if the August patch is on the machine.
Tip 3: Combine (non-working) Tip 2 and (working) Tip 3 to attempt to make something (reasonably) secure
So Tip 2 where we specified the GOOD server didn’t work. And Tip 3 where we specified that non-admins could overcome this driver thing… that worked.
I’m trying here to specify a SPECIFIC server that’s good, and therefore everything else is bad.
I’m then using the special bypass registry key to let non-admins install the drivers.
This should work, right ?
Let’s break it down.
Well, this works when 100% by itself. If I attempt to connect to some rogue server, I do get blocked. Yay.
But then when I add the bypass registry item…. It doesn’t work.. YET !
So far, this is equally bad as just letting non-admins install their own drivers.
The secret to making this work is a SECOND setting, which expresses where the “Package Point and print - Approved servers” are.
Then, I get the basic / final / good result I want:
Non-Admins can point to good “specified” servers
Non-Admins cannot point to rogue servers
Even though I showed how to do this, Microsoft does go out of their way to say : “Important There is no combination of mitigations that is equivalent to setting RestrictDriverInstallationToAdministrators to 1.”
I don’t know exactly what the differences are between the super secure admin only method and the “open the doggie door to the right people” method I just stepped though, and maybe Microsoft doesn’t want us to know. :-)
Okay: Really, what are some OTHER SECURE workarounds?
First of all the method I showed above is only “OK” because Microsoft stated that you aren’t really in a totally secure state. The second problem with the method I showed is that you have to keep on top of your print servers all the time and update the TWO policy settings to accommodate. Maybe this is fine in a small or static environment. Or maybe this could get out of hand quickly.
Solid Workaround 1: Using PolicyPak Least Privilege Manager + Printer Helper Tool
I’m going to jump RIGHT TO THE END, and tell you what I think is the ideal solution problem, and, sorry to say, this is not a free solution. And, I’m the founder and CTO of the solution, so, maybe I’m a little biased.
But in short, here’s a video where you can use PolicyPak Least Privilege Manager to elevate the installation of printers on any server, while the person is a standard user.
[youtube_player yt_code="AM5fPLQch4U" kb_url="https://kb.policypak.com/kb/article/1160"]
Why is this the best method?
First, you don’t have to enable this for all users; just the users who need to do this from time to time.
Second, you don’t need to really be opening up admin rights everywhere; it’s just for this key case.
Third, it quacks like the native tool, but does require one click to get it started, instead of “Print to click.”
And lastly, this technique also works for installing LOCAL printers, which might also come in handy.
This also dovetails nicely into the whole “Zero Trust” model. Let only the users who need this technique get this technique. Remove local admin rights and reduce your attack surface.
Solid Workaround 2: Pre-install the drivers to the machine (somehow)
If you are able to magically pre-install the drivers into the machine’s local cache then you get a hall pass here.
You can do this in your image, or, if you already have 10,000 machines out there, you can script your way to glory.
Tip of the hat to my friends at PDQ for the inspiration for this tip. You can find their lashup here: https://www.pdq.com/blog/using-powershell-to-install-printers/
The idea I tested manually, worked awesome, as you can see here. The gist is to use PNPUtil to get the drivers pre-installed as an admin. Then the user can click on the network printer and they’re done. No prompts. It just works.
There’s another method that I found, which involves getting a machine prepped with all your drivers and backing up the driver store and preparing them as a “package.” Printbrm.exe and PrintbrmUI.exe are the in-box utilities which do this. A good write up if you want to do this is here (https://lakeforestconsulting.com/adminprintnightmare/). You can then deploy the package using SCCM, Intune, PolicyPak or another method of your choice.
Solid Workaround 3: Use the same printer driver as many times as you can
I found this one from here: https://community.spiceworks.com/topic/2328739-best-way-to-deploy-printnightmare-proof-printers-to-non-admin-users?page=1#entry-9250842 (Courtesy https://community.spiceworks.com/people/ethanharris). I’ll just quote him and make this easier for everyone:
“We get around it by using the same universal HP driver on our print server for all black & white printing. Since they already have the print driver installed they get no admin prompt when they add other printers.
For each color printer we create two printers on the print server, "PrinterName" and "PrinterName-Color" with the actual driver for that printer model used on the -Color version. It is understood by staff that anyone can add a printer to print in B&W but IT needs to enter the admin password if they need to add a printer to print in color. This also helps to cut down on printing costs as color printing costs 10x as much as B&W on our printing contract.“
Are there Workarounds if I’m not domain joined?
Yes, Here’s the others I’m able to come up with. If you have more to add, let me know and I’ll add them here and give you credit.
Using an MDM Service + PowerShell
If you use an MDM service like Intune, then you could use the script method from the PDQ guys (see above). That’s a little more than I want to get into here, but it should get you near the goal.
Using PolicyPak + Least Privilege Manager
I already mentioned the Least Privilege Manager and the Helper Tool; here's a link to an alternate video which shows a few more magic tricks of the Helper Tools.
Using PolicyPak + Remote Work Delivery Manager
We’ve had this KB around for a while; but it works great to overcome Printnightmare. The gist is that you copy install files from, say, Dropbox, Amazon S3 or Azure storage, then script the install.
Using PP Scripts to Deploy Printers for Users (so they don’t have to.)
This method is similar to the PP + REmote Work Delivery Manager Method, but could be useful if you only have PP Scripts and Triggers and not Remote Work Delivery Manager.
[youtube_player yt_code="km6Oac4jDDk" kb_url="https://kb.policypak.com/kb/article/928"]
Using PolicyPak Cloud + GPPRefs TCPIP Printers
This could help some people, so I’m adding it here.
Final thoughts about Printnightmare
The world is heading toward Zero Trust. Which means every piece of the network needs (or should have) explicit allow rules.
We believe in this idea at PolicyPak, and can do blocking by default for regular downloads, Windows Store downloads, and even block stuff on USB sticks.
With the Printnightmare patch, they are basically saying the same thing: trust no one but your admins. But if you give someone local admin rights on the box, you’re shooting yourself in the foot.
Remove local admin rights and get to Least Privilege land (using PolicyPak Least Privilege Manager). And then give back what you need to with rules to open up specific admin-like-things to your end-users (like adding printers) as needed.
Hope this guide helps you out.
Not everyone needs to be a power user. Some employees just need a basic computer to get the job done. Examples include front line workers, home based users or those who access everything over a web browser. While these users may only need the very basics, internal IT doesn’t want to skimp on security for them either. It is for these types of situations that Microsoft began offering Windows 10 in cloud configuration. Windows 10 Cloud Config simplifies the desktop experience for end users as well as the management experience for admins. You can use it to configure new devices or reuse existing hardware in order to extend the life of older machines. Because Windows 10 in cloud config is a Microsoft-recommended device configuration, you also know that it is secure. Windows 10 Cloud Config is suited for the following types of scenarios:
- Devices that do not require complex setting configurations
- Are not dependent on any type of on-premise infrastructure
- Uses a basic set of apps that are curated by internal IT such as Microsoft Teams and Edge
To be clear, cloud config is not Windows “lite.” It is the full Windows experience. You deploy devices with it or assign it to existing devices using Microsoft Endpoint Manager. From there you manage these machines just like any other MDM enrolled device. These devices are configured with Windows 10 endpoint security settings and automatically updated through Windows Update for Business. Admins don’t have to do a thing. All user data is stored and redirected to OneDrive. For this reason, Microsoft does not recommend cloud config be used for shared devices.
Cloud config can be deployed to any device running any one of the following operating systems.
- Windows 10 Professional
- Windows 10 Enterprise
- Windows 10 Education
Cloud config requires the following licenses:
- Azure Active Directory Premium P1
- Microsoft Intune
- Microsoft Teams
- OneDrive for Business
- Windows 10 Pro (minimum)
Note that Microsoft recommends Enterprise Mobility + Security E3 and Office 365 E3.
There are two ways to deploy Windows 10 cloud config in Microsoft Endpoint Manager. The easiest way uses the new guided scenarios feature. Cloud config is one of the sets of customized steps that admins can use to quickly deploy devices for a given scenario. You can also configure cloud config manually in order to deploy it using the following steps:
- Create an Azure AD group
- Configure device enrollment
- Deploy a script to configure Known Folder Move and remove built-in apps
- Deploy apps
- Deploy endpoint security settings
- Configure Windows Update settings
- Deploy a Windows 10 compliance policy
- Additional optional configurations
For this example, we are going to use guided scenario. You will find it by going to Troubleshooting + support > Guided scenarios. The first time you access this section you may have to click the “Got it” button as shown below.
Then choose Deploy Windows 10 in cloud configuration by clicking the Start button for that scenario.
The first step involves the naming of the devices during the Windows Autopilot enrollment process. If you choose not to use the device name template, all devices will use the OEM name. If you select “Yes” however, you can then create a unique pattern to name the devices. You can use the %RAND:x% variable to include a string of random characters after Fabrikam. The X represents the number of random characters allocated. In the example below we are appending 4 random characters to Fabrikam.
The next step is to select the apps you want to deploy to these devices. Because Cloud Config is about keeping things simple, Microsoft recommends keeping the list of included apps to a minimum so that your cloud config devices are simple to use and manage. By default, the guided scenario includes Edge and Teams. As you cannot remove them when using the guided scenario, you must uninstall them at a later time if you don’t want them. You can then select additional Microsoft 365 optional apps as is shown in the screenshot below.
Next is the Assignment phase in which you will assign the cloud config devices to a group. Here you can either create a new group or choose an existing group as is shown below.
After you create your group and click “Next” you will be presented with a Summary showing all of your selections. You can go back to the other tabs, and change any values you added. Once you verify your settings then click Deploy.
You can then watch as the resources are being created along with their status. If there's an error, then the guided scenario isn't deployed, and all changes are reverted. Once deployed successfully you can use the monitoring and reporting features in the Endpoint Manager. If you want to remove any of your chosen settings, go to each policy created by the cloud config guided scenario and configure the settings to Not Configured. Then redeploy the policies.
In the end, cloud config is just a recommended set of configuration settings for Windows 10 for standardized deployments that are easy to manage. While it isn’t for everyone, it is an ideal fit for specific user scenarios.
Those who have updated to Windows 10 Build 19042.964 via Windows 10 KB 10 KB5001391 have noticed the addition of the News and Interest Feed on the Windows taskbar. The feed is announced on the taskbar by a weather icon by default that represents nearby current sky conditions. With a click of the mouse you can gain access to nearby weather and traffic conditions, updates on your personal stocks as well as stories on professional or personal interests. You can customize the stories and publisher sources by clicking on “Manage Interests” at the top as shown in the screenshot below. A web browser will then open allowing you to tune your fee. You can also select “More options” on headlines and article in order to share or save them.
Users can also customize how the newsfeed appears on the taskbar. By default, the weather conditions icon and temperature are shown. By right clicking on the icon, users can modify this in the context menu as shown below.
Windows admins will understandably want to manage the appearance of this new feature. This can be done through either Windows Group Policy or Microsoft Endpoint Manager. In order to access the associated Group Policy you need to obtain the Feeds.admx file. You can access it by navigating to C:\Windows\PolicyDefinitions on a machine that has the update installed. Copy the Feeds.admx file and paste it into your group policy central store. You will also need the Feeds.adml file as well. Those in the U.S. will find this file in the en-US directory. The two locations are shown below.
You must then create a computer side policy by going to Computer Configuration > Administrative Templates > Windows Components > News and interests > Enable news and interests on the taskbar. You can then choose to enable or disable the feature. Enabling the policy will allow News and interests on the taskbar and give users access to the applicable context menu. This will give users the ability to turn it off if they wish. The policy is enabled in the screenshot below.
You can also manage News and interests in Microsoft Endpoint Manager as well by creating a Configuration profile. Select Windows 10 and later as the platform and choose Settings catalog (preview) as the profile type. After naming the policy, select “Add settings” to access the Settings Picker as shown below.
Then do a search for “news” and select “News and interest” and enable the setting as shown below.
You can also manage News and interests via the registry. Go to:
Then assign a value accordingly:
- 0 – show icon and text
- 1 – show only icon
- 2 – disabled
Of course these registry values can be deployed using Group Policy Preferences as well. The screenshot below shows the designated registry key.
After taking Jeremy’s Group Policy Class, my staff and I were able to reduce the number of help desk calls dramatically! Thank you Jeremy!
MCSE Systems Administrator, Royal Canin USA, Inc
If you want to learn everything about Group Policy, then you need to attend Jeremy’s training class, I came in as a novice and left an expert. Jeremy speaks to you, not above you.
Desktop Computing Specialist, Princeton University
Jeremy is absolutely the best presenter and instructor I have seen. I really would like to get the same type of instruction for other IT courses. He has a wonderful way of sharing his knowledge in a simple, effective way that leaves you thinking “Wow! That makes so much sense. ” After taking his “Group Policy Online University” courses and reading his books I feel like a pro — truly understanding Group Policy. And whenever I have a question, Jeremy is always there to help. I really liked the fact you can review the online course TWICE. It’s almost like getting TWO courses in one. Add in his weekly tips and simply you can’t go wrong. Thanks Jeremy — and your staff for creating a great learning experience that I benefit from every day.
Network Administrator, Mondial Assistance
I used the tools he demonstrated and those tools saved me a lot of time and money.
Senior Network Engineer, County of Orange, CA
After hearing Jeremy speak, I was immediately able to confidently use GPMC, and successfully deploy many GPO’s which have saved my sanity and added years to my life. Having a copy of Jeremy’s Group Policy, Profiles, and IntelliMirror book on hand has given me instant access to many of those “How does this work in the real world?” questions. Thanks Jeremy, You are awesome!
Lead Systems Administrator
After taking Jeremy’s class, I was able to create and troubleshoot Group Policy in our environment. Others tried to convince me that the “Microsoft Standard” is to have one huge policy, but troubleshooting that policy for them was a nightmare. After they saw how easy it was to create smaller, less complicated policies, troubleshooting became a piece of cake.
Server Administrator, University of Toledo
I was able to apply some of the Group Policy best practices that I had not already implemented. I am also looking forward to implementing the many new Vista/W2K8 GPOs.
Sr. Systems Administrator, Adventist Health Systems
I sincerely enjoyed the class in Boston and I learned a lot. Within two work days of coming back I had a major update to a core product piece of software that, because of your class, I knew to ask for an MSI file for the update and how to properly create a GPO to distribute to the appropriate users and make it do an install without interaction or granting them administrator rights. When they logged in this morning the update applied beautifully. This one process alone has made the whole class worth it to me. With the many other things I learned and will also put to use in the near future and I am extremely happy. Thanks again for coming to Boston.
Tech Support Specialist, Fidelity Bank
After listening to Jeremy, I felt much more confident in working with Group Policy and using it for many benefits in our Organization. The book was a great supplement, too.
Manager, IT Operations, Miller-Valentine Group
Jeremy has a way of explaining things that are down to earth. He takes a potentially dry subject and makes it more fun. These Group Policy courses are invaluable to help me in my job. As we transition to new machines and new operating systems, I can use the information and tools learned in class immediately. The pre-built virtual lab machines made it so I could focus on the labs right away. The hands-on labs are awesome! I am really glad I signed up for Jeremy’s online courses–even though I ended up taking them on my own after work. It was a really good investment.
ATK Launch Systems