Windows - SCCM App Migration Tool

This set of scripts will run locally on SCCM and will leverage the AirWatch APIs to migrate your SCCM apps into AirWatch. 

This Sample has been Productized as VMware Workspace ONE AirLift

VMWare recommends customers implement Workspace ONE AirLift to achieve the functionality in this sample

The main purpose and goal of VMware {code} is to share code samples and collaborate with our development community. We actively watch and listen to customer feedback and sometimes take some of the open-source projects and convert them into fully supported versions. We have recently released Workspace ONE AirLift, a server-side connector that simplifies and speeds the customers journey to modern management. Workspace ONE AirLift bridges administrative frameworks between Microsoft System Center Configuration Manager (SCCM) and Workspace ONE UEM.

SCCM App Migration Tool



This Powershell script allows you to create a report of the applications in SCCM with related meta-data and automatically migrate SCCM applications over to Workspace ONE UEM (AirWatch) for management from the Workspace ONE UEM (AirWatch) console.


When run, the script will prompt for which process that should be run. Select 1 to generate a report of the applications in SCCM or Select 2 to move previously reported applications to AirWatch with their meta-data. The script parses the information in SCCM and generates a report associating the application with the relevant Workspace ONE UEM (AirWatch) Meta-data. Once option 2 is run, the script will iterate through the csv report and upload the apps to Workspace ONE UEM (AirWatch). Once the apps are uploaded they will need to be assigned to the appropriate Smart Groups.

Note: A CSV report must be generated first in order to move the applications to Workspace ONE UEM (AirWatch).

Recommended Workflow

  1. Run option 1 to generate a csv report for the applications in SCCM, if there are a lot of apps it may take some time for the script to generate the report.
  2. Review the report and delete any apps that do not need to be migrated.
  3. Run option 2 of the script and select the csv report that was generated and edited in Steps 1 & 2.
  4. Optional - Break the applications into small batches of the csv and move them in batches as opposed to one big push. E.g. select 5 apps from the main report by saving a copy of the csv with only those targeted applications.

Modifications Required

This script must be run as an admin

Known Issues

  • Depending on the SCCM environment setup, the script may not be able to upload the application from SCCM. This is typical a result of permissions issues in more secure environments. If that fails, the application may need to be manually downloaded.


.\Migrate-SCCMApps-AirWatch.ps1 `
    -SCCMSiteCode "SME:" `
    -AWServer "" `
    -userName "apiuser" `
    -password "SecurePassword" `
    -tenantAPIKey "apikey" `
    -groupID "111" `



The Site Code of the SCCM Server that the script can set the location to. Ensure you enter in the 3 character site code followed by a colon.


Server URL for the Workspace ONE UEM (AirWatch) API Server


An AirWatch account in the tenant is being queried. This user must have the API role at a minimum.


The password that is used by the user specified in the username parameter


This is the REST API key that is generated in the Workspace ONE UEM (AirWatch) Console. You locate this key at All Settings -> Advanced -> API -> REST, and you will find the key in the API Key field. If it is not there you may need override the settings and Enable API Access


The groupID is the ID of the Organization Group where the apps will be migrated. The API key and admin credentials need to be authenticated at this Organization Group.

The shorcut to getting this value is to navigate to https:///AirWatch/#/AirWatch/OrganizationGroup/Details. The ID you are redirected to appears in the URL (7 in the following example). https:///AirWatch/#/AirWatch/OrganizationGroup/Details/Index/7


3/14/18 - Mike Nelson - Update processing of .CSV 3/15/18 - Chris Halstead - Update logic of processing UninstallString 9/13/18 - Josue Negron - Updated README with reference to AirLift and updated AirWatch to Workspace ONE UEM

Sign in to be able to add comments.

Comments 0