On Demand Migration - PowerShell with DUA - New Feature Spotlight

Quest is excited to release a new feature within On Demand Migration that allows a migration administrator to run custom PowerShell scripts using the ODM Desktop Update Agent (DUA).

This new feature supports automatically running client-configured scripts before and after running the standard DUA reconfiguration tasks.

  • Available in Desktop Update Agent versions 2.2.0 and higher
  • Orchestrates running PowerShell scripts alongside desktop application updates
  • Removes the need to coordinate scripts to run at user login or needing to use other methods like GPO or SCCM

Where will the scripts be stored?

To use this feature, your organization will need to deploy your custom PowerShell scripts to the end user computers in one of the following folders, based on whether the script is intended to run before or after the standard DUA reconfiguration tasks:

  • C:\ProgramData\Quest\DUA\Script\PreScript
  • C:\ProgramData\Quest\DUA\Script\PostScript

Only a single script should be deployed to each directory. The pre and post scripts can be different, and it is not required to have both.

Can I deploy the scripts directly from On Demand?

The scripts cannot be hosted within On Demand for security reasons, so your organization is responsible for developing, signing, and deploying the scripts according to your business policies. Make sure to test the scripts locally on an end user device to confirm they behave as expected prior to having DUA run the scripts.

Scripts can be configured to run either as local user or as System. If run as local user, the user must be permitted to run scripts, and the PowerShell script policies must be configured accordingly.

How do I configure DUA to run the scripts?

When you create a new Switch Applications Task in On Demand Migration, you will see options to run custom scripts before and after the standard DUA application reconfiguration tasks. Select the method for running the scripts and customize the options for error handling and for running scripts multiple times.

What will the end user see?

When the end user runs the Desktop Update Agent, they will see the status of the pre-configuration and post configuration scripts tracked just like the standard application reconfiguration tasks.

What are some example use cases?

Below are some scenarios where migration admins could create scripts for DUA to run alongside the application reconfiguration:

  • Run a script pre-DUA to automatically open a user guide from a network share or web page, which contains detailed instructions for the end-user regarding additional post-migration tasks
  • Run a script pre-DUA to stop a system process or change a registry key that affects changes to office applications, and then run another script post-DUA to restart the stopped process or change the registry key back to the original setting
  • Run a script post-DUA to delete designated files from the user's device that are no longer needed post-migration or to modify user attributes or licensing in Microsoft 365

Further Information

For more information on this and many other features within On Demand Migration, check out the Desktop Update Agent User Guide along with the complete On Demand Migration User Guide. We welcome your feedback and suggestions below and invite you to visit us at Quest.com.

  • A user has to click on 'Retry' multiple times in order for DUA to finally prompt for system restart, is there any easier way to do this using any pre-config script.

  • Hi Deepak, I would suggest first trying to figure out what is causing the retry prompt, as DUA only requires a restart in certain scenarios. Is it needing to restart due to locked OneDrive processes?  Is it requiring a Retry for some other reason? You may want to open a Support ticket to help understand why this is occurring in the first place to see if you can remove the need for the system restart. 

    If you determine that there is a hung process causing the retry, you could possibly use PowerShell to kill that process at the beginning of DUA.  If you determine that there is a process that is not running and taking a while to start, you could possible use PowerShell to force that process to start at the beginning of DUA. Please do not hesitate to contact Support to help investigate the Retry issue so that we can work together to improve the end user experience.