Windows Server 2016 Optimization Script.
Tested on: Windows Server 2016 build 14393.0.
Description: This script disables services, removes scheduled tasks and imports registry values to optimise system performance on Windows Server 2016 running in a Citrix SBC environment.
Warning: This script makes changes to the system registry and other configurational change and as such a full backup of the machine or # snapshot if running in a virtual environment is strongly recommended. Carry out full testing before introducing image to production.
Note: You should review ALL optimisations this script makes and determine if they fit in to your environment. Not every optimisation suits all environments. For example, this script disables key Hyper-V services for use in non-Hyper-V environments. If you use Hyper-V, you must enable these services.
Instructions: To avoid failure, run PowerShell as an administrator before running this script and make sure you are using the 64-bit version of PowerShell.
Download (click below):
Windows Server 2016 Optimisation Script (26340 downloads)
Any problems with the script or if you want to make your own improvement suggestions then comment below.
Open the script using a text editor or PowerShell ISE to see what exactly the script does.
Steve Elgan
April 14, 2017Great script. You may want to consider setting power to high performance and also disabling Server Manager task.
George Spiers
April 15, 2017Thanks. I did consider including disabling Server Manager on startup at the time however that is an HKCU key. I’ve included High Performance.
RICHARD HUGHES-CHEN
May 18, 2017Was looking for some 2016 optimizations to test in my POC.
If using Citrix App Layering would it be best to run in the OSLayer or as another layer?
There seems to be a similar script configured with Citrix App Layering in the OS machine tools scripts folder C:\windows\setup\scripts\Optimize.html
What is the best thing to do?
George Spiers
May 18, 2017Run optimisations in the OS Layer. The script I provide is specifically for Windows Server 2016 and does contain a tonne of optimisations that have been checked and evaluated thoroughly. The Optimisation builder you mention does contain probably the same optimisations that my script has but not as many.
Paul
July 5, 2019Nice script. Can I also get the excel spreadsheet. Thanks in advance.
George Spiers
July 9, 2019Sent.
James
August 16, 2019George, have you posted the excel workbook for others, or is it available by request? If by request only at this time, can you also send me a copy of it? Thanks mate.
George Spiers
August 19, 2019Sent.
Ruth
November 6, 2019Please send med the XL sheet,.. and thanks!
George Spiers
December 1, 2019Sent.
steve johnson
December 1, 2019Gorge what email did you send it too haven’t received anything except the response from you sent.
George Spiers
December 3, 2019You should hopefulyl have it now
David
February 18, 2020Please send med the XL sheet,.. and thanks!
George Spiers
May 10, 2020Sent.
Ivan Conde
February 20, 2020May I have the Excel?
Thank you very much for your efforts!
George Spiers
May 10, 2020Sent.
Brian W
March 16, 2020I’d greatly appreciate an Excel listing as well. Thank you for your efforts!
George Spiers
May 19, 2020Sent.
Rogerio Araujo
April 15, 2021Hi George,
Thanks for this great script. Could you send me the excel sheet?
Asif
November 23, 2022Good Script. Can u pls share the excel sheet along with link to deploy MCS Master image.
Alberto
December 27, 2019Does the Excel file contain any further documentation about the script? Could you send me a copy?
We use a WSUS server to deliver updates to our RDSH collection. I think your script disable some services required to fetch the updates. I would like to adapt the script before implementing it.
Thank you very much!
Alberto Pérez Pastor
January 4, 2020Hi George,
Could you send me the excel file?
Thank you!
George Spiers
February 17, 2020Sent. Sorry for the delay.
eltjo
May 19, 2017Hello George,
how does your script compare the Base Image Script Framework (BIS-F) that Login has released?
Regard,
Eltjo
George Spiers
May 19, 2017BIS-F can run defragmentations, clean out profiles, rearm Office, run Antivirus etc. and many other preparation type tasks. My script is purely disabling Services, disabling Scheduled Tasks, removing Active Setup, decreasing Event Logs size and much more to get the best performance out of your image.
Matthias Schlimm
June 14, 2017You can use this Optimization Script in a combination with BIS-F, copy it to the custom preparation folder in BIS-F and it would be automatically executed if you BIS-F starts.
Steve Elgan
May 31, 2017I pinged you on twitter too but thought I’d add it here. https://blogs.technet.microsoft.com/secguide/2017/05/29/guidance-on-disabling-system-services-on-windows-server-2016-with-desktop-experience/
George Spiers
May 31, 2017Thanks – I had a review. I’m going to include 8 more services to be disabled. The document also says to disable some services but I’m not going to disable via the script. Examples are Print Spooler (required to see printers so not wise to disable). The document also doesn’t specify to disable services such as Remote Access Connection Manager. My script disables it since there is no need to manage dial-up and VPN connections. Also the script disables superfetch (service that improves performance over time) – not useful for stateless machines.
Steve Elgan
May 31, 2017Cool. What are your thoughts on configuring the script in such a way that you can pass a variable for a Citrix config vs. just a general 2016 server config? Right now I just comment out lines that are specific to Citrix workloads when I want to use it on a general 2016 server. I’m still learning PoSh but i’d be willing to work up a PoC for you to review.
George Spiers
May 31, 2017The script is focused on SBC regardless of whether the image is deployed via Citrix, RDS, VMware. Everyone’s taste will be different in terms of what to keep and remove. That is why I think it’s easier to suggest that each person reviews what this script does and then remove or comment out lines to their liking.
RICHARD HUGHES-CHEN
June 1, 2017Hi George, have you included the additional services to be disabled in the script? Thanks
George Spiers
June 1, 2017Hey. Yes they are included now.
RICHARD HUGHES-CHEN
June 1, 2017just noticed the comments around Hyper-V which is what I am using.
# in non-Hyper-V environments. If you use #
# Hyper-V, you must enable these services.
George Spiers
June 1, 2017That’s right. Edit the script and remove the lines relating to disabling Hyper-V services.
Jochen
June 23, 2017Hello,
I used this script in my test environment and it is great, Much more responsive Xenapp Server.
The only thing I have now is that during logon I am stuck for about 20-30 seconds on the following message: please wait for user profile service.
After this everything is lightning fast.
Any idea why i have to wait for the user profile service? (We use roaming profiles)
George Spiers
June 23, 2017Thanks for the feedback. Have you tried taking roaming profiles out of the equation to see if it still occurs? That would be my first action, pick a machine, put it in maintenance mode, disable roaming profiles and test.
Frank
July 10, 2017hi george
i take also bis-f script from matthias schlimm, and now there is the CTXOE supported. so your script is awesome, but did you test if CTXOE make the same now, or did you make some additional special things, so that both scripts will be good for optimization?
regards
frank
George Spiers
July 10, 2017The Citrix Optimizer tool has 71 different types of optimisations for Windows Server 2016. The script here has 170+ different optimisations. There are about 5-7 different unique optmisations in Citrix Optimiser with the majority of those left out of my script intentially. So my script has 90% of optimisations that are included in the Citrix Optimizer tool but around 80+ additionals. For example Citrix Optimizer does not disable Xbox related Scheduled Tasks whereas my script does. You are safe to use both, which I highly recommend.
Steve Elgan
August 1, 2017George,
Have you considered adding any of the optimizations mentioned in Rory’s blog post here? http://rorymon.com/blog/?p=3951
For example the other offload options. Or what about disabling power management on the NIC card?
George Spiers
August 1, 2017No to disabling power management on NIC as I’ve not encountered that setting interfering with VDAs before and the script sets power to High Performance anyway. The script does disable TCP Large Send Offload but no other of the offload settings. I’ll have a look in to them to decide if they should go in the script. Thanks
Jonathan Aumont
August 23, 2017HI,
this is an awsome script. I was wondering if you have a word or excel document that list all the features that you do modify in your script?
George Spiers
August 23, 2017Sure, I have your email so I’ll send the Excel document across.
Jonathan Aumont
August 24, 2017thank’s for this. I’ll wait for it.
Fernando
April 24, 2019George, would it be possible to get a copy of that spreadsheet also?
George Spiers
April 24, 2019Sent.
Ralph Howland
May 21, 2019Can I get that spreadsheet as well…
George Spiers
May 27, 2019Sent.
ankit
July 8, 2020Hi george,Can you send me the excel workbook too.
Jorge
October 9, 2019Hi George, would it be possible to get a copy of that spreadsheet and word file ?
George Spiers
October 15, 2019Sent.
Vincent Caberas
September 2, 2017Hi george,
Thank you for your very good Word. I m interesting too, about the Excel file with the optimization. Thank you
George Spiers
September 3, 2017No problem, I’ll send it to you soon.
Mikael Laine
September 7, 2017Great work George. I’ll have a rundown in our lab environment and provide some feedback. Would it be ok to drop me the excel sheet?
George Spiers
September 8, 2017Thanks and sure – I’ll get that across to you later today.
Chet
May 16, 2019Hi George,
Would you mind sending me the doc as well?
By the way, we do not use citric or any other solution other than straight windows RDP environment. Any suggestions for server 2012 R2?
George Spiers
May 16, 2019Sent. I have a specific WS2012R2 script: https://jgspiers.com/windows-server-2012-r2-optimisation-script/
Chet
June 26, 2019hi George,
I have not received the script.. Wuold you resend it?
George Spiers
June 27, 2019Sent. Please check again.
Chet
June 26, 2019hi George,
Sorry I meant the excel doc. Would you resend it please?
Roland
November 8, 2019I would like to have a custom script to optimize my clients server 2012 and 2016 and 2019. They all use Hyper V and have share drives as well.
Thanks in advance
George Spiers
December 3, 2019I have a 2012 R2 script which you can find on the blog (use Search box). Server 2019 still to come.
jonathan Aumont
September 8, 2017Hi George,
One quick question for you. Is there any part in your script that might affect the Microsoft supportability of the Windows 2016 OS?
Regards.
George Spiers
September 8, 2017I can’t exactly comment for sure on Microsoft’s support terms and conditions. I can’t imagine they would deny support because you have disabled a Scheduled Task or Service, they would likely just ask you to enable it. If system settings are configurable then they are there to be changed and modified. The script itself does not perform anything that is irreversible.
jonathan Aumont
September 8, 2017Thanks for your quick reply. I agree with you on this. I was juste checking if you hade face a situation that it could break support. Thank again. really appreciated.
George Spiers
September 8, 2017No problem at all! 🙂
Reinhard
September 13, 2017Hi George,
great script, thanks for sharing! Could you please also send me the Excel?
George Spiers
September 13, 2017Thanks. Yes I have just sent it.
Owen Reynolds
September 15, 2017Amazing!
I ran this on a XD 7.15 / Win 2016 in my home lab tonight, and noted a huge performance in logon and over-all UI latency!
Great work , George!
One question – would this script be appropriate for non Citrix Windows Server 2016 installs? Looking over the various changes, they seem appropriate for Win 2016 as it’s used in other roles: File servers, active directory controllers, store front , SQL , etc.
Owen
George Spiers
September 15, 2017Cool, it’s nice to hear good results! In regards to running it on other servers, I guess it is up to you. Personally I do not run optimisations on non Citrix servers, but it would not be a bad practice at all.
Owen Reynolds
September 15, 2017I’ll give it a shot on my other servers, thx again.
Wold you be able to send me the xls that contains the items changed by this script?
George Spiers
September 15, 2017Have sent it.
Gareth
September 18, 2017George this is amazing work! Thank you for sharing, you’ve saved me hours of work. Could I push my luck a little further and trouble you for a copy of your excel document please.
George Spiers
September 18, 2017Thanks – I will send you the document shortly.
Michael
September 28, 2017George – great job! Love the script! Thank you so much for sharing! Could I also have a copy of the Excel spreadsheet? Thanks!
George Spiers
September 28, 2017Thanks. I have sent it across to you.
Zach
September 29, 2017Will this also disable/remove Windows Ink Workspaces?
George Spiers
September 29, 2017No I can confirm it doesn’t.
Alexander Schwarz
October 5, 2017Hello George
I´m very happy that I found this great script!
Thank´s a lot for sharing 🙂
Can you also send me the excel sheet?
George Spiers
October 5, 2017Thanks. Glad you like it. I’ve just sent the sheet across.
Tommy
October 8, 2017Thansk George
Will this work on Windows 2016 RDP server ?
Regards
/Tommy
Tommy
October 8, 2017Hi Goerge
Actual my Questions was is it possible to run this script on Windows 2018 RDP server
that running in vmware as guest?
/Tommy
George Spiers
October 8, 2017Hi Tommy, yes this will work fine on RDSH.
Tommy
October 9, 2017Great George and Thanks!
Sorry for my bad English 🙂
Regards
Tommy
George Spiers
October 9, 2017Your English is great actually! 🙂
Aaron
October 10, 2017FYI
Your ClearPageFileAtShutdown setting isn’t correct, its re-running the NtfsDisableLastAccessUpdate command.
George Spiers
October 10, 2017Thanks for pointing that out. I’ve corrected it.
Srinivas
November 7, 2017Hi George,
can this script run on Win2k12 R2.
Thanks,
Sri
George Spiers
November 7, 2017No I do not advise this as the script was created for WS2016 and may contains Services, Scheduled Tasks and so on that are not available on WS2012 R2.
Jos van Rijn
December 20, 2017Your script runs just fine on 2012 R2. I’m seeing the same performance boost as in 2016. Services and tasks that aren’t available in 2012 R2 get skipped, so no problem there.
Thanks so much for sharing this with us.
George Spiers
December 21, 2017Brilliant thanks for sharing that feedback with us.
Brian Mooney
November 10, 2017George,
How does your script work compared to the Citrix latest Citrix optimization tool? Have you compared the two?
George Spiers
November 10, 2017I haven’t checked recently but last time I did check the script had over 80+ additional customisations.
Steve Turnbull
November 23, 2017Hi George, thanks for all your hard work on this script. Please could you send over the excel sheet too for reference. Many thanks!
George Spiers
November 24, 2017Have sent it.
Tom
November 30, 2017Great work, George. Can you please send me the Excel sheet? Thank you.
George Spiers
November 30, 2017Sent!
Satya
December 15, 2017George , Please send me the excel sheet. Thank you.
Satya
December 15, 2017Great work, George. Can you please send me the Excel sheet? Thank you.
George Spiers
December 15, 2017Hi, yes I have just sent it.
Pingback: Image Optimization Tools Comparison Matrix - Dennis Span
Rene
December 25, 2017Hi this helped me alot can you also send me the excel sheet please ?
George Spiers
December 28, 2017No problem I have sent it.
liam
December 18, 2019Can i get a copy of the excel file too please?
George Spiers
December 29, 2019Sent.
SRasschaert
December 29, 2017Hi George, have you considered creating a VMware OSOT template? (https://labs.vmware.com/flings/vmware-os-optimization-tool)
Or a Citrix Optimizer template (https://support.citrix.com/article/CTX224676)
George Spiers
December 29, 2017Hi, I have had plans to create a Citrix Optimizer Template, just have not got round to it yet 🙂
Ivan
December 29, 2017Hi, can you send me a word or excel, with changes in script?
George Spiers
December 29, 2017Sent.
Fadi
January 2, 2018Hello George,
I would like to test the script but wanted to check the excel/word sheet so I can review the services/task that are configured.
Thank you!
George Spiers
January 2, 2018No problem I have sent it.
Aasim
January 6, 2018Hi, I would like to test the script but wanted to check the excel/word sheet so I can review the services/task that are configured.
Thank you!
George Spiers
January 8, 2018Sent.
Njordur
January 10, 2018Excellent script, sped up my server a lot.
I’m also interested in the excel/word sheet… Do you mind sending that to me as well
/Thanks for your hard tuning 🙂
George Spiers
January 10, 2018No problem, thanks. I have sent the spreadsheet.
Chassidy
January 10, 2018I’m also interested in the excel/word sheet. Thanks for suck an awesome script!
George Spiers
January 10, 2018No problem I have sent it.
Daniel Gifford
January 11, 2018Looks like a great script for Server 2016. Been encountering lots of slowdowns on Server 2016 especially in RDS/Citrix environments. Can you send me the Excel sheet as well? Thanks!
George Spiers
January 11, 2018Yes have sent it.
mart
January 18, 2018I’m also interested in the excel/word sheet. Thanks for suck an great script!
George Spiers
January 18, 2018Sent!
Anonymous
January 18, 2018Hi George, great script.
I have applied these optimations to 2x XenApp 7.15 servers running on VMWare. When I rebooted them I keep getting a warning on my network card (no internet). It appears as though I can still access the internet and local network OK. Outlook won’t connect though, to my internal Exchange server. I have tried turning off the firewall, wicksock reset on the NIC, removing and readding the NIC. No luck. Anything else you can think of from your script that might be causing this? It was working before I applied the script.
George Spiers
January 18, 2018Is your OS up to date? Are you using a VMXNET3 NIC? I’ve tested the script against Windows Server 2016 with December patches on VMware and I don’t see the same.
Anonymous
February 14, 2018I have this issue on several occasions using this script.
Windows does indeed check a Microsoft site for connectivity, using the Network Connectivity Status Indicator site. There are a few variations of the connection checking process:
NCSI performs a DNS lookup on http://www.msftncsi.com, then requests http://www.msftncsi.com/ncsi.txt. This file is a plain-text file and contains only the text Microsoft NCSI.
NCSI sends a DNS lookup request for dns.msftncsi.com. This DNS address should resolve to 131.107.255.255. If the address does not match, then it is assumed that the internet connection is not functioning correctly.
This happens.
The only workaround for me was:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Under the Internet key, double-click EnableActiveProbing, and then in Value data, type: 0.The default for this value is 1. Setting the value to 0 prevents NCSI from connecting to a site on the Internet during checks for connectivity.
Brad
January 22, 2018Hello
Great Script, can i get a copy of the excel document.
George Spiers
January 22, 2018Sent.
Mayur
January 23, 2018Please send me a link and or the excel doc.
Many thanks!
George Spiers
January 23, 2018Sent!
Mayur
January 24, 2018I received it, thanks!
Had a question on the disablement of Active Setup for speeding up logon times. I have used it for Win7 VDI with local profiles and it does make a big difference. I had learned that from Unidesk a while back. However, I have run into a small problem with XenApp 7.12 WS2012R2. For some strange reason, the published Outlook 2013 (transform) first time MAPI profile is not being created automatically and I am curious to find out if having disabled Active Setup might be the cause of this issue because if I understand it right it is required for roaming profiles.
George Spiers
January 24, 2018What happens the first time, is autodiscover becoming stuck? The second time it works? I’ve not experienced the same issue, I’m using Outlook 2016 – have not used 2013.
Thanks
Anonymous
January 25, 2018Yes, in my case it consistently keeps failing and throws up a ambiguous pop up message:
“Cannot start Microsoft Outlook. Cannot open the Outlook window. The set of folders cannot be opened. Your profile is not configured.”
At first I thought the issue was related an AppLocking GPO settings but that didn’t solve the issue.
I am contemplating whether to restore the Active setup registry settings. I deleted both the 32bit and 64bit settings and I did that on the VDA template image.
George Spiers
January 25, 2018Restore them even temporarily to see if that fixes your issue?
Anonymous
January 25, 2018I did restore the reg settings and it now works.
George Spiers
January 26, 2018Thanks, I also tried using WS2016 and Outlook 2013 and did not have the same problem.
Mayur
January 26, 2018In my case i had deleted the active setup stubs on a WS2012R2 and it seems to be breaking the auto discovery and mapi profile creation for published Outlook 2013. MS must have changed the use of Active Setup to speed up logon performance.
Btw – A side question do you happen to have any example scripts for the customization of the default profile for published desktop? Having to do it manually is really a pain and it breaks the unattended build process of a Xenapp server.
George Spiers
January 29, 2018I don’t nope. What do you mean by customising the default profile? I normally perform NTUSER.DAT customisations which apply then to users logging on to the box. I have a script for that, but they are just registry modifications.
P.s. I did not experience the same issue as you regarding Outlook 2013 and WS2012 R2 but glad you have resolved the issue for yourself.
Mayur
January 30, 2018I am trying to build a pooled MCS Win7 Image using MDT and would like to try and make it zero touch. I have tried various ways to import the registry settings which are mainly to do with setting the Visual Effects to custom and only enabling “Use visual styles on windows and buttons” into the NTUSER.DAT but for some reason I just can’t seem to get this to apply for any new users who logon.
George Spiers
January 30, 2018Using a template machine, set the visual effects to custom and then uncheck/check the effects you want/don’t want. Then grab the value of “UserPreferencesMask” under “HKCU\Control Panel\Desktop”.
You then want to make sure this UserPreferencesMask binary value is created for all users via WEM/GPO or else by using the NTUSER.dat method. You also want to make sure VisualEffects is set to 0x3 using the same methods (WEM/GPO/NTUSER.DAT).
Mayur
January 30, 2018Yes, I have managed to get the correct hex value as the below plus there are other settings:
[HKEY_USERS\Temp\Control Panel\Desktop]
“UserPreferencesMask”=hex:98,12,03,80,10,00,00,00
I place the above with other settings into a reg file called VisualEffects.reg
I have a batch file for importing the reg into default profile but for some reason the settings do not seem to be applying to new profiles. I have done this before but it does not seem to be working for Visual Effects.
REG LOAD HKU\Temp C:\Users\Default\NTUSER.DAT
REM Configure the default user profile
REM Customise Visual Effects Theme.
REG IMPORT VisualEffects.reg
REM Unload the default profile hive
REG UNLOAD HKU\Temp
exit
George Spiers
January 31, 2018Someone else had the same issue and had to edit NTUSER.dat manually.
Mayur
January 31, 2018Yes, the default user profile customization has always been tricky to automate. I will have to resort to suspend the MDT task sequence. Do the manual changes and copy the NTUSER.DAT.
Anonymous
January 24, 2018Hello George,
how are you?
Thank you for the script. Do you have one for windows 10 as well?
Cheers,
Pavan
George Spiers
January 25, 2018Not at this time unfortunately.
Dan
January 25, 2018I would also greatly appricate a link to the excel doc please
George Spiers
January 25, 2018Sent
Anonymous
February 8, 2018George,
I’m running into some issues with this script. I’m using 7.15.1000 on server 2016 with MCS as my provisioning method. After running the script on my master image some of my users are not loading the default background or any start menu icons. All of these settings are configured through WEM 4.5 and were working before the script. Is there a registry change in the script that I missed that could cause this?
Your feedback and work on this script are much appreciated.
George Spiers
February 8, 2018Nothing that I know about. I use MCS, WEM and so on but do not see the same. Seems like the WEM agent is failing to apply settings periodically. I would expect this to happen to all users if it was a registry change. Have you checked WEM logs to see why actions are failing?
Anonymous
February 12, 2018That was my thought as well. I looked at the log parser and didn’t find anything. Maybe the WEM cache on the VDA is corrupt? Not really sure why WEM would be having such a problem. Have you run into WEM doing these kinds of things?
George Spiers
February 12, 2018I use a Scheduled Task on system startup which runs an Agent cache refresh and Norskale Agent Host service restart. Details are referenced at https://jgspiers.com/citrix-workspace-environment-manager/#Troubleshooting
Otherwise, if settings are failing to apply you should be getting something in the “Citrix WEM Agent Init” or “Citrix WEM Agent” log files under %UserProfile%.
Alejandro V.
February 8, 2018George,
I just applied the script to my Terminal Server that is running Windows Server 2016. However, after the reboot, I was no longer able to RDP to it. I had to restart the RDS service. I restarted the server again and the same issue. Do you know what might be the issue?
George Spiers
February 9, 2018What Hypervisor are you running on?
satya
June 18, 2019same here, I ran optimisation script and rebooted. I am unable to RDP to it afterwards. My environment is on Vmware ESXI 6.5.
George Spiers
June 20, 2019I’ll have a look in to it.
Jeff
January 29, 2020Did you ever find anything out on this? I’m in the same boat – VMware 6.5 environment, unable to connect to RDSH servers after a reboot until I manually restart the RDS service.
I’ve used your script before on some standalone RDSH servers in my same VMware 6.5 environment and it worked GREAT. It seems to have some effect on the Connection Broker, possibly?
Jeff
February 5, 2020I’ve narrowed it down to one of the following two services in the script that causes the issue:
NcbService – Network Connection Broker
NcaSvc – Network Connectivity Assistant
Commenting both of those out allows the RDS environment to function normally.
Gwyn Llewelyn
February 12, 2018Hi George, thanks for your time on this script. I came across it whilst trying to troubleshoot slow logon times for my 2016 XenApp server PVS vDisk. Could you send the spreadsheet for further info? Thanks.
George Spiers
February 12, 2018Sent.
David M.
February 12, 2018Great Script. Could you send me a copy of the Spreadsheet as well.
Thanks
George Spiers
February 12, 2018Yes sent.
nhr
February 13, 2018Awsome info. Please George, could u send me spreadsheet info copy? thanks in advanced
George Spiers
February 13, 2018Sent.
Morten
February 14, 2018I too really like a copy of the Excel sheet, please.. 🙂
Morten T
George Spiers
February 14, 2018Sent.
Anonymous
February 15, 2018Thanx! 🙂
Bastuaab
February 15, 2018I also would like to receive a copy of the excel sheet. Thnx
George Spiers
February 15, 2018Sent.
Paul
February 20, 2018This looks fantastic, can I get a copy of the spreadsheet please?
George Spiers
February 22, 2018Hi I’ve sent the document across.
Mayur
February 25, 2018I was looking at improving the performance of my lab environment which seems to have taken a hit after I built a new XD7.15CU1 site using WS2016 VMs. So I decided to try out this script by first running it on my Delivery Controller VM which only has 2GB RAM so it was very sluggish and constantly kept updating with Windows/defender updates so I thought see if it helps with reducing the memory and cpu overhead and make it more responsive. First impressions it seems to have done a good job and as far as I can tell nothing is broken.
Next I will be testing it on my XenApp build. Perhaps, it might be a good idea to create another script for optimizing the WS2016 OS for Citrix delivery controller/storefront server builds.
George Spiers
February 26, 2018Thanks for the feedback.
Gregor Mottl
March 2, 2018Hi George, could you please send me the excel, thx for the great script. Greg
George Spiers
March 3, 2018Sent!
frhell
March 7, 2018Thanks for your job! Can i also receive copy of spreadsheet?
George Spiers
March 7, 2018Sent!
Matheen
March 16, 2018Hi, Can I have copy of spread sheet please?
George Spiers
March 16, 2018Sent!
vl
March 19, 2018Are there concerns applying this script for Server 2016 Core? – and: would you mind sending me the excel sheet as well? –
thanks
Anonymous
March 19, 2018vl
… I measn: besides Citrix applications of course – or are these settings specific for citrix environments?
thanks
George Spiers
March 19, 2018The script performs actions to reduce the Operating System footprint. I’ve not tested it on Server Core, but providing that Server Core uses the same set of services and scheduled tasks etc. there should be no issue. That said, a lot of these settings are for EUC type environments, so you might be best commenting out things that are not needed in non-EUC environments. I’ve sent you the guide.
Rick
March 31, 2018Hello,
I tried your script but had after an error on outlook, can I have your excel so I can have more details to adapt your script
Thank you 🙂
George Spiers
March 31, 2018Sent!
Josh
April 1, 2018Hi George,
Could you please email me your Excel spreadsheet?
George Spiers
April 3, 2018Sent.
Andrew
April 5, 2018Could this same script be used for windows 10 in a Citrix VDI environment?
George Spiers
April 5, 2018Overall no I would not recommend it, as I haven’t tested it nor focused on Windows 10 optimisations but hopefully I will later in the year. There may be things you can pick from this script, and there will be optimisations specific to Windows 10 that are not part of this script.
Raj
April 7, 2018Would you please send a copy of excel sheet.
Thanks
George Spiers
April 7, 2018Sent.
Bauke
April 16, 2018Hi George,
Could you please email me your Excel spreadsheet?
George Spiers
April 16, 2018Sent.
Walter Dominick
April 18, 2018Hi sir,
Could you please e-mail me your excel file? Thanks in advance.
George Spiers
April 18, 2018Sent.
Vaqar Hasan
April 18, 2018I would also greatly appreciate a link to the excel doc please
George Spiers
April 18, 2018No problem I have sent it.
PSK
April 24, 2018Great work! Could you please share the excel work book? Thanks.
George Spiers
April 24, 2018Sent
Don
April 26, 2018Hi George,
I was able to successfully download the W2012 optimisation script, however, I have tried downloading this script from a couple of different machines and browsers but when I try to open the zip file, it is reported as an invalid file.
George Spiers
April 26, 2018I’ve noticed this before, resolved by upgrading to the latest version of WinRAR of 7zip for example.
Kendrick Gray
May 7, 2018About to run your script on a 2016, 7.15 CU1, we have an issue with mpnotify.exe holding logins for 30 seconds, and overall slower performance. Can you send me a copy of the changes it makes.
George Spiers
May 8, 2018Sent.
Alan Behan
January 5, 2024Sorry to raise a very old issue but came across something similar recently and was wondering if you were able to get to the bottom of the mpnotify.exe holding the login for 30 seconds? Thanks for any insight.
Richard Lawson
May 14, 2018Morning, I’d be very interested in the list, could you send me a copy please George?
George Spiers
May 14, 2018Sure. I have sent it.
Marius
May 15, 2018Would you please send me a copy of the excel sheet?
Thanks
George Spiers
May 15, 2018Sent.
Michael
May 18, 2018Hi George,
I am building a new xenapp 7.15 for my company. Just come across this site and script. I have run Citrix Optimiser on my win2016 build already. want to see whatelse changes your script will do for optimise the image. Can I have a copy of the excel before I apply the script please? thank you very much.
George Spiers
May 18, 2018Sure, sent.
Pelle Dahlkild
May 21, 2018Hi George,
I am about to replaces my existing RD-farm and your script seems super!
Could you plz also send me a copy of the list over all tweaks?
Br, Pelle
George Spiers
May 21, 2018Sent.
Wayne Small
May 22, 2018Hi George – would love a copy of the XLS if possible. Thanks for your efforts.
George Spiers
May 22, 2018No problem. Sent!
David
May 23, 2018Hi George,
Would you please send me a copy of excel sheet.
Thanks
David
George Spiers
May 23, 2018Sent.
Simon
May 23, 2018Can you please send me a copy of the changes made. Windows updates seems to break following using it. I want to just disable WU and BITS services so I can periodically update my master.
George Spiers
May 23, 2018Sent.
Florent
May 31, 2018Great Script, in my case, I enable WSUS and BITS to update servers using wsus
Could you sent me the excel sheet to ?
George Spiers
May 31, 2018Sent.
Luke
June 5, 2018Hey George,
We are having huge performance issues while running Win 2016 server with ESET (or any other AV) on Citrix XenServer. I’am about to check your script. Would you mind sending me this excel file for further reference. Many thanks
Anonymous
June 5, 2018We are having the same issue with 2016 and XenServer Clients we have Sophos AV on the clients. Would like to hear what you guys have done to help with the performance issues.
George Spiers
June 5, 2018So removing Sophos solves the issue? I normally turn off on-read access and keep it set to on-write.
Luke
June 6, 2018So we have had even case with ESET opened because of this. They couldn’t find any reason. This has been escalated to global dev team and we are about to hear back from them. I’m sure they won’t find anything. What I realised yesterday, that on the VM’s that have had performance issues we had Windows Defender feature installed in Win 2016. I was very upset but once I removed this feature from the server performance get back to normal.
Of course I will try the script today to see if I can improve further. I must admit that Windows server 2016 is disaster. Who the hell implemented “Working hours” …in server environment ?? Some genius.
Kendrick
June 5, 2018Contact Info
George Spiers
June 5, 2018Sure – sent.
Mike Scott
June 5, 2018You should probably just link that Excel Spreadsheet here 😉
Ill take a copy please, and Thank you!
George Spiers
June 5, 2018I was waiting for someone to say that 🙂 Sent.
Anonymous
June 6, 2018I have some questions regarding some entries in the spreadsheet. You want me to privately email you back or post in comments? I dont want to clog up comments, but other may find it helpful.
Mike Scott
June 6, 2018Sorry that was me, didnt mean to post as Anonymous
George Spiers
June 6, 2018Sure – post your questions here if you prefer.
Mohammad Shoieb
June 5, 2018Hi George Great Script , Would you please send me a copy of the excel sheet?
Many Thanks
George Spiers
June 5, 2018No problem – sent.
Mike Scott
June 6, 2018This script is mostly pointed to Citrix, but I work for an MSP that deals mostly with RDS, so im not sure these would all apply to a Citrix environment but wanted to ask..Im sure mileage will vary. I looked through the Excel spreadsheet and here are a few that stuck out to me.
Active Setup Registry entries
Would only affect the first time a user logs in.
May cause problems with Windows Media Player being available for users?
Various Registry optimizations
Removes admin alert when system crashes – just the notification if configured right?
Disable crash dump creation – no blue screen dumps?
Disable system crashing to event log – we would have no evidence if anything crashed or why at this point right?
Disables offline files – probably fine for RDS/Citrix environments
Disabled Last Access attribute – could be helpful in auditing/tracking
Reduces Event log sizes down to 64k – would probably be way too small to collect amount of logs if an issue pops-up
Disable Machine Account Password Changes – what is point of this?
Disabling Services
HyperV heartbeat – if the Citrix/RDS server is a Hyper-V VM, wouldn’t disabling this service screw with failover clustering as well as monitoring?
HyperV guest shutdown service – wouldn’t be able to remotely power off or reset?
Microsoft account sign-in assistance – what about Office 365? Have to sign in constantly?
Network connection broker – RDS brokers/gateways would be affected I believe
Sensor monitoring services – this would disable Temp, CPU, fans…all that?
User access logging – Depending on environment could be needed to see who did what. If GPO forces auditing on will this enable itself?
Delete scheduled tasks – these usually run in the middle of the night
Disk cleanup
Defrag
George Spiers
June 7, 20181. I have not had any issues with WMP due to deleting the Active Setup entry for it.
2. No dumps as generally for Citrix non-persistent machines wipes it anyway
3. Again non-persistence and read-only images means would wipe blue scren sdumps and system crashing
4. Event Log reduction is recommendation, normally I would advise to configure event forwarding due to non-persistence, if you have a need for logs
5. This is so PVS/MCS can handle machnie account password changes
6. You have to hash out the section that disabled Hyper-V related services if your VMs will reside on Hyper-V, I made mention of it in the notes
7. No, I use O365 and sign-in works
8. Regarding sensor monitoring service that service is for physical endpoints, adjusting screen brightness and rotation on tablets for example
9. No need for disk cleanup and defrags on Citrix machines as generally non-persistent
Anonymous
June 8, 2018Ok thank you for the quick reply!
GKM
June 12, 2018Excellent script! Thank you so much, this site has been an amazing source of information!
One thing I have noticed is that using MCS, VDA 7.16, and hosted on Azure, you cannot RDP to the VM after running the optimisations. Running some remote commands from Azure you receive errors about there not being enough RPC endpoints available to service the request.
I will do a bit more troubleshooting and let you know what I find.
Again, Thank you for your efforts!
Henry
June 14, 2018I’m about to build out 2016 servers for our XD 7.15 farm. From reading the comments here I’d have to say kudos to you for creating this script George. Also, I”m going to follow everyone and ask for the excel file too :).
George Spiers
June 14, 2018Sent!
Abdulkadir
June 21, 2018Can yo send me the excel file too :).
George Spiers
June 21, 2018Sent.
Anonymous
June 24, 2018Hi George, also interested in the link to the spreadsheet…
Thanks
Leo
George Spiers
June 25, 2018Hi please provide your email address so I can email it to you. You can email me and I will reply.
Sander Paauwe
June 26, 2018Hi all I got this error after some minutes users are logged in. No matter administrator or normal user. Does anyone is aware of this or have a solution. I have been looking for hour but cannot find the root cause.
Faulting application name: SettingSyncHost.exe, version: 10.0.14393.2248, time stamp: 0x5ae3f856
Faulting module name: SettingsHandlers_nt.dll, version: 10.0.14393.2248, time stamp: 0x5ae3f920
Exception code: 0xc0000005
Fault offset: 0x0000000000010893
Faulting process id: 0x2b8
Faulting application start time: 0x01d40d0b61b5f0f9
Faulting application path: C:\Windows\system32\SettingSyncHost.exe
Faulting module path: C:\Windows\System32\SettingsHandlers_nt.dll
Report Id: fa4a8733-03b6-4b3c-ad82-d1e58c1f374b
Faulting package full name:
Faulting package-relative application ID:
Francesc
December 20, 2018I have the same problem. Do you know any solution?
Regards
Christophe Van Laere
June 28, 2018Hi George,
this is a great script, thx a lot!
Could I also get the Excel sheet please?
Thx in advance
George Spiers
June 28, 2018Sent.
Erik Z
July 8, 2018Hi George,
I would like to test the script. Can you send me the documentation?
Thanks in advance.
Greetings Erik
George Spiers
July 9, 2018Sent.
John
July 8, 2018Hi, great job. May I have the excel pls?
George Spiers
July 9, 2018Sent.
CSIM
July 12, 2018Hello
Great job !!
Could you send to me the Excel sheet please ?
George Spiers
July 13, 2018Sent.
CSIM
July 12, 2018Hey George,
Could you add the desactivation of “Mapsbroker” & “SyncHost” services ?
http://www.em-soft.si/myblog/elvis/?p=800
George Spiers
July 15, 2018Maps Broker was already part of the script. I have just added a line to disable the Sync Host service too.
Anthony Zepeda
July 15, 2018Could I get a copy of the excel sheet. Thank you.
George Spiers
July 16, 2018Sent.
Kareem
July 16, 2018just wanted to consider asking if you will be using Windows defender or End Point protection as the script removes Windows defender and you can’t install SCEP without Windows Defender.
George Spiers
July 16, 2018You could edit the script and comment out the line that removes Windows Defender.
Pascal
July 16, 2018Hi George
Thanks for your script!
I do have 2 question:
1) In your change log there is written “Removed line that created DisableTaskOffload DWORD….” however, in my opinion DisableTaskOffload is still beeing set in $CreateRegistry Array?
2) When running the script all StubPath reg-keys are not found. My OS is Win2016 14393.2248
And last, I also would like to have the Excel sheet.
Thanks a lot!
George Spiers
July 16, 2018Thanks, I removed the DisableTaskOffload line from the array you mentioned as it should have been removed before.
I don’t see any issues with the StubPath registry keys and I have tested on a newer build than you have.
I sent you the excel file.
Ron
July 16, 2018George, as always I appreciate the shared information and effort. Could I possibly get a copy of your excel document that lists the modifications for review?
Thank you!
George Spiers
July 16, 2018Sure – sent it to you!
osama moheb
July 17, 2018Hello,
I have a share folder ‘HR Share’ on Server 2016 where I have a security group ‘HR Users’ from AD. I need
HR Users – read, write, edit, modify, rename etc but NO DELETE permission (This folder, sub folder or files none)
HR ManagerHello,
I already tried a lot from sharing permissions as well as Security>Advanced>Edit special permissions but confused.
If I deny delete for HR Users and allow everything else, they still CAN’T rename, save data in MS office file and it creates temp files too. – above all + delete permission (Full Control needed)
what should i do to make this permission full control with out Delete Data form root folder . ?
George Spiers
July 18, 2018You should educate users not to delete files and deploy shadow copy for quick restore just in case, with backups as a higher level recovery option. Assigning just delete permissions isn’t possible.
Dov Banach
July 20, 2018Hi George, can you email me the script?
Dov Banach
July 20, 2018Hi George, can you email me the spreadsheet? Thanks!
Randy Hall
July 20, 2018Thank you for the hard work and research you have put into your script.
Could I get a copy of your Spreadsheet as well?
Thank you again.
George Spiers
July 20, 2018No problem. Sent.
George Spiers
July 20, 2018Sent!
Lucas Santos
July 25, 2018Hi. Good morning, George.
Thanks for sharing this knowledge! Could you please send me the excel document as well?
Thank you very much for the help!
George Spiers
July 25, 2018Sent.
Roth Locke
July 26, 2018Hi.
We have problems with Outlook (2016) after running this script. It wont connect to exchange (2013 onprem) We tried creating new profile in outlook, but it wont go through the wizard, it fails on the authentication part in autoconfigure. We have reversed all the disabled services. Still no effect. We have reinstalled Office 2016. Next part is to restore registry and Scheduled tasks. Anyone else seen this?
George Spiers
July 26, 2018Any error message? Are you getting an autodiscover error?
Chucky
October 30, 2018The proxy setting in the browser was a cause for this in our case. When running the wizard, try with or without the proxy enabled.
CSIM
August 1, 2018Hi George
You changed the process in your script … before I could directly execute the script in post-installation … Now … impossible .. I meet multiples errors (see below)
—————————————————————————————————————————————–
PS C:\_Support\Scripts_V1.15\WS2K16_Optimzation> .\WS2016Optimisations_V9.ps1
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:77 char:2
+ @(“StubPath – Themes Setup.”,”‘HKLM\SOFTWARE\Microsoft\Active Setup\ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:78 char:4
+ (“StubPath – WinMail.”,”‘HKLM\SOFTWARE\Microsoft\Active Setup\Insta …
+ ~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:78 char:26
+ … – WinMail.”,”‘HKLM\SOFTWARE\Microsoft\Active Setup\Installed Componen …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:79 char:4
+ (“StubPath x64 – WinMail.”,”‘HKLM\SOFTWARE\WOW6432Node\Microsoft\Ac …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:79 char:30
+ … – WinMail.”,”‘HKLM\SOFTWARE\WOW6432Node\Microsoft\Active Setup\Instal …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:80 char:4
+ (“StubPath – Windows Media Player.”,”‘HKLM\SOFTWARE\Microsoft\Activ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:80 char:39
+ … ia Player.”,”‘HKLM\SOFTWARE\Microsoft\Active Setup\Installed Componen …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:81 char:4
+ (“StubPath x64 – Windows Media Player.”,”‘HKLM\SOFTWARE\WOW6432Node …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:81 char:43
+ … ia Player.”,”‘HKLM\SOFTWARE\WOW6432Node\Microsoft\Active Setup\Instal …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
At C:\_Support\Scripts_V1.15\WS2K16_Optimzation\WS2016Optimisations_V9.ps1:82 char:4
+ (“StubPath – Windows Desktop Update.”,”‘HKLM\SOFTWARE\Microsoft\Act …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a
property.
Not all parse errors were reported. Correct the reported errors and try again.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : InvalidLeftHandSide
—————————————————————————————————————————————
Could you help me to solve this issue ?
Many thanks in advance
George Spiers
August 1, 2018“before I could directly execute the script in post-installation” – What is this? How are you running the script?
CSIM
August 2, 2018Hi george
I was throwing your script with Powershell commandline
Richard Horton
August 2, 2018George,
May I get a copy of your excel/word document for the script? I would greatly appreciate it.
George Spiers
August 2, 2018Sent.
Ilrobby
August 6, 2018Hi George!
Really thanks for the script!
If you want, to disable all “User*SyncSvc*” services, other keys need to be modified:
$UserArch = Get-Service -Name UnistoreSvc | select -ExpandProperty Name
$UserArch_NUM = Get-Service -Name UnistoreSvc* | select -ExpandProperty Name
$UserContact = Get-Service -Name PimIndexMaintenanceSvc | select -ExpandProperty Name
$UserContact_NUM = Get-Service -Name PimIndexMaintenanceSvc* | select -ExpandProperty Name
$SyncService = Get-Service -Name OneSyncSvc | select -ExpandProperty Name
$SyncService_NUM = Get-Service -Name OneSync* | select -ExpandProperty Name
$CDP_USR_Service_NUM = Get-Service -Name cdpuser* | select -ExpandProperty Name
$CDP_USR_Service = Get-Service -Name cdpusersvc | select -ExpandProperty Name
$CDP_Service = Get-Service -Name cdpsvc* | select -ExpandProperty Name
and used the $ModifyRegistry array to add the 0x4 value to each new key; the set-service cmd, as you said, doesn’t works!
I’ve added also this 3 services, logging options and removed *xbox* app :
WalletService
PhoneSvc
FrameServer
#################Define Logs#############
$date1 = get-date -format d
# replace \ by –
$time = get-date -format t
$date1 = $date1.ToString().Replace(“/”, “-“)
$time = $time.ToString().Replace(“:”, “-“)
$time = $time.ToString().Replace(” “, “”)
$logs = “.\Logs” + “\” + “WS2016Optimisations_” + $date1 + “_” + $time + “_.txt”
#############################################
Start-Transcript -Path $logs
….
code
….
Stop-Transcript
Get-AppxPackage *box* | Remove-AppxPackage
New server, 2016dtc 1607.14393.0, os iso installer, no errors in the events after 2 days (totally idle).
Bye,
Roberto
Anonymous
August 6, 2018Thanks again for the spreadsheet. This script is amazing. As I am beginning to learn powershell I am going to use yours as a breakdown example to teach myself. I really appreciate the time and effort that people like you to help others learn. This helps us all out!
Thanks again.
RICE
August 8, 2018Thanks for this script. Can you also send me the excel document?
George Spiers
August 8, 2018Sent.
CSIM
August 9, 2018Hi George
Could you explain me how i can use/run you script ?
Thanks in advance
George Spiers
August 9, 2018For example, launch PowerShell as administrator -> cd C:\Scripts -> .\WS2016Optimisations.ps1
That is one way to run it.
Eero
August 16, 2018Hi. Thanks for this. Could you send me the excel document also. Thank you.
George Spiers
August 16, 2018Sent.
Dwayne
August 23, 2018Hi George, this is a beauty and helps tremendously. I am sure many appreciate you taking your time which helps us save us time on our side! Keep up the great work. Could I get a copy of the excel document also? Thanks again!
George Spiers
August 23, 2018Sent.
Kelvin
August 23, 2018Hi George,
Many thanks for your efforts, could I also get a copy of the spreadsheet please.
Thanks in advance
George Spiers
August 23, 2018Sent.
Keith Correa
August 24, 2018George, thank you for your wonderful script! Much appreciated! Can you please send me the Excel file? TIA!
George Spiers
August 24, 2018Sent.
Maarten
August 26, 2018Hi George,
Great script, i would also like to receive the Excel file if possible.
Thank you!
George Spiers
August 27, 2018Sent.
Edwin
August 29, 2018Hi George,
Great script, Thanks!
I would also like to receive the Excel file if possible?
Thanks in advance
Edwin
George Spiers
August 29, 2018Sent.
Richard Raaijmakers
August 30, 2018Hello George,
Thanks for making this great script!
I would also like to receive the Excel file. Can you please sent it to me?
Thanks,
Richard
George Spiers
August 30, 2018Sent.
Marco
August 31, 2018Hi George,
Great script and good job. Would it be possible to send me the excel sheet also?
Thank you!
George Spiers
August 31, 2018Sent.
Dom
August 31, 2018what about these settings.
Fairshare- Have not tested this but could help, thoughts?
HKLM\SYSTEM\CurrentControlSet\Serivces\TSFairShare\Disk\EnabledFairShare = 0 (changed from 1)
HKLM\SYSTEM\CurrentControlSet\Serivces\TSFairShare\NetFS\EnabledFairShare = 0 (changed from 1
This has helped many clients servers – Disables all offload settings in network adapters, can drop network for 1-2 seconds.
Powershell
Set-NetAdapterAdvancedProperty “*” -DisplayName “*offload*” -DisplayValue “Disabled”
Robert Murphy
August 31, 2018George,
May I get a copy of the spreadsheet for the Server 2016 Optimization script.
TIA
Murph
Dom
September 2, 2018Hi,
Would also like a copy of the spreadsheet, please
Thank you, will be testing this script 🙂
George Spiers
September 3, 2018Sent!
Marc
September 3, 2018Could you sent me a copy of the spreadsheet please, so I van adapt and test the script, please?
George Spiers
September 4, 2018Sent.
don
September 6, 2018can i please get a copy of the spreadsheet and script?
George Spiers
September 6, 2018Sent.
Biju
September 6, 2018George,
May I get a copy of your excel/word document for this script? I would greatly appreciate it.
George Spiers
September 6, 2018Sent.
Tor Ivar
September 9, 2018Ran the script in a XenApp 7.18 on Windows Server 2016, and after that the servers wouldn’t register with delivery controller until I logged on with RDP. When I rolled back to the previous image, the problem was gone.
Anyone experienced the same?
Leandro Franklin
September 26, 2018George,
May I get a copy of your excel/word document for this script? I would greatly appreciate it.
George Spiers
September 26, 2018Sent.
Dom
September 27, 2018Will you be looking at a script for server 2019?
George Spiers
September 27, 2018Absolutely. Within the next 2 months I will begin to look at Server 2019.
Giacomo
September 30, 2018Hi, I accidentally disable Hyper-V services but I need to re-enable them.
How should I do?
George Spiers
October 8, 2018The services are soft disabled, simply go to services.msc and enable them again. You can use another machine with the same OS version as reference to determine what each Startup Type should be set to.
Stuupdog
October 5, 2018Hi George,
Can you send me a copy of your script and spreadsheet…..I appreciate the effort youve put into this dude! Kudos!
George Spiers
October 8, 2018Sent.
John Ferguson
October 5, 2018Hi George,
I used your script on a base image of server 2016 back in January. We didn’t do much with the template until just recently and we’ve come across an odd issue with any server created from it.
None of the PowerShell storage commands like Get-Disk, Get-Volume, etc. work. No errors, just zero functionality. Even CIM query doesn’t return anything (gcim MSFT_Disk -Namespace root/Microsoft/Windows/Storage).
We rebuilt a fresh image with no optimizations and all that works.
Have you seen this behavior before? I’ve tried sfc /scannow, wmi rebuilds, and more but no luck. We are having to use gwmi commands instead of commandlets to manage storage .
George Spiers
October 8, 2018Not seen it but can try it myself. What Hypervisor are you running 2016 from?
Anonymous
October 8, 2018Hi George,
After further research, it doesn’t seem to be related to your script. I am finding multiple instances of Server 2016 losing functionality of the Storage module in PowerShell.
Pieter
October 10, 2018Hi George,
Can you send me a copy of the spreadsheet?
Thanks,
Pieter
George Spiers
October 11, 2018Sent.
Barry
October 11, 2018Thanks for your script, I am reviewing it. I would like a copy of the excel Sheet if possible. Thank you for all your articles and work. Very helpful!
George Spiers
October 11, 2018Sent.
wiederre
October 16, 2018Hey. Thanks for your Script. I would like a copy of the excel Sheet if possible. Thank you for all your articles and work
George Spiers
October 18, 2018Sent.
Jagdish Bhai
October 23, 2018Hi George,
Can I please have a copy of this excel file.
Thank you in advance
Josh B.
October 25, 2018Hi George,
May I have a copy of the excel sheet?
Thanks for your hard work on these settings! Working to optimize an XA7.15 LTSR/2016 build right now.
Thanks!
George Spiers
October 25, 2018Sure, sent!
Sebastien M.
October 30, 2018Hi George,
May I have a copy of the excel sheet?
Thanks For your script it’s very interesting ! I
Thanks !
George Spiers
October 31, 2018Sent.
Chester Eason
October 30, 2018Could you send to me the Excel sheet please ?
George Spiers
October 31, 2018Sent.
Chester Eason
October 31, 2018Thank you George for the spreadsheet. Excellent work.
After applying the script I find that the detection of a USB storage device (stick) does not work. Might you be able to help identify which of the scripted changes would be involved?
Chester Eason
November 1, 2018I need to mention that the USB storage device (stick) detection was not caused by any changes made by the scripts and apologize for making a hasty assumption. The cause was an oversight on my part for not assigning the required Citrix USB Redirection policy to the Delivery Group.
Xavier Lamprecht
November 6, 2018Thank you George for this script. I’m working on a XA7.15 LTSR CU3/2016 Build atm. Can you also send me the excel document?
George Spiers
November 6, 2018Sent, good luck with the build.
Heinz Anders
November 12, 2018Hi George
Great Work!
Could you send to me the Excel sheet please ?
Thx.
George Spiers
November 12, 2018Sent.
Marc
November 15, 2018Hi George,
Nice script ! Could you forward me the word / excel file ?
Many thanks & Cheers,
Marc
George Spiers
November 15, 2018Sent.
Moorhuhn
November 21, 2018Hi George
Great Work!
Could you send to me the Excel sheet please ?
Thanks
George Spiers
November 21, 2018Sent.
Steve Turnbull
November 21, 2018hi George, just to let you know I have also just tried running this script on Windows 2019 and it ran fine and appears to have improved the performance of the desktop in the same way as Windows 2016. The only issue so far is on the logon screen, the network icon shows an error, even though it’s working fine.
George Spiers
November 22, 2018Thanks Steve. I will make a specific 2019 script in the near future but good to know the 2016 script works.
Martin Loubser
April 29, 2022Hello George,
Did you manage to create a Windows Server 2019 Optimization Script?
Thanks
Christian Hackmann
November 22, 2018Hi George
Great!
Could you send to me the Excel sheet please?
Thanks
George Spiers
November 22, 2018Sent!
Muhammad Kamran
November 23, 2018hi George, thanks for the script, I have applied it on our Windows server 2016. Everything appears to work fine but the only issue so far is on the logon screen, the network icon appears with Red Cross mark showing there is no network, even though it’s working fine when I login. Is there any service or registry key we need to set to overcome this please?
George Spiers
November 25, 2018Yes you need to set the Windows Connection Manager service back to Automatic. As you have found, having this service disabled only shows a red X against the network connection icon whilst at the logon screen.
Nils Krüger
November 24, 2018Hi George
Awesome work. The Script really helped me out.
Could you send to me the Excel sheet please?
Thanks
George Spiers
November 25, 2018Sent.
Adam Egginton
November 26, 2018Hi George,
Thank you for the script. I have struggled to get good performance from our 2016 RDS servers.
I would be very grateful if you could send me the spreadsheet please.
Thanks,
George Spiers
November 26, 2018Sent!
Hal Buruto
November 27, 2018Hi, just came across your script this week. Excellent work. Can I please kindly get a copy of the Excel spreadsheet too?
Thanks!
George Spiers
November 27, 2018Sure, sent.
Dirk Westphal
November 29, 2018Hi George,
Can you send me a copy of the spreadsheet?
George Spiers
November 29, 2018Sent!
Jeremy
November 30, 2018HI George, just saw this script and was hoping to get a copy of that excel sheet as well.
George Spiers
November 30, 2018No problem, sent!
Nick Cardinal-Richards
December 1, 2018Hi George,
Could I trouble you for a copy of the spreadsheet please?
Many Thanks,
~Nick
George Spiers
December 3, 2018Sent!
Far
December 6, 2018Hello Mate,
Could I get the excel sheet as well? Appreciate it
George Spiers
December 6, 2018No problem, sent.
Sonny
December 10, 2018Could I get the excel sheet as well? Thanks
George Spiers
December 10, 2018Sent.
Michael Loemm
December 10, 2018Hi George
Awesome work. The Script really helped me out.
Could you send to me the Excel sheet please?
Thanks
George Spiers
December 10, 2018Check your mail 🙂
Anonymous
December 11, 2018Thank you George, very nice work. Can I get the Excel as well?
George Spiers
December 12, 2018You can but you didn’t leave your email when commenting.
Kapil
January 29, 2019This script looks amazing George, I am currently working on 2016 deployment in our Citrix PVS based infrastructure. I will definitely try this in my infrastructure.
Can you please send an excel copy to me for further analysis.
Thanks in advance.
George Spiers
January 29, 2019No problem – sent.
Pingback: Citrix Optimizer custom template for Windows Server 2016 - Dennis Span
Terry D
December 26, 2018Just an FYI, if you running Appsense, the BITS service is required.
Darren Price
January 3, 2019Hi George, great script can I have a copy of the excel please
George Spiers
January 4, 2019Sent!
Andreas
January 5, 2019great script – may I have a copy of the Excel sheet, too – please?
do you (or someone else) have any experience using the script as a “starting point” for other use cases like IIS or MSSQL-Server? I would like to create a pure base image for our vm’s …
Thanks!
George Spiers
January 5, 2019Sent, and I haven’t used the script on any other server roles myself.
Anonymous
January 7, 2019Very clean code! Good job on this
Sean
January 14, 2019thanks, great script
Ruud
January 14, 2019Hi George,
Great script ! can i have a copy of the excel list as well?
Thnx!
George Spiers
January 15, 2019Sent.
Kay
January 17, 2019Hi George,
thank you so much for sharing your script.
May you can send me the Excel Sheet too?
Thx 🙂
George Spiers
January 25, 2019Sent!
Sean
January 21, 2019Hi George, thanks for your script. I have two virtual esxi server 2016 running as RDS server.
both With Office 365 Proplus. I ran the script on one of the server, and when I open the mail setup icon from control panel, it take ages to open. When ran on the server that i didn’t run the script, it runs fine.
On the server I ran the script on, it works okay for me, maybe cause I am admin, but a normal user, it seems it takes so long to read/write to the registry. Was using the Mail Icon, to set up the outlook profiles. etc. Not sure if I changes anything else on top of running this script, but is there anything to do with loading the registry for users or related ?
George Spiers
January 28, 2019Hello. No have not noticed that. I usually configure mail by just launching Outlook but I have opened the Control Panel mail applet without the same issues.
Anonymous
January 21, 2019Hi I ran your script and I no longer get toast notifications for any programs including Outlook etc. Do you know which part of your script would cause this and also how to re-enable the notifications please?
George Spiers
January 28, 2019The script doesn’t disable toast notifications. Just tested on a WS2016 machine with the script applied and Outlook notifications are showing fine.
Richard
January 29, 2019Thanks George it seems all my RDSH servers are no longer showing toast notifications and I thought it might have been the script that has done this . Great script by the way improved my RDSH server performance.
Sveb
January 29, 2019Hello,
thanks for your work. Before using it productive, could you sent me the spreadsheet?
George Spiers
January 29, 2019Sent.
Kris
January 29, 2019Great Script!! Can you send me a copy of the Excel/Word. Thank you.
George Spiers
January 30, 2019Sent.
Piyush Nayak
February 6, 2019Great script. Thanks for sharing the great work. Would you be able to send me the excel/word doc please? Thanks in advance
George Spiers
February 7, 2019Sent.
Toni
February 13, 2019Hi George,
great great great job!!!!! , thanks for sharing! Could you please also send me the Excel?
George Spiers
February 13, 2019Sent!
Tobias
February 18, 2019Hi George, we recently went productive with our new XA 7.15 / WIN 2016 RDS and have massive performance issues when more than 8 or 9 users are logged on. Therefore I am searching for information to optimise these servers. May I ask you to send me your overview as well? TIA, Kind regards, Tobias
George Spiers
February 19, 2019Sent!
M!ke Hansen
February 19, 2019Hi,
really nice script. Could you please send me the Excel-Sheet too?
Thx in advance!
George Spiers
February 19, 2019Sent!
Mark Mc Grath
February 21, 2019Hi George,
Nice work buddy, I seen you giving a demo at the CUGC in Dublin last year. I am about to build a XenApp lab with Server 2019. Would you send me the excel file as i would like to try your script on it.
Cheers,
Mark.
George Spiers
February 22, 2019Hi Mark, sent. Note that the script isn’t specifically made for 2019, but I’ll bet the majority still applies.
sebi
February 22, 2019hi, i used your script, but now my logon screen is missing, i had configured a picture with gpo, can you tell which settings this is and can i revert only this setting with logon and lock screen?
thanks,sebastian
George Spiers
February 26, 2019Yes in the registry set DWORD “DisableLogonBackgroundImage” to “0x0” under “HKLM\SOFTWARE\Policies\Microsoft\Windows\System”
Magnus
February 25, 2019Hi George,
Can you send me a copy of the spreadsheet?
Thanks,
Magnus
George Spiers
February 26, 2019Hi Magnus, the email you provided was invalid. I got a bounceback saying the domain was not found.
Magnus
February 27, 2019Had an extra char in the domain, should be good now.
Thanks
Tamang
February 25, 2019I am currently working on XA/XD 7.17, 2016 server os in AWS and wanted to implement in this POC. and could you also send me the excel file as well.
Thanks in Advance
George Spiers
February 26, 2019Sent.
Pieter Jan
February 26, 2019can I have also het excel doc ?
and is there a reverse option in the script ?
George Spiers
February 26, 2019Sent. The only reverse option is a snapshot of the VM, which is easy! The script itself has no reverse options.
Eamonn
March 2, 2019Can I have a copy of script and excel?
Thanks
Eamonn
George Spiers
March 4, 2019Sent.
Shantanu
March 7, 2019Hello George,
We are in the process of Building a new PVS image for Win 2016 Server.
Can you please let me know when we are supposed to apply this optimization Script.
Is it after creating the PVS Server Image ? OR Before Creating the Image on the Server Level?
OR Apply this Optimization Script before Sealing the Vdisk to production and or test?
Any help is much appreciated.
Thanks,
Shaan
George Spiers
March 11, 2019Hi Shantanu. I suggest applying it after you have run the Imaging Wizard and created the vDisk. You can create a vDisk version, place it in testing mode and then you have the ability to roll-back if you or your users encounter an issue.
Atle
March 12, 2019Hi George,
Great article as always, really appreciate the work and effort you put in sharing your knowledge with the community. Could you please send me a copy of the script and spreadsheet?
Thank you so much! 🙂
George Spiers
March 12, 2019No problem, sent.
Balachandran
March 13, 2019Hi George,
great script, thanks for sharing! Could you please also send me the Excel?
George Spiers
March 13, 2019Sent.
Gudjon Hauksson
March 18, 2019Hello George, great script and thanks for the share. Could I have the excel with all the changes ?
Brian
March 30, 2019George, the script looks great, and I am stating to use this a basis for our new servers. Is it possible to get a copy of your Excel file? Additionally do you have plans to update this script for Windows 2019?
George Spiers
April 2, 2019Sent and yes I have been asked for a 2019 edition a few times now, so hope to have that soon.
Keith
April 1, 2019Hello George,
Just stumbled across your site and this wonderful blog.
Could you please email the excel file at your earliest convenience ?
I would like to compare to the optimizations I am implementing.
Thank you and now following you on LinkedIn.
George Spiers
April 2, 2019Thanks Keith, Excel file sent.
John Lindhan
April 2, 2019Hello George, great script, any chance to get the excel file with all the changes?
George Spiers
April 5, 2019Sent.
Ronny
April 4, 2019Hi George,
can i please recieve also the excel document?
thank you so much!
George Spiers
April 5, 2019Sent.
Mal
April 9, 2019Excellent Script George !
I was wondering if I could have a copy of the excel document that list all the features that you do modify in your script?
Again many thanks really great work.
George Spiers
April 11, 2019You’re welcome, sent!
Jani
April 10, 2019Hi George.
Can you please send me the Excel sheet?
Thanks!
George Spiers
April 11, 2019Sent.
Jason Bazinet
April 23, 2019Can I get a copy of the Excel wkbk as well.
George Spiers
April 24, 2019Sent.
Milan
April 24, 2019Hi George,
thank you for this script.
Can you please send me the excel sheet, too?
Thanks in advance!
George Spiers
April 24, 2019Sent.
Fernando
April 24, 2019George, would it be possible to get a copy of that spreadsheet also?
Dusty
May 8, 2019I’m getting this error when running the script. Thoughts?
PS C:\Users\useraccount> C:\ITData\WS2016Optimizations\WS2016Optimisations.ps1
At C:\ITData\WS2016Optimizations\WS2016Optimisations.ps1:268 char:40
+ }
+ ~
Unexpected token ‘}’ in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Dusty
May 8, 2019Disregard, I edited out the hyper v settings and left a character there.
Ewald
May 9, 2019Thank your this nice script.
What about disabling fair sharing for CPU, Disk and Network by creating the following registry keys:? This seem to help to improve the over all performance. For CPU Management, we use WEM instead.
(“Disable TS Fair Sharing for Disk.”,”‘HKLM\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk’ /v EnableFairShare /t REG_DWORD /d 0x0 /f”),
(“Disable TS Fair Sharing for Network.”,”‘HKLM\SYSTEM\CurrentControlSet\Services\TSFairShare\NetFS’ /v EnableFairShare /t REG_DWORD /d 0x0 /f”),
(“Disable TS Fair Sharing for Network.”,”‘HKLM\SYSTEM\CurrentControlSet\Services\TSFairShare\NetFS’ /v EnableNetworkFSS /t REG_DWORD /d 0x0 /f”),
(“Disable TS Fair Sharing for CPU.”,”‘HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System’ /v EnableCpuQuota /t REG_DWORD /d 0x0 /f”)
And disabling Power Saving for the NICs:
# Disable NIC Power Saving
foreach ($NIC in (Get-NetAdapter -Physical)){
$PowerSaving = Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi | ? {$_.InstanceName -match [Regex]::Escape($NIC.PnPDeviceID)}
if ($PowerSaving.Enable){
$PowerSaving.Enable = $false
$PowerSaving | Set-CimInstance
}
}
And disabling various NIC Offloading Features.
Disable-NetAdapterChecksumOffload -Name “*” -IpIPv4 -TcpIPv4 -TcpIPv6 -UdpIPv4 -UdpIPv6 -NoRestart
Disable-NetAdapterRss -Name “*” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet0 -DisplayName “IPv4 TSO Offload” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet0 -DisplayName “Large Send Offload V2 (IPv4)” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet0 -DisplayName “Large Send Offload V2 (IPv6)” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet0 -DisplayName “Offload IP Options” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet0 -DisplayName “Offload tagged traffic” -DisplayValue “Disabled”
George Spiers
May 9, 2019Thanks for the suggestions, will give them some thought.
Ewald
May 9, 2019Sorry … I just discovered that disabling the NIC Offloading Features causes issues on Server 2016. At least on my VMs on ESX6.5. It´s Looks better on Server 2012R2.
George Spiers
May 10, 2019Thanks for the update.
Patrick
May 11, 2019Thanks for the script! Can you sent me the excel sheet?
George Spiers
May 13, 2019Sent.
Anonymous
May 12, 2019Hi. Please can you send me the excel sheet also?
George Spiers
May 13, 2019Sent.
Gustav
May 13, 2019Hi! Really nice script! Would it be possible to get a copy of the Excel-file.
Best regards
Gustav
George Spiers
May 16, 2019Sent.
Jeff Mohler
May 17, 2019Could I receive a copy of your Excel file? Your script is my go to source!!
George Spiers
May 17, 2019Sent!
Volkan Alkılıç
May 30, 2019Syntax error;
+ function DisablingServicesOnServer2016wDE{
+ ~
Missing closing ‘}’ in statement block or type definition.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndCurlyBrace
Niels
June 4, 2019Great script. Can you send me a copy of the Excel file?
George Spiers
June 4, 2019Sent.
Chris Claxton
June 5, 2019Wow – more than a year and you’re still answering posts regulary. Thanks for this script and the other Citrix work that I’ve read from you.
…and like many others, could you send me the excel sheet?
Thanks
George Spiers
June 5, 2019Sent!
Steve S
June 6, 2019George,
Great script, you mention it can be ran with the Citrix Optimizer Tool, which would you run first?
Also can I get the Excel File. 🙂
George Spiers
June 7, 2019Excel file sent. This script can’t be run with the Optimizer tool. I’ve been working on getting it available for Optimizer but not finished yet. Hopefully in the next month it will be there.
Aaron
June 7, 2019Thanks for all of your efforts on behalf of the whole world! Can I get a copy of the Excel file as well please?
George Spiers
June 7, 2019Sure, sent. 🙂
Sen
June 13, 2019Thank you for this script George. Could you please send me the excel sheet?
George Spiers
June 16, 2019Sent.
Jonas
June 25, 2019Thank you for this script George. Will try it for at RDP 2016 🙂
Could you please send me the excel sheet?
George Spiers
June 27, 2019Sent.
Gio
June 26, 2019Hi George,
Thanks for your script! I’ve read that you would give some thoughts regarding an 2019 version of the script. Any news about it?
PS….
Could you send me the Excel sheet?
George Spiers
June 27, 2019Sent the spreadsheet. 2019 I’m working on it. Expect to have in the next month.
Alexander Schwarz
July 8, 2019Thank you for this great script.
Could you please send me the excel sheet?
George Spiers
July 9, 2019Sent.
Rolands
July 2, 2019Hi,
Great script, thanks for sharing! Could you please also send me the Excel sheet?
George Spiers
July 3, 2019Sent.
Pingback: Citrix Troubleshooting 101: Frequently Asked Questions | eG Innovations
Sean Trimm
July 7, 2019Excellent script sir. Very much appreciate the time you’ve dedicated to this project that you have shared. May I also get your reference documentation? Much appreciated!
George Spiers
July 9, 2019Sent.
Alexander Schwarz
July 8, 2019Thank you for this great script.
Could you please send me the excel sheet?
Manuel
July 19, 2019Thanks a million for the script, It is really helpful.
I got this weird error at the end of the “creating Registry object” section… I had a look at the script in notepad++ and could not find any obvious reason for this ( no weird chars, the arrays are fine,…).
Creating registry object DisableLogonBackgroundImage DWORD – Disable Logon Background Image.
The operation completed successfully.
Creating registry object S
ERROR: Invalid key name.
Type “REG ADD /?” for usage.
The following section contains commands that remove Active Setup registry entries. These optimisations are aimed at redu
cing logon times.
Deleting registry object StubPath – Themes Setup.
The operation completed successfully.
George Spiers
July 20, 2019Odd, there is nothing created after DisableLogonBackgroundImage. It goes into a delete section, so not sure why you got that.
Hy
April 20, 2024Hi George,
I get the exact same error with “Creating registry object S”. I have run the original ps1-file in PowerShell ISE.
Ben Johnson
July 24, 2019Hey George, great script. Can, I also get the Excel list?
George Spiers
July 26, 2019Sent.
Nico Noy
July 25, 2019Hi Georges, great script. Can you send me the Excel list please?
Thanks
George Spiers
July 26, 2019Sent.
Baptiste
July 26, 2019Hi Georges,
thank you for this great script, I have use it many times ! can you send me, also, the Excel file ?
George Spiers
July 26, 2019You’re welcome. Sent.
Christian Dalum
July 31, 2019Have you look into Windows 2019 compared with latest Citrix optimizer ?
George Spiers
August 2, 2019Not yet but I’ve plans.
keith
July 31, 2019hey George you are a star! thanks for the script would you please email the spreadsheet?
George Spiers
August 8, 2019Sent.
Alex de Jong
August 6, 2019Could you please send me the Excel too?
Alex de Jong
August 14, 2019I haven’t received the spreadsheet yet.
*friendly reminder*
George Spiers
August 18, 2019Sent.
Dave W
August 14, 2019Hi,
Great article! My download gets blocked unfortunately is it possible you could email me a text version of the script and Excel, if you get chance.
Many thanks!
Dave
George Spiers
August 18, 2019Sent.
Michal
August 18, 2019Nice Work ! can you send me, also, the Excel file ? Thanks
George Spiers
August 19, 2019Sent.
Johan
August 21, 2019Good morning,
Could you please send me a copy of your Excel Spreadsheet ?
Many thankks
George Spiers
August 26, 2019Sent.
sampathkumar
August 23, 2019Hi,
Please can you send me a copy to me.
Thanks,
Sampathkumar
George Spiers
August 26, 2019Sent.
Ashok Kumar
August 23, 2019Hi George ,
can u send me also the copy of excel
Thank you,
ashok030884@gmail.com
George Spiers
August 26, 2019Sent.
Joe Denice
August 26, 2019Excellent Script. I am going to do some testing with it this week. Now will this script remove the Server Manager or is there another suggestion on removing that so users do not see it? Also could I get a copy of the excel sheet?
Thanks again!
George Spiers
August 29, 2019Nothing specific performed with Server Manager, it shouldn’t open when a standard user logs on. I’ve sent the spreadsheet.
Syed
September 3, 2019Hi George,
Can you please share copy of excel sheet?
George Spiers
September 5, 2019Sent.
Oliver
September 12, 2019Hello George,
could you please provide me a copy of the excel sheet?
Oliver
September 12, 2019Hello George,
just another question. Could I use this Optimisation Script also within Server 2019?
Of course, most of the settings are the same, but do you have experience by reusing it for 2019?
Regards, Oliver
George Spiers
September 29, 2019I have not personally used it with Server 2019. Just, as always, make sure you have a rollback option and perform thorough testing.
George Spiers
September 29, 2019Sent.
Nathan
September 17, 2019Nice Work ! can you send me, also, the Excel file ? Thanks
George Spiers
September 29, 2019Sent.
ramil
October 1, 2019Awesome job George! Kindly send me the Excel file ? Thanks
George Spiers
October 3, 2019Sent.
Xander
October 4, 2019Thanks for sharing the script, could you please send me the Excel file?
George Spiers
October 6, 2019Sent.
Ard
October 7, 2019Hi George, could you also send me the Excel file?
George Spiers
October 9, 2019Sure, sent.
Julian Fellows
October 7, 2019Hi George,
Thanks for creating this script, it’s been really helpful. Could I also have a copy of the Excel file please?
Thank you
George Spiers
October 9, 2019Sent.
Frank zhang
October 9, 2019George,
Cool. Would you like to send a copy of the excel file to me? Thanks!
George Spiers
October 15, 2019Sent.
Steve
October 9, 2019Hi George,
Could you send me the excel too please?
Thanks in advance
George Spiers
October 15, 2019Sent.
Derek
October 11, 2019Hey George – this has been a fantastic resource. Can you send me the spreadsheet, as well?
Thanks!
George Spiers
October 15, 2019Sent.
Carlos Vasquez
October 14, 2019Hi George – Thanks for the script, it works great. Could you send me the spreadsheet? Also, is the 2019 version coming out soon? Thanks again!
George Spiers
October 15, 20192019 I hope will be out early next year if not the end of this year. Sorry for the wait. I sent you the spreadsheet.
Aditi
October 17, 2019Hi,
Could you send me the excel too please?
Thanks
George Spiers
November 3, 2019Sent.
Damon
October 21, 2019Hello and thanks for the script! This help out my Server 2019 build but I need to install .NET 3.5 nor could I install it via a downloaded file. Searching for the switch and reenable it.
Thanks,
-Damon
Anonymous
October 22, 2019Mount the Installation disk, take note of the path , open a powershell (elevated privileges) and run the following in powershell without the ” ”
“Dism /online /enable-feature /featurename:NetFX3 /All /Source:E:\sources\sxs”
where e is the drive letter of your installation disk
Damon
October 22, 2019Thank you, sorry the page didn’t refresh after I sent my reply in. I’ll add this to my “box of tools.”
Damon
October 22, 2019Nevermind, I found them…
Damon
October 22, 2019Oh, here’s a reasonable request:
Is there a switch SOMEWHERE other than the Device Manager that controls the Power Management for USB devices? I have USB 3.0 hub that likes to re-enable the “Allow the computer to turn off this device to save power” switch. So when I’m playing around, and the mouse goes to sleep, one would think the system locked.
Fat chance this has something to do with the central power management, eh?
Vincent
October 31, 2019Hi,
Could you send me the excel too please?
Thanks
George Spiers
November 10, 2019Sent.
Sathish
November 13, 2019Hi George, do you mind sharing the excel please? Thanks
George Spiers
December 3, 2019Sent.
Dan
November 28, 2019Hi George, Can i have excel file pls. THanks so much.
George Spiers
December 3, 2019Sent.
steve johnson
November 30, 2019George can I get a copy of the excel spreadsheet please.
Ingo Wilkenloh
December 2, 2019Wow, great work
Can u plz sent me a copy of the Excelsheet?
Thx
Ingo
George Spiers
December 3, 2019Sent.
David Regev
December 2, 2019hi
can i get copy of the Excelsheet?
david
George Spiers
December 3, 2019Sent.
Christian
December 9, 2019Hi George, great script. Can you please send me a copy of the Excel sheet. Thanks
Christian
George Spiers
December 14, 2019Sent.
9denis
December 12, 2019Thanks George for the scritpt. Can you please send me the excel sheet? Thanks!
George Spiers
December 14, 2019Sent.
Dennis
December 19, 2019Hi George, can I still get a copy of the excel sheet? I know it came by a few times before, but what is in your opinion right now the best way you should configure the NIC offloading part for Windows 2016 Hyper-V? All settings Off, or all default (On)?
Dawie
December 23, 2019@Dennis,
My experience in this is that the Hyper-V Guests works better with all the offloading disabled. I did not have this part of the script previously and did it manually to all of my Windows Server 2016 guests. Others might have different experiences, but too me the disabling the offload features improved network performance on a Host with 20 guests …
George Spiers
December 29, 2019Sent. Using PVS? You don’t actually specifically need to disable. Whatever you choose, just check your PVS retries.
Dawie
December 23, 2019@ George Spiers,
Thank you greatly for a simple way to improve my guests without breaking ANY of our software systems running on them!
One of my clients wants to run Windows 2019 next year … any plans for a Windows Server 2019 Standard optimization script?
George Spiers
December 29, 2019Yes I am working on it, should be here first half of 2020.
Eyal
February 13, 2020Please send med the XL sheet,
Thanks,
Michal
December 27, 2019Hello is it possible to get the excel file.
Really nice script!
George Spiers
February 17, 2020Sent – sorry for the delay.
Zdenek
January 3, 2020Hi George
can i get copy of the Excelsheet?
Zdenek
George Spiers
February 17, 2020Sent. Sorry for the delay.
Rick
January 6, 2020Hi George
Can you send me the Excel list please?
Thanks
George Spiers
February 17, 2020Sent. Sorry for the delay.
Harsh Kumar
January 10, 2020Hi George,
I have applied the script but since then “Average Logon Duration Data Missing In Citrix Director”.
Could you please suggest, which option I should exclude from the script to make this working?
Also, please send me the excel list please.
Thanks in advance.
Harsh Kumar
George Spiers
February 17, 2020Sent. Sorry for the delay.
jason
January 23, 2020Can I get the excel or can you post it on google docs. thanks
Harsh Kumar
January 24, 2020Hi Jason,
For past few days, I tried few things & made some changes in the script as per my Citrix environment & now I can get the Average Logon Duration in Director.
The script solved lot of ongoing issues for the longer period of time.
Really thankfull for the script & support.
Thanks,
Harsh Kumar
George Spiers
February 17, 2020Sent.
Sundar
February 5, 2020Hi George
Can you send me the Excel list please?
Thanks
George Spiers
May 10, 2020Sent. Sorry for the delay
Ron
February 14, 2020Hi George
Can you send me the Excel list please?
Thanks,
Ron
Anonymous
February 17, 2020George,
I have seen some mention of disabling DHCP with ipconfig /release in order to make sure it gets a new ip after boot up. Any thoughts on that? Obviously you would need to be consoled in for that to work.
George Spiers
May 10, 2020Have not thought about that! Personally I’ve not had any issues with not running a release during image creation/future version updates.
Anonymous
February 17, 2020George,
I have another question, It was taking a long time to shut down an image with it saying “Windows is getting ready” I think is what it said. It would take around 7-8 mins to shut down and I traced it down to it trying to apply windows updates. I poked around and found out that if you use sconfigure and use option 5 and set it to manual and reboot it solves the issue which is it puts windows update in manual mode. This took several attempts as whenever I would run it it would try to stop the windows update service but would fail. I have to set the update service to disabled, reboot, then enable and run that command. Any thoughts on this?
George Spiers
May 10, 2020I will investigate including sconfig in the script.
Michel
February 21, 2020Would you please share the optimize sheets as well for windows server 2016?
George Spiers
May 19, 2020Sent.
Jeff
February 29, 2020Nice script, appreciate it
Ark
February 29, 2020Do you have a windows 2019 version? I am looking for one
George Spiers
May 19, 2020Not at the moment, sorry.
Swan
April 17, 2020Nice script!
Can I get the excel or can you post it on google docs. thanks
George Spiers
September 7, 2020Sent. Sorry for the delay.
sage pack
April 19, 2020Can you send me the Excel list please?
Stay Healthy and Safe.
Thanks
Tyson
April 28, 2020Any chance I can get my hands on this excel sheet?
idle
May 18, 2020+1 😉
George Spiers
September 9, 2020Sent.
Jack
May 21, 2020Thanks for sharing the wonderful script. Could I get a copy of the Excel sheet.
Seen lots of request for the Excel sheet, why not place a downloadable link within your website for others?
Jack
September 8, 2020Hi George,
Thanks for sharing the wonderful script. Could I get a copy of the Excel sheet?
Zulay Calero
June 1, 2020Thank you. Can I get a copy of the Excel as well?
Gary
June 6, 2020Great script. Can I get a copy of the Excel as well.
Ricardo Goud
June 22, 2020Hi George,
Great script! Very nice.
Can i get also a copy of the Excel file?
thank you in advance.
BEN
June 24, 2020Is it possible to include the Excel file in the Zip ? If not, can you also send me a copy of the excel file ? Thanks in advance
Zdenek
June 25, 2020Great script. Can I get a copy of the Excel as well.
Mario Di Mauro
July 6, 2020Hi, thank you for your great job but i am experiencing a lost performance in my ambient. Is there a script to revert all the actions?
Ty in advance
Shun
July 11, 2020Hello.
Thank you for sharing the wonderful content, could you give me an Excel file?
Mo Najjar
August 17, 2020Hi
Great script can i have a copy of the excel sheet please
Ann
September 2, 2020Amazing job George! Do you know if I can use this script on a Server 2019?
TomCatT
September 2, 2020Hello,
Will there be any support for Windows 10 Pro for Workstations?
JohnQ
October 2, 2020The script looks great. Can you kindly send me the spreadsheet too please? Thanks in advance.
Ron
October 14, 2020Script is awesome. Can I also get the excel? Thanks!
Mbrayez
October 18, 2020Can I get the excel? Thanks for the script
Santi
October 18, 2020Thanks for it!. Can I get the excel?
francesco
November 2, 2020Hi can be used also for Windows 2019 Server?
LSmeets
December 3, 2020Does this script disable any O365 settings? When connecting a mailbox the credentials wont be saved at next logon.
Lori
December 16, 2020Well done! LOVE the verbose commentary in the script! A+! Thanks, mate! Cheers!
Carlos
January 25, 2021Hello All,
Is there a way to revert all changes that the script performs? I mean, is there a script to enable all those services which were disabled, or adds the deleted registry keys, etc, etc? I need this for an experiment in one of my servers and though it is doable, I thought I might ask first.
Thanks guys!
Vaibhav
January 29, 2021Hi George,
thanks a lot for the script. can you send me the excel sheet
Christiaan
February 4, 2021Hello George,
thanks a lot for the script. can you send me the excel sheet?
Adam
March 8, 2021Hi George,
I have used this several times and it work very well.
Can you send me a copy of the Excel spreadsheet?
Thank you
Doug Waller
March 16, 2021can you please send me the excel file?
Niels van Leeuwen
March 31, 2021Hi have you got the excel for me as well ?
Daniel
April 14, 2021Hi George,
Thanks for this great script. Could you send me the excel sheet?
Did you perhaps get further with Windows 2019 version?
Niels
May 26, 2021Does anyone has got the Excel FIle ? George is not responding anymore it looks like 🙂
Br
Niels
dilo
June 17, 2021Thanks for it!. Can I get the excel?
Samer Tela
July 7, 2021Thanks for the script! is it possible to get the excel file?
Michael
August 21, 2021is there an update for the script? I notice that many of the services that are disabled in the script are still active after a reboot. maybe there is an update?
Oscar
August 31, 2021Great script!Can I get the excel?
nilab
October 4, 2021Thanks for sharing the wonderful script. Do you have the script for server 2019 and 2022?
Graham
October 4, 2022interested in this as well. but as no ones responded, i dont think its in development yet
Mike Russo
October 14, 2021Do you think it is possible to disable the Runtime Broker service? The Store shouldn’t be included in Server or LTSC, yet I sometimes see the Runtime Broker service running and chewing CPU and I can’t figure out why. I was just wondering if you or anyone else had a similar experience disabling it.
Raymond Gonzales
December 21, 2021Hi,
After running the script. I got an error with the FSLOGIX. i can login to the VDA1 not to VDA 2
jurgen
February 6, 2022Hi George,
Are you still working on the Windows 2019 version with FSLogix in mind? (non-citrix)
please also send me the excell file if you will
Layman
May 19, 2022Hi George,
I’m planning to use your optimization script in our Citrix environment. Could you send me the Excel file with all the changes? I need to include this into my CCR request. Thanks…
Ravikumar P
September 14, 2022Hi George,
Seems this script is useful for us to increase interactive login time & Citrix logon performance.
Thank you and kindly send me an excel to cross check once before running the script in our VDAs.
/Ravikumar P
Vincenzo
September 20, 2022Hi all, I run the script on my new vdisk version and applications are twice faster, but if I reboot the vdisk or if I close it, it seems that is the same as before, like the script is not run.
do you have some idea?
Pingback: Citrix Optimizer custom template for Windows Server 2016 - Dennis Span
brian
November 29, 2023Hi George, any thoughts on doing something similar for server 2022, also can i get the spreadsheet with the details of the settings in this script?
Graham Mason
February 15, 2024would love to see a 2022 version.
Tom
April 18, 2024Hi,
Can you sent me the excel file?
Also any need on more recent versions of windows server 2022, 2019 or 2016
Tom L'Ecluse
April 27, 2024Anyone has the excel file?
Hy
April 20, 2024Hello George,
Have you combined your script with BIS-F? I get errors when preparing the image during disabling the scheduled tasks:
Disable-ScheduledTask : A parameter cannot be found that matches parameter name “TaskPath”