Jesse Boehm - Information Technology Consultant

If you are looking for Techstur.com we are currently closed for Interface Work.

Please contact Jesse for IT Consulting, Web Design, Online Marketing and Graphic Design.

This site is currently serves as Jesse's Resume & Article site

Windows 10 – 1607 – Tuning, Optimizing, Customizing the Start Menu and Taskbar for VDI

by – Jesse Boehm

V1.0

Facts:

  • Windows 10 – 1607 Enterprise
  • vSphere 6
  • Tune VM in vSphere
  • Windows 10 – Get Going Fast – Customizing
  • VMware Tools – Typical Install
  • Removing Windows 10 Built-in Apps/Bloatware – Except for Calculator
  • Disable Cortana – Registry via GPO Preference
  • Show Search Icon – Registry via GPO Preference
  • Hide Task View Button – Registry via GPO Preference
  • Disable Show Windows Ink Workspace Button – Registry via GPO Preference
  • Set Power Plan
  • Optimizing OS using BPAnalyzer
  • Optimizing OS using VMware Optimization Tool
  • Disable Windows Defender – Registry via GPO Preference
  • Disable TCP Ipv6
  • Customize Start Menu & Taskbar

Create the VM

Facts:

  • 2 vCPU
  • 4 vRAM
  • 60GB Hard Disk
  • Video Card: 128MB (4 Displays)
  • 1 NIC (VMXNET 3)
  • devices.hotplug = false
  • Disable: Enable Logging
  • Enable Numlock

There is a great article series from Rob Beeksman called Tuning Microsoft Windows 10 for VDI. It is a great series of articles.

Set Video Card Memory to 128 and Max Number of Displays. I set it 4 as it is the Max in vCenter.

NIC Settings. I am using VMXNET 3.

Under the Options Tab > Advanced > General

Uncheck: Enable Logging, Click Configuration Parameters

Disable: Device Hotplug Disabling: (Safely Remove Hardware and Eject Media in Taskbar in OS)

Enable Numlock

Options > Advanced > Boot Options > Force BIOS Setup > Check: The next time the virtual machine boots, force entry into the BIOS setup screen

Once in the BIOS under Keyboard Settings change Numlock to: On

F10: Save and Exit

—-

Operating System Installation

Now that we setup the VM the way we want it we can install the OS. Go through the normal steps till you come the “Get going fast” screen. Here I like to turn everything off I don’t want to send any data to Microsoft, I don’t want my VDI using Location Services, I am not using Hot Spots or sending data to Microsoft or do I want to send Diagnostic Data to Microsoft. So, I turn everything off.

Click Customize

Under Personalization turn everything Off

Under Location turn the setting Off

Under Customize Settings – Connectivity and error reporting turn everything Off

Under Customize Settings – Browser, protection and update turn everything Off

Create your Default User

Meet Cortana – Select Not Now. This will not Disable Cortana. I will do this via GPO.

—-

Remove Built-in Apps

The first thing I like to do is talk to my Customers about their Windows 10 Image, Built-in Apps and show them what Windows 10 Start Menu is going to look like by Default. In some cases, this is the first-time customers have seen what the Default Windows 10 Start Menu is going to look like. I provide them with a list that they can check off what they want to be removed.

In this case, we are going to remove everything but Windows Calculator from the Current User and all Future Profiles created from this Image.

This includes the Windows Store

There is a great article How to Uninstall Desktop Apps and Windows Apps in Windows 10 by Shawn Brink. I highly recommend reading this article and using it to customize your Bloatware.

From PowerShell run as Administrator you can run
Get-AppxPackage | Select Name, PackageFullName

To Remove all Built-in Apps from the current account but Calculator account run
Get-AppXPackage | where-object {$_.name –notlike “*windowscalculator*”} | Remove-AppxPackage

You will see some errors in the PowerShell window as there are apps that can’t be removed, this is normal.

You can remove one app at a time or all apps. It can be time consuming. A sample of removing all apps at once would be:
Get-AppxPackage | Remove-AppxPackage

To Remove all Built-in All from all New Account Created After
Get-appxprovisionedpackage –online | Remove-AppxProvisionedPackage -online

To Remove all Built-in Apps except Calculator from all New Account Created After
Get-appxprovisionedpackage –online | where-object {$_.packagename –notlike “*windowscalculator*”} | Remove-AppxProvisionedPackage -online

This is what the results of: Get-AppxPackage | Select Name, PackageFullName look like after I uninstalled the Built-in Apps/Bloatware

Some Apps that are left behind on the Start Menu in Windows 10 1607 are:

