In this post, I will show you how to simulate application deployments with SCCM (ConfigMgr) and PowerShell. You can use simulated deployments to test an application deployment without installing or uninstalling the application.
Configuration Manager is one of the best tools to package and deploy applications to users and computers. You can even track the application deployment with SCCM to find out whether the application was successfully installed or not.
ConfigMgr allows you to simulate an application deployment with a few simple steps. A simulated deployment of an application in SCCM helps you determine the number of systems that will run each deployment type. In a simulated deployment, clients download and evaluate policies and return state messages.
What is Simulated Deployment in SCCM?
A simulated deployment evaluates the detection method, requirements, and dependencies for a deployment type in SCCM. It reports the results in the Deployments node of the Monitoring workspace. That’s the whole purpose of a simulated deployment. Read the following article by Microsoft on how to simulate application deployments with Configuration Manager.
Consider the case where you want to test the application deployment to a group of devices and make sure everything goes according to plan. Normally, you would use the simulate deployment feature in this situation. The simulation will evaluate the dependencies, requirements, and detection methods of a deployment and report the results in the deployments node of the monitoring work space.
Note: You cannot deploy an application with a deployment purpose of Uninstall if a simulated deployment of the same application is active. You cannot use simulated deployments for collections of mobile devices.
Ways to Simulate Deployments in SCCM
There are three ways to simulate application deployments with SCCM:
- Collections: In the SCCM console, go to Assets and Compliance\Overview\Device Collections. Right-click a device collection and select Simulate Deployment.
- Applications: In the ConfigMgr console, navigate to Software Library\Overview\Application Management\Applications. Right-click on the application that you want to simulate and select Simulate Deployment.
- PowerShell: You can simulate SCCM application deployments using the New-CMApplicationDeployment PowerShell cmdlet.
How to Simulate Application Deployments with SCCM
Before you simulate a deployment, ensure the application is packaged in SCCM. As an example, we will simulate the Dell SupportAssist application that is already available in Configuration Manager console.
- Launch the Configuration Manager console.
- Go to Software Library\Overview\Application Management\Applications.\
- Right-click the application that you wish to simulate and select Simulate Deployment.
In the Simulate Application Deployment Wizard, specify the following details for your simulated deployment:
- Application: Click Browse, and then select the application you want to simulate. If the browse button is grayed out, it means the application is currently chosen for simulation.
- Collection: Click Browse and then select the device collection that you want to use for the simulated deployment. If the selected application is deployed to the device collection, ConfigMgr will let you know that it’s already deployed.
- Action: There are two options available: Install and Uninstall. From the drop-down list, select Install to simulate the application installation or select Uninstall to simulate the uninstallation of the selected application.
- Deploy automatically with or without user login: If this option is checked, the clients evaluate the simulated deployment whether or not the clients are logged in.
Click Next to continue.
On the Summary window, review the settings for the simulated application deployment. Click Next.
Close the Simulate Application Deployment Wizard.
Monitor Simulated Deployments in Configuration Manager Console
A simulated deployment is evaluated like any deployment, and the results are found in the Monitoring workspace under the Deployments node along with all the other deployments.
To monitor the simulated deployment for an application in the SCCM console, go to the Monitoring workspace, under Deployments choose the application. We see that the Purpose is Simulate and if you look at the Completion Statistics we see it’s successful.
Right-click on the application and select View Status. Notice the simulated deployment of the application shows as successful. If the status is not shown in the console, click Run Summarization or Refresh button. The simulated deployment status should be updated shortly.
Once you complete the above steps, delete the Simulation Deployment and create a real deployment and target the deployment to a user-based collection or device-based collection.
Simulate SCCM Application Deployments with PowerShell
You can use PowerShell cmdlets in SCCM to simulate application deployments. You can run a single PowerShell command to trigger simulation of application deployment. Launch the Configuration Manager console and click on the drop-down located in the top-left corner of the console. From the list of options, select Connect via Windows PowerShell.
In the PowerShell window, run the below command to simulate the application deployment.
New-CMApplicationDeployment -Simulation -CollectionName "Windows 11 Devices" -Name "Dell SupportAssist" -DeployAction Install
Before running the above command, ensure you specify the correct collection name and application name.
The New-CMApplicationDeployment cmdlet creates an application deployment. This PowerShell cmdlet can be used with the following switches.
- –Simulation: Add this parameter to create a deployment simulation.
- –CollectionName: Specify the name of the collection to which this application is deployed.
- –DeployAction: Specify the deployment action, either to install or uninstall the application. If competing deployments target the same device, the Install action takes priority.