Thursday, October 11, 2018

Yet another way to apply drivers during In-place Upgrades

So there have been many posts about how to apply drivers during in-place upgrades and I am going to show you yet another way, the way I am currently using them.  This is by no means the best way but it is yet another way to perform the same action.


In the top of the TS we would like to first run a scan on the machine to make sure we have no blocks preventing us from proceeding.









First let's talk about Child or changed Task Sequence.  These can be great if you are developing something you want to use in multiple Task Sequences.





Here we have a child TS that is doing nothing but downloading drivers to the machine based on WMI. 





In this step we are running the WMI query to determine if the model is machine we are running on and if so we will execute this stage. 


Notice that we have the path saved as a variable. 
This is the same setting for each of our drivers.  What this does it to
1. Download the driver package to the c:\Drivers folder
2. Make a Variable called %Drivers% and save the c:\Drivers path to it.


What happens if you have more than one drive pack to download?  Nothing they will all write to the folder and the %Drivers% path will still be c:\Drivers


How does this help us?
Just watch





Now we have a Child TS for the Drivers, this makes a clean and reusable block for other Task Sequences.


You can ignore the Disable Bitlocker for 1709 and forward, this is for legacy Win10 machines.


What you will see is that there are two Upgrade Operating System steps.


No Drivers:




If the TS variable %drivers% doesn't exist then no driver was download and we can use this step to perform the upgrade of the machine.




Machine needs new drivers:




If the TS variable %drivers% exists then we downloaded a driver package and we need to use that during the upgrade process. 





Why the two different steps for drivers?
If you tell it to use the folder and there are no drivers in it then your TS will fail because it found zero files to use.  This way we only use the folder if we downloaded drivers to it.









Wednesday, June 6, 2018

How much WSUS traffic are you generating?






We should all know by now about WSUS Clean up and keeping your servers in good health so I will only point to some of the articles.  But did you know that by having high stress on your box via CPU or Memory can impact the clients and in turn the bandwidth.  While working with a customer, it was discovered that some network links were saturated.  It was determined that a WSUS box was causing the traffic.


What do you mean?
The more retries the clients must make the more data that must be pulled from WSUS box.  If the CPU or Memory is hitting 100% then the server will begin to compensate the best it can.    If too many clients are allowed to connect or request, other clients might be dropped because the server cannot maintain the connection.  These clients will then retry, creating a traffic storm across the network. 


Review the left side of the this graph.  the WSUS traffic is reaching 30 Mbps and is actually spanning several hours.  This not only affects the business traffic but could force the company to invest in larger bandwidth to support the traffic, a business cost.


Review the right side of the graph. Red/Blue colors are WSUS traffic while other traffic and trends are subdued.  1 day after tuning IIS and SQL the bandwidth has dropped to a natural level for the same amount of clients.  

Top: Rate in, Bottom: Rate out


Clean up WSUS database:





Server Performance:

SQL:
If you have more than enough RAM on the box you can set it to unlimited, otherwise, I would recommend you set it to an appropriate size. SQL for WSUS normally needs at least 2GB of RAM to function properly.  This changes depending on the number of clients connection at the same time, if this is WID or SQL and if this box is a Seconday Site Server or simply a stand alone WSUS box.

This too might require some tuning. 

Changing the memory setting in SQL takes affect instantly.  No need to restart the box or SQL.

IIS:
If you have more than enough RAM on the box you can set it to unlimited, otherwise, I would recommend you set it to an appropriate size.  Understand that when IIS recycles the App Pool it will attempt to keep the old dataset alive and gradually move it to the recycled pool.  This can cause you to have processes taking up (2GB = 4GB total) if you set the private memory to 2GB.  The length of time this is happening depends on the box, free cycles, free RAM, etc.  You will need to tune IIS Private RAM setting to your environment.  The link below shows how you can change several settings to alleviate stress on the box. You can also look at throttling IIS to not take too much of CPU.




Thoughts

Memory, Processor and settings all depend on the box, number of clients connecting and other factors.  Tuning the box can take several trials and notes.  No two boxes or companies are the same.  Take every suggestion with consideration and review of your company. 

Each OS and SQL version brings improvements, review your settings after each change.




Tuesday, October 17, 2017

The moment I hit Refresh



There comes a time in everyone’s life in when they need to “Hit Refresh”.  My father never graduated college but rose to a VP of Engineering by taking courses and surrounding himself with people willing to teach him and allow him to learn.  He ended up holding 4 patents in electronics and the medical field.  I enjoyed watching him learn circuit design and homebrew computers.  I was born in 1975 and by 1980 we had a TRS-80 Model III.  By 1984 I was programming in BASIC and by 1987 I was helping my father fix and sell computers.  Of a family of 6 we had one for each person and several more coming and going.  I was even beginning to write programs for people.  In 1997, I started my full-time career in IT working for a university, Windows 3.1, 95 and Netware over Token Ring and 10Base2.  By 2005, I had been fixing and programming computers for a long time but I needed a change, a challenge that would take me to the next stage.  I started on my Master’s degree in Computer Sciences and learning .NET/C#.  Then, I was contacted by an old co-worker that had changed jobs.  He was working for another education environment that was searching for someone to manage machines using SMS 2003.  I had never heard of SMS 2003 but I interviewed.  My friend knew I enjoyed a challenge and could master anything, having already taught me JavaScript, ASP and PERL.  My first day on the job I hit refresh and started a new path, managing machines from a central console.  I started on a path of installing SMS 2003 from the ground up! I found the world of Enterprise Management to be one of challenges, frustrations and how to properly manage machines.  As the only person managing SMS, it became necessary to learn every aspect and to perfect each area.  I began to create a blog and answer questions in the Microsoft Forums. I had mastered the software and wanted to help others.  I also wanted to learn more, enter the Microsoft Management Summit (MMS), but we didn’t have any funds for me to attend the conference.  I learned that speakers have their hotel and conference pass paid in full so I did the next best thing, I submitted a topic and was selected.  From there my life moved forward and I became a Microsoft MVP in 2009 and enjoy the award still.  People saw potential in my father and helped him grow, he and other IT professionals helped me grow, so I continue helping the next generation.  All it takes is someone to take an interest in your future. 

This post is part of the collection of #HitRefresh moments. Read more at www.hitrefreshbook.com