Connect
Contact Support
Cortana (You can Disable this via Local Security Policy or GPO but the menu item will remain)
One Drive (You can Disable this via Local Security Policy or GPO but the menu item will remain. There are ways to remove the menu item but I am not manually deleting or changing permissions on System Files for this article)

Microsoft says this is by design.

You can remove Connect & Contact Support using some tools, but they are a use at your own risk.

Remove Connect
http://winaero.com/blog/how-to-uninstall-and-remove-connect-in-windows-10/

Remove Contact Support
http://winaero.com/blog/how-to-uninstall-and-remove-contact-support-in-windows-10/

I have tried these before and they work fine. For the purpose of this article I am leaving them out.

That takes care of the Bloatware.

I plan to Disable Cortana via GPO later and I can do the same thing for OneNote if needed

Disable Cortana – GPO

Create a New GPO for the 3 Settings I will make all settings will be Computer Settings

Computer Configuration > Administrative Templates > Windows Components > Search > Allow Cortona > Disabled

Show Search Icon, Task View Buttons from Taskbar – GPO

We are going to create two Registry Policy Preferences

Value: Update
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search
New DWORD: SearchboxTaskbarMode
Value: 1

Value: Update
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
New DWORD ShowTaskViewButton
Value: 0

Clicking on Search on the Start Menu looks like this

Search for Notepad

VDI Optimizations

Set the Power Plan

From Command Line as Administrator

High Performance:

powercfg.exe /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

Set Display to Never turn off:

powercfg.exe -change -monitor-timeout-ac 0

—-

BPAnalyzer (www.bpanalyzer.com)

Download the Analyser and the latest XML File

Install BPAnalyser, make sure you run the app (Run as Administrator)

I leave Windows Search Enabled here. I can disable this later via GPO. I have found lately I have been getting requests for it to be enabled so I handle it via GPO. Few services you should be aware of in Optimization if you are using Citrix Provisioning Services. When optimizing Microsoft Software Shadow Copy Provider & Volume Shadow Copy will get set to Manual or Disabled. You will need to set these to Automatic and make sure they are Started before you Start you PVS Image Capture Process.

With Windows Defender, even if you set it to be Disabled it won’t. This is from my experience. I use a GPO to Disable Windows Defender.

I add this to my VDI Optimization GPO:

Computer Configuration > Administrative Templates > Windows Components/Windows Defender > Turn off Windows Defender > Enabled

I also find the same with Disabling IPv6 and setting the High-Performance Plan. That is why I do them as separate steps. This is at least an issue in Windows 10 – 1607.

My GPO looks like this

BPAnalyser Settings – Before Optimization

With BPAnalyser I except the Defaults except for Windows Search. I find End Users get really mad. This is a Customer by Customer Item.

BPAnalyser Settings – After Optimization

Uninstall BPAnalyser – You don’t need it in your image

Reboot the VM

—-

VMware Optimization Tool

BPAnalyzer is a must for core Optimization. VMware Optimization Tool lets you really drill down into the OS and Optimize specific recommended settings for VDI. One thing to note, The VMware Optimization Tools has a function for removing the Built-in Apps in Windows 10, I have never seen it work. I use PowerShell for this.

VMware OT lets you Optimize based on your use case. I recommend the disabling the Services & Scheduled Tasks, those are key in optimization. The Sounds and Visual Affects you need to be careful with and way Optimization Vs. User Experience. There are many Registry Settings that VMware OT recommends by Default.

These are the settings I recommend. I am not taking away Visual Effects in this Optimization. That can be Optimized based on testing and resources.

Apply HKCU Settings to Registry

• Advertising ID
• Change Explorer Default View
• Cursor Blink
• Cursor Blink Rate
• Devices Autoplay
• Feedback
• Lock Screen Title Migrate
• On Screen Keyboard – Key Stroke Delay
• On Screen Keyboard – First Repeat Delay
• On Screen Keyboard – Next Repeat Delay
• Pocket Outlook Object Module(POOM) – Work Result
• Pocket Outlook Object Module(POOM) – Run Cookie
• Preview Desktop
• Reduce Menu Show Delay
• RSS Feeds – Disable
• Search Engine – Disable
• Show me tips about windows
• Speech,inkinking,&typing setting – Implicit Ink Collection
• Speech,inkinking,&typing setting – Implicit Text Collection
• Speech,inkinking,&typing setting – Contacts
• Speech,inkinking,&typing setting – Privacy Policy
• Start Menu App Suggestions
• Sync Language
• Temporary Internet Files to Non Persistent
• Unified Store
• Unistore
• USB

Apply HKCU Settings to Registry

