Maybe the Number One complaint we hear from IT admins—whether they use Citrix (CVAD), VMware Horizon, or Azure Virtual Desktop (AVD)—is about slow logons. What causes them? What can be done to make slow logons, well… less slow? The answer lies in ControlUp’s Analyze Logon Duration script, which helps you pinpoint the root causes of slow logons, kill the processes that are causing the problem, and optimize your logon durations, so they’re as fast as they can be.
I’ve been lucky to work with a lot of customers on reducing logon durations, helping them understand the logon process, and where optimization opportunities exist for improvement. I chatted with a customer recently who had long logon durations when they would have sworn were fast and performant. What they didn’t understand was why ControlUp reported logon durations that were nearly 10x longer than what they were tracking with their test accounts, especially after working so hard to reduce their logon results to just 10-20 seconds!
After examining these scenarios, I noticed something peculiar in the Windows operating system. I discovered that there was a Legal Notice banner that automatically prompted users to agree to some legal jargon to access their systems. Below you’ll find screenshots of what the Legal Notice looks like within various Windows operating system versions.
This notice requires users to move forward with the process and click “OK.” The problem with this is that, similar to logging in to a machine, it requires the user to wait, which causes them to become distracted with a whole bunch of other things that are unrelated to getting into their desktop or application. For Citrix, VMware Horizon, and Azure Virtual Desktop resources, users would “start” their application or desktop, walk away to get a coffee, start reading an email, or do some other task and their focus would not be on the process to launch their resource. The Legal Notice box would then sit there, blocking the logon process until the user accepted the notice, or the session would terminate after 120 seconds had elapsed.
This led to some logon times exceeding 100 seconds, and some logon times that were still very fast. But why?
In the course of trying to understand this problem, I discovered that multi-session servers like Windows Server 2016, 2019, 2022, Windows 10 Enterprise for Virtual Desktops and Windows 11 Enterprise for Virtual Desktops create the user session and then display the legal notice banner. When calculating the logon duration, the timer “starts” when the session is created. Since the Legal Notice is displayed after user session creation, it will block the logon until the user accepts it. This leads to gaps in the Analyze Logon Duration script output, or long logon timings within the ControlUp console. These delays are not valid for measuring the performance of your logon processes, but since they occur during the measured cycle, the time the Legal Notice sits unclicked gets added to the total logon duration.
This has become a pretty frustrating problem for administrators who want to measure their logon durations accurately. The Legal Notice banner adds a tremendous amount of variability and can’t be measured by relying on markers such as Windows Events as it doesn’t generate any. Thus, reporting on the amount of time a user spent on that screen has not been feasible, until today.
At ControlUp, we discovered how to accurately measure the time a user has spent on this dialog. This has led to a new column in ControlUp v8.6.5 called “Legal Notice Duration.”
This new column impacts the Logon Duration column, as well. Administrators that we’ve worked with have expressed that they’re interested in measuring the performance of the logon duration process, and they are definitely not interested in the part of the process that includes the Legal Notice banner. What we’ve decided to do—to ensure that the Logon Duration column is accurate to the performance of the logon—is to measure the time the user was idling at the Legal Notice screen and subtract that total from the Logon Duration column. In the screenshot above, the logon duration would have been 37 seconds with a 15 second “Logon Duration – Other” in previous versions. By measuring the duration of the Legal Notice and removing its variability from the logon duration, ControlUp can help you accurately measure the performance of your logons.
Windows is an odd duck even in the best of times. Desktop operating systems behave very differently from Server operating systems and there are substantial differences between these two when it comes to logons. Because of this, I have some good news and some odd news.
Windows desktop operating systems that I’ve observed will display the legal notice before creating a user session. Luckily, this means that the logon duration won’t include the effects of the Legal Notice.
On the flip side, this isn’t always the case (I told you it was odd).
In some scenarios, a Windows desktop operating system will create your user session and then display the legal notice. I haven’t yet figured out why it only does it sometimes, and I don’t know if this is due to different virtual desktop administrators causing this behavior, but I have noticed that it only occurs sometimes.
Regardless, since ControlUp starts measuring logons at the time of user session creation, and since we now measure the duration of the legal notice only if it occurs after user session creation, we will give accurate measurements on how long your logons took in either case.
But if you have a doctor or some other user who measures their logons using a stopwatch, and it takes them some time to hit ‘OK’ on the Legal Notice, you will have some discrepancy with these two measured logon durations. Thank goodness ControlUp does all the necessary calculating for you!
Join our thousands of customers who love using ControlUp to easily and accurately measure logon duration in their environments. You can start a free trial and be up and running in just minutes. What’s more? The first 21 days are on us!
Also, we just announced the release of Real-Time DX v8.6.5., which includes script and trigger enhancements, new PVS metrics and PowerShell commands, as well as third-party integrations. Read more about all that’s new on the ControlUp Blog!