Security Incident Response

If you think you have or know you have a Security Incident please fill in the form and our experienced Onevinn CSIRT team will reach out shortly.
 
The team has long experience in supporting customers in Incident Response and Compromised Recovery.
 
Keep calm and we will be with you shortly!

Johan Schrewelius 13 Nov 2019
1 min

How to provision a modern application during OSD

This solution is not universal; complex applications with tons of dependencies or that is bound to user profiles will not work, but it covers the most basic needs of installing for example driver related applications, like the one in this example.

A customer of ours have a great number of machines with Nvidia graphics adapters and asked for a method to provision the Nvidia Control Panel application during OSD. This is what we came up with and thought we’d share.

First obtain the necessary files; this can be done by copying the download link from the “Share” button in Microsoft store. Then use an online service to get links to the separate files, .appx etc.

In this case the Store link looks like this:

https://www.microsoft.com/store/productId/9NF8H0H7WMLT

Online service to obtain links to the files can be found here:

https://store.rg-adguard.net/

@M_Cedervall recently published a script that downloads the files to disk right away:

https://github.com/MattiasC85/Scripts/blob/master/OSD/Download-AppxFromStore.ps1

Put the files in a folder on you content share:

Include a cmd file, that’s going to be our “Program”:

Command:

@ECHO OFF

Dism.exe /Online /Add-ProvisionedAppxPackage /PackagePath:"%~dp0NVIDIACorp.NVIDIAControlPanel_8.1.956.0_x64__56jybvy8sckqj.appx" /Region:"All" /SkipLicense

The /Region:”All” switch is pretty much the trick that makes this work at all. Without it, the application is deleted at first logon.

Create a Package with a Standard Program:

The details of the program:

(Category is optional but something we often use.)

Put an “Install Package” step in you TS (After “Setup Windows and ConfigMgr”) and configure it to run the program.

You will probably want a condition on this step, something like this should do the trick (Not tested):

SELECT * FROM Win32_VideoController Where Name Like '%Nvidia%'

Deploy a computer with Nvidia graphics, logon and – Voilá:

Please follow me on Twitter for news and updates: @josch62