Getting what you need from Upgrade Readiness
By Ed Shepley, Modern Desktop, Technology Solutions Professional at Microsoft
Before we get into how to get what you need from Windows Analytics, I'm going to assume that you have telemetry configured in your enterprise and you're seeing data in Upgrade Readiness (if not please follow this link). I'm also going to assume that the number of "applications" it's showing is far more than you expected and processing them looks like a "mountain to climb". Well, the good news is that you might not have to; it all depends on how you are looking to upgrade your Windows estate to Windows 10. The most common options are:
- Wipe & Load
- Inplace Upgrade
- AutoPilot
AutoPilot isn’t really an upgrade option per se, but rather designed for new devices, potentially shipped direct from your supplier to your users. It's an exciting new cost-saving option for provisioning new devices, but not one I'm going to cover here. I want to demonstrate how we can use Upgrade Readiness to identify users that are ready for pilot, whether we are using "In-Place Upgrade" or the more traditional "Wipe & Load" approach.
Irrespective of approach, we need to identify users that are ready for Windows 10; this is completed by the customer marking their machines as ready, which can only be achieved if all the application and driver software on the machines are marked as "Ready for Upgrade". This is what you can use Upgrade Readiness (UR) for.
UR provides 2 assessments per application & 1 per driver, out-of-the-box:
- Application Assessment 1: Ready for Windows
- Application Assessment 2: Upgrade Assessment
- Drivers: Driver Availability
Ready for Windows provides collated feedback from the community of Analytics users, on the adoption of the application on Windows 10. The Upgrade Assessments highlights any applications known to have issues & Driver Availability groups drivers by where they are available from for Windows 10. Each of these can be seen summarized by using the following queries in the "Log Search" (magnifying glass on left).
Application Assessment 1: Ready for Windows
UAApp
| where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular"
| summarize AppName = count() by ReadyForWindows
| sort by AppName desc
Application Assessment 2: Upgrade Assessment
UAApp
| where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular"
| summarize AppName = count() by UpgradeAssessment
| sort by AppName desc
Drivers: Driver Availability
UADriver
| where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Driver"
| summarize DriverCount = count() by DriverAvailability
As the two application assessments overlap, it is more useful if they are combined. We can then determine if the "No known issues" assessment, which looks positive, is associated to the known or "unknown" Ready for Windows data.
Application Assessments
UAApp
| where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular"
| summarize AppName = count() by ReadyForWindows, UpgradeAssessment
| sort by AppName desc
Unfortunately, this often highlights a data gap, where a large percentage of the "No known Issues" data is also "Unknown" to Ready for Windows; which makes the combined metric inconclusive. However, if we then include the Importance flag, we can see that the vast majority of "Unknown" applications have a Low Install Count (indicating they are deployed to less than 2% of the estate), and therefore have a limited risk to business continuity.
Application Assessments 1 & 2 with Importance
UAApp
| where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular"
| summarize AppName = count() by ReadyForWindows, UpgradeAssessment, Importance
| sort by AppName desc
Whilst these insights into the application and driver portfolio are interesting, we need to draw some conclusions on their readiness to unlock users for Windows 10 piloting. As mentioned earlier, marking applications & drivers as "Ready for Upgrade" in the Upgrade Decision field will collectively set machines and their users ready. So what can we set to "Ready for Upgrade"?
This is a decision that must reside with the enterprise. The data provided in Upgrade Readiness is designed to provide you with confidence building insights, so that you're comfortable marking those applications Ready for Upgrade. The same applies for the drivers, where automated solutions are provided through 3 out of the 4 availability categories for driver deployment. I would encourage you to mark the applications and drivers (based on the available data) that you feel represent a low risk to the business through a Windows 10 piloting phase, to see how many machines and users it unlocks. Rolling Windows 10 out to these users will likely build confidence within the enterprise as applications are shown to have a 95-98% compatibility with the platform, and the pilot phase demonstrates that risk based compatibility assessments have near zero-impact on business continuity.