By Ed Shepley, Modern Desktop, Technology Solutions Professional at Microsoft
As a follow-up to my previous article, here are few more tips to help you identify users that are ready for your pilot phases of Windows 10 deployment.
Let's assume that you've been through the "Ready to Windows" results and the "Driver Availability" assessment & marked everything adopted & available as Ready to upgrade and that has only released a limited number of users for piloting. So we need to find more candidates…by setting more applications as ready, without going through the whole portfolio one by one. The answer (at least in part) is the AppCategory field in Upgrade Readiness.
All inventory toolsets are (by necessity) noisy, the trick is to quickly & simply remove the chaff to find the wheat. Within Upgrade Readiness we assign each application a Category to help with this; these can be view with the following query in the Log Search (magnifying glass on left) view.
UAApp | where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular" and Importance != "" | summarize AppCount = count() by AppCategory
This view of the portfolio allows you to go through the type of application in each category & identify which of the categories (as a whole) do not represent business applications. e.g. App Components, Background Process, Windows Component. Although the applications in these categories are installed within your estate, they are typically installed as part of a parent business application that is represented in another category. As such they can typically be ignored, as part of the process for highlighting "Ready to Upgrade" machines. These applications can be marked as such, by clicking on the category in the above view, selecting the "User Changes" button, selecting all relevant applications, clicking "Bulk Edit" and select the following to options:
- Importance: Ignore
- Upgrade decision: Ready to upgrade
The two settings combined are marking these applications as ignorable (in terms of testing) and not blocking the machines to be "Ready to upgrade". To view the result of these edits, simply add the following exclusion to the above query:
UAApp | where iff(isnotnull(toint(IsRollup)), IsRollup == true, IsRollup == "true") == true and RollupLevel == "Granular" and Importance != "" | summarize AppCount = count() by AppCategory and Importance != "Ignore"
These edits, accompanied by those made in my previous post should set all the applications known to work, or ignorable as "Ready to upgrade" & likewise all available drivers as also ready. This should highlight a bunch of machines as ready to upgrade, which all can be actioned (potentially through SCCM) as candidates for pilot testing.
If however, these processes don't release certain machines expected to be ready to upgrade, then these machines can be reviewed individually from an application & driver perspective with the queries below:
UAComputer | where Computer == "<INSERT COMPUTER NAME>" and UpgradeDecision != "Ready to upgrade" | project Computer, UpgradeDecision | join kind=leftouter (UAApp | where ReadyForWindows != "%" and UpgradeDecision != "%") on Computer | project ReadyForWindows, Computer, AppName, AppVersion, UpgradeDecision | summarize Appcount = count(AppName) by Computer, ReadyForWindows, UpgradeDecision | sort by Computer, ReadyForWindows asc
UAComputer | where Computer == "<INSERT COMPUTER NAME>" and UpgradeDecision != "Ready to upgrade" | project Computer, UpgradeDecision | join kind=leftouter (UADriver | where DriverAvailability != "%" and UpgradeDecision != "%") on Computer | project DriverAvailability, Computer, DriverName, DriverVersion, UpgradeDecision | summarize Drivercount = count(DriverName) by Computer, DriverAvailability, UpgradeDecision | sort by Computer, DriverAvailability asc
Based on the premise that most enterprise devices are either very similar or identical to many others in the estate, targeting the applications and drivers that are not already marked as "Ready to upgrade" on machines expected to be ready, will not only unblock the targeted machine, but all other machines with the same or similar configurations.
This reversal approach of target specific machines has been shown to highlight key applications that unblock many devices for Windows 10 piloting.