• Action Center
• Background Image
• Boot Optimize Function
• Computer Maintenance
• Crash Control – Writing event to the system log – Disable
• First Login Animation
• Increase Service Startup Timeout
• Lock Screen
• Network Location
• Notification Center
• Previous Versions Capability
• Searching PC
• Send Settings To Cloud
• Send Windows Updates
• Synchronizing Files
• Telemetry Collection
• Turn off hard disk after
• Windows Error Reports
• Windows update – Disable

Disabled Features – All

Apply Visual Effect Settings To Current User – All

Apply Visual Effect Settings To New Users – All

Disable Scheduled Tasks – All

Disable Services – All but Device Setup Manager. Also, Microsoft Software Shadow Copy Provider & Volume Shadow Copy Service if you are using Citrix Provisioning Services or other Imaging Software.
Disable UAC – All

Improving Login Time – All

Remove Apps – None

Sound Scheme – I will list what I don’t turn off

The VMware OT will also create an output file of the settings, Registry and other that it makes that you can reverse. Between BPAnalyzer and VMware OT you can really Optimize the OS. There are 100’s of settings to Tweak.

Default View VMware OT

This after running BPAnalyser on the machine. You can see the VMware OT has a lot more recommendations.

You can Export the Analysis Report and it will give an HTML file which is awfully hard to read as an image.

Once you make your selections Click Optimize

Optimization Results

Disable TCP Ipv6

Open Command Prompt, regedit and hit Enter.

Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters

Create a DWORD named “DisabledComponents”, and set it to “ffffffff”

Reboot VM

Custom Start Menu & Task Bar

With Windows 10 – 1607 Microsoft added the ability to Customize the Taskbar and well as the Start Menu Tile Menu. We have already remove all the Built-in Apps so our Start Menu need some control. This is another area to get your Customers Feedback on to ask what they want to see.

For this purpose, I am going to group my Brower’s and Office 2016 on the Start Menu Tile Menu. On the Task Bar I am going to get rid of Edge and Add Internet Explorer & Chrome.

I want all users to receive this view by default

Step 1: Arrange the Start Menu and Taskbar the way you want it

Step 2: Export the Start Menu to File

• Open PowerShell as Administrator
• Export-StartLayout -Path C:\windows\temp\StartMenuLayout.xml

Taskbar is not included in this Output. Also by Default Internet Explore will not work with the path:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk

This file needs to modified to Include Taskbar.

There is great Article on this from Jörgen Nilsson
https://4sysops.com/archives/pin-apps-to-the-taskbar-in-windows-10-1607-with-group-policy/

Our File is going to look like this:

Download File StartMenuTaskbarNoEdge.txt

Things to note, we are adding a header:

We are changing the Path for Internet Explorer from

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk

To

%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk

You will need to copy “Internet Explorer.ink” into the C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories Folder

Now I have my new XML File which I have called: StartMenuTaskbarNoEdge.xml

I am copying that to c:\windows\temp on the VDI Desktop

To Import this into the Default Profile

• Open PowerShell as Administrator
• Import-StartLayout –layoutpath C:\windows\temp\StartMenuTaskbarNoEdge.xml -Mountpath C:\

To test this, we need to create a User on this machine and login to make sure we have the Start Menu and Taskbar.

—-

I am logging in as VDI Test

Success!

You can see Edge is gone from the Taskbar, my Tile Menu is the way I wanted it and I am logged in VDI Test. I also have IE on the Start Menu and Taskbar.

This is the way to do this directly on the Image. You can do this with System Center Configuration Manager. The articles I reference will help you with this:

https://4sysops.com/archives/pin-apps-to-the-taskbar-in-windows-10-1607-with-group-policy/
• Another Article for adding IE to the Start Menu that will help with SCCM is: http://ccmexec.com/2015/09/customizing-the-windows-10-start-menu-and-add-ie-shortcut-during-osd/

But if you don’t have SCCM & MDT available this is the Quickest and Easiest way to do it.

—–

Final think I do I run a Disk Cleanup

Final Words

That is how I quickly Tune, Optimize, Customize the Start Menu & Taskbar in Windows 10 1607.

I am sure there is more you can do or less you can do. This is platform agnostic. I am not Optimizing this for Citrix, VMware or Microsoft, they have their own Best Practices. I do many different modifications based on the Platform I working with and what Customers Require. Optimizations also changes based on Customer Requirements. This is just what I find works for me and gives be a good baseline for Performance with Windows 10 in VDI.

 

logo image
RSS
Follow by Email
Facebook
Facebook
Twitter
Visit Us
SHARE
PINTEREST
PINTEREST
LinkedIn
Instagram