Identify Superseded Applications blocking the TaskSequence from starting in FullOS

Brass Contributor

Recently, one of my customers was adopting their Bare Metal Win10 TaskSequence to also support starting the TaskSequence from FullOS.

So, easy as that...adding some steps to restart in WinPE etc. and give it a try. But surprise – the same TaskSequence running fine from WinPE is telling that there are some Applications missing on the DP when started from FullOS!?

Hmm, that sounds quite strange so let’s look in the cas.log

1.jpg

So, we can see the content with the ID Content_46562d77-698f-4c85-972a-ea7d340bb6f9.1 is getting requested but not found on any matching DPs. But what’s behind this content Id :smiling_face_with_smiling_eyes:

To find out I started the sql management studio an ran the following query to get the scopeId:

2.jpg

Now we’re able to get some more info about our missing link by running another query using the returned ScopeId

3.jpg

By clicking on the SDMPackageDigest link we can identify the Application behind. So, in this case an old Lexmark Software which wasn’t referenced in our TaskSequence and not distributed anymore. However, a newer Version of the App superseding the old one was referenced in the TaskSequence.

4.jpg

                           

So be aware that when starting a TaskSequence from FullOS not only all direct Apps referenced in the TaskSequence are checked if available on any DP (which is super easy to check in the console) but also all the superseded Apps – which does makes sense by the way.

Now as we know about the reason, we can take action on it:

  1. Application hygiene – this is the most crucial part, if you remove any Application from your DPs it should also be removed from any supersedence chains!
  2. Reporting on any superseded Apps not available on DPs – this is the trickiest part and actually the reason for this post as there are some scenarios where application hygiene alone is not sufficient, so we need at least a proper way to check for it.

So let’s focus on point 2 and see if we can optimize our process from reactive to proactive ;)

Searching the communities only resulted in various scripts returning the direct referenced Applications but not any superseded objects.
Time to engage the superpower of my Microsoft PFE colleagues and only a few hours later one of those ninjas came up with a script willing to share.

So kudos and big thanks to Herbert Fuchs!!!

 

Now here’s the Application supersedence chain

5.jpg

and our simple Test-TaskSequence

6.jpg

Now let’s take the magic PFE sauce...

7.jpg

Outcome is a Union-GridView of all direct referenced Apps of the TaskSequence and their Supersedence Chain

8.jpg

As well as another Gridview detailing the Distribution Status of all these Apps

9.jpg

Cool isn’t it?

Link to the script Get-TSAppSupChain.zip

 

Disclaimer
The sample script is not supported under any Microsoft standard support program or service. The sample script is provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
0 Replies