There are many Microsoft features which we never use. To get a better End User Experience in Windows 10 below are some tweaks you may wish to implement. Some are Services, Some are Regedits.
A lot of services are started when using windows 10. Some
services we don’t need and some have to be disabled like windows update because
in a VDI system the update will be done on the Golden Image. All these services
need to be disabled even if they are manual.
Service | Status | Elevated PowerShell Command |
Background Intelligent Transfer Service | Manual | set-service BITS -startuptype Manual |
Diagnostic Policy Services | Disable | |
Connected User Experiences and Telemetry | Disable | set-service DiagTrack -startuptype disabled |
Diagnostic Service Host | Disable | set-service wdiservicehost -startuptype disabled |
Diagnostic System Host | Disable | set-service WdiSystemHost -startuptype disabled |
Diagnostic Tracking Service | Disable | |
Function Discovery Provider Host | Disable | set-service fdPHost -startuptype disabled |
Function Discovery Resource Publication | Disable | set-service FDResPub -startuptype disabled |
Home Group Provider | Disable | set-service HomeGroupProvider -startuptype disabled |
Security Center | Disable | set-service wscsvc -startuptype disabled |
Shell Hardware Detection Service | Disable | set-service ShellHWDetection -startuptype disabled |
SSDP Discovery Service | Disable | set-service SSDPSRV -startuptype disabled |
SuperFetch | Disable | set-service SysMain -startuptype disabled |
Themes | Disable | set-service Themes -startuptype disabled |
Windows Connect Now - Config Registrar Service | Disable | set-service wcncsvc -startuptype disabled |
Windows Module Installer | Disable | set-service TrustedInstaller -startuptype disabled |
Windows Search Service | Disable | set-service WSearch -startuptype disabled |
Windows Update | Disable | set-service wuauserv -startuptype disabled |
Second, these services are not running, but they are set to
Manual or Manual (Trigger Start). Although they are not running, disabling them
will prevent their accidental execution in a VDI environment. (Caution:
Disabling these services can result in applications not working appropriately
and will increase troubleshooting time).
Service Name | Default State | Default Status | Notes |
AllJoyn Router | Manual (Trigger Start) | Stopped | |
Application Layer Gateway Service | Manual | Stopped | Not needed for VDI environments. |
BitLocker Drive Encryption Service | Manual (Trigger Start) | Stopped | Not needed for VDI environments. |
Block Level Backup Engine Service | Manual | Stopped | Not needed for VDI environments. |
Bluetooth Hands free Service | Manual (Trigger Start) | Stopped | Not needed for VDI environments. |
Bluetooth Support Service | Manual (Trigger Start) | Stopped | |
BranchCache Service | Manual | Stopped | Used for network savings to a WAN and
not typically needed in VDI |
Computer Browser Service | Manual (Trigger Start) | Stopped | |
Encrypting File System Service | Manual (Trigger Start) | Stopped | |
Fax Service | Manual | Stopped | |
Home
Group Listener | Manual | Stopped | Not used within corporate environments. |
Internet Connection Sharing (ICS) | Manual | Stopped | Not used within VDI environments. |
Offline Files | Manual (Trigger Start) | Stopped | |
Optimize Drives | Manual | Stopped | Should only optimize in the master
image |
Retail Demo | Manual | Stopped | |
Sensor Monitoring Service | Manual (Trigger Start) | Stopped | |
UPnP Device Host Service | Manual | Stopped | |
Windows Error Reporting Service | Manual (Trigger Start) | Stopped | Disable if logs are not being gathered
and analyzed |
Windows Media Player Network Sharing | Manual | Stopped | Not typically used in VDI environments. |
Windows Update | Manual (Trigger Start) | Stopped | Only update the master image. |
WLAN AutoConfig | Manual | Stopped | Not typically used in VDI environments. |
WWAN AutoConfig | Manual | Stopped | Not typically used in VDI environments. |
Xbox Live Auth Manager | Manual | Stopped | Not typically used in VDI environments. |
Xbox Live Game Save | Manual | Stopped | Not typically used in VDI environments. |
Xbox Live Networking Service | Manual | Stopped | Not typically used in VDI environments. |
More settings (as above)are on the internet.
See:
https://www.citrix.com/blogs/2015/12/17/windows-10-optimization-for-xendesktop/
https://virtualfeller.com/2015/11/03/windows-10-optimization-part-1/
https://virtualfeller.com/2015/11/09/windows-10-optimization-part-2/
https://virtualfeller.com/2015/11/16/windows-10-optimization-part-3-scheduled-tasks/
https://virtualfeller.com/2015/11/19/windows-10-optimization-part-4-user-interface/
https://virtualfeller.com/2015/12/01/windows-10-optimization-part-5-runtime/
Disable NLA for RDP sessions.
Even if you set the uncommand the NLA, still RDP does not
want to connect.
To disable NLA, edit the registry:
To disable NLA :
Open regedit on
another computer on the same network.
Under the File menu click “Connect Network Registry…”
Enter your computer name and click Ok. If this fails to connect you may be out of
luck.
Scroll down in the left pane to find the newly added server.
Navigate to this Key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp
Find the value “SecurityLayer” and change the data to 0 (that is a zero).
Windows defender is using a lot
of resources (CPU and MEM). It is nice to have but not necessary on a VDI
system. So go in the group policy
Computer Configuration >
Administrative Templates > Windows Components > Windows Defender
And enable Turn off Windows
Defender.
Windows 10 comes with a lot of stuff we don’t use in a VDI
environment. Uninstall these items because they use space and some cpu/mem and
never being used in a VDI session.
To do this you need to open powershell as administrator. You
can remove each app with the following command (some can but some can’t):
Uninstall 3D Builder:
Get-AppxPackage *3dbuilder* | Remove-AppxPackage
Uninstall Alarms and Clock:
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
Uninstall Calculator:
Get-AppxPackage *windowscalculator* | Remove-AppxPackage
Uninstall Calendar and Mail:
Get-AppxPackage *windowscommunicationsapps* |
Remove-AppxPackage
Uninstall Camera:
Get-AppxPackage *windowscamera* | Remove-AppxPackage
Uninstall Contact Support:
This app can’t be removed.
Uninstall Cortana:
This app can’t be removed.
Uninstall Get Office:
Get-AppxPackage *officehub* | Remove-AppxPackage
Uninstall Get Skype:
Get-AppxPackage *skypeapp* | Remove-AppxPackage
Uninstall Get Started:
Get-AppxPackage *getstarted* | Remove-AppxPackage
Uninstall Groove Music:
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Uninstall Maps:
Get-AppxPackage *windowsmaps* | Remove-AppxPackage
Uninstall Microsoft Edge:
This app can’t be removed.
Uninstall Microsoft Solitaire Collection:
Get-AppxPackage *solitairecollection* | Remove-AppxPackage
Uninstall Money:
Get-AppxPackage *bingfinance* | Remove-AppxPackage
Uninstall Movies & TV:
Get-AppxPackage *zunevideo* | Remove-AppxPackage
Uninstall News:
Get-AppxPackage *bingnews* | Remove-AppxPackage
Uninstall OneNote:
Get-AppxPackage *onenote* | Remove-AppxPackage
Uninstall People:
Get-AppxPackage *people* | Remove-AppxPackage
Uninstall Phone Companion:
Get-AppxPackage *windowsphone* | Remove-AppxPackage
Uninstall Photos:
Get-AppxPackage *photos* | Remove-AppxPackage
Uninstall Store:
Get-AppxPackage *windowsstore* | Remove-AppxPackage
Uninstall Sports:
Get-AppxPackage *bingsports* | Remove-AppxPackage
Uninstall Voice Recorder:
Get-AppxPackage *soundrecorder* | Remove-AppxPackage
Uninstall Weather:
Get-AppxPackage *bingweather* | Remove-AppxPackage
Uninstall Windows Feedback:
This app can’t be removed.
Uninstall Xbox:
Get-AppxPackage *xboxapp* | Remove-AppxPackage
I have done it the easy way, get rid of all the stuff by
typing:
Get-AppxPackage ** | Remove-AppxPackage
If you want to reinstall all the package you can do so in
the powershell with the following
command:
Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage
-DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}
After these settings has be done, Windows 10 will run with
less CPU, memory and network use. If windows 10 is not used, the consumption of
CPU will be 0 to 2%. This is nice. RDP sessions are fast and no wait times.