Navigation

Introduction

Workspace One UEM (WS1 UEM) offers several methods to enrol devices in the platform, such as sideload staging (soon to be deprecated), Android Zero touch, download of Intelligent Hub from the Google Play store and generation of StageNow enrolment barcodes directly within WS1 UEM. StageNow also supports staging using NFC tags. However each of these methods have their downsides:

  • Sideload staging – requires a USB cable and connection to a PC to enrol, and is soon to be deprecated
  • Android Zero touch – immediately enrols a device after first boot, or on factory reset which prevents you from flashing a Zebra device with the desired OS or board support package. Whilst this could be done post-enrolment, if you are moving to an earlier version of Android or older security patch level (some organisations do this to ensure compatibility with line of business apps), the device will factory reset, requiring re-enrolment via Zero touch a second time.
  • Intelligent Hub via Play Store – enrolment creates a work profile on the device, which doesn’t provide full management of the Zebra device. This enrolment method will also be blocked if the Allow Work Profile Enrollment option is set to disabled under Groups & Settings > All Settings > Devices & Users > Android > Android EMM Registration > Enrollment Restrictions
  • StageNow enrolment barcodes in WS1 – Requires installation of an AirWatch Relay Server, and each barcode generated is locked to a specific version of Intelligent Hub for enrolment. Moving to a newer version of Intelligent Hub requires creation of a new staging package, and generation of a fresh barcode.
  • NFC Staging – requires purchase of compatible NFC tags, and NFC writer and a PC with software that can write BIN files to the NFC tags.

An alternative method is to use Zebra’s StageNow software to create your own custom barcode that can be used to enrol Zebra devices, which has several advantages over the other options:

  • Shorter barcodes – this means less to scan for each device to be enrolled
  • It’s easy to switch to newer releases of Intelligent Hub & Zebra MX Service – simply swap out the APK files for the newer ones in the location they are hosted
  • Barcodes are fully customisable – you’re able to build in additional instructions to the barcodes, such as connect to a Wi-Fi network, set the date and time, or change other settings – anything that is available via Zebra MX!
  • Barcodes can be batched – This allows you to make changes to the instructions given to the device without needing to re-issue a fresh barcode each time. This involves creating a barcode which points to an XML file on a file or web server that contains all the instructions for enrolment. If changes need to be made, you keep the same barcode and simply change out the XML file. The XML can be generated using the same software used for barcode generation (StageNow).

The downside to this option is that it’s not officially supported by Omnissa, so it’s not for the feint hearted.

What you’ll need

  • Zebra StageNow Software installed on a Windows 7 (or greater) machine – free download here
  • Copies of the latest versions of Intelligent Hub & Omnissa MX Service APK files – available to download from Omnissa Customer Connect
    • Rename these files to IntelligentHub.apk and ZebraMXService.apk
  • A location to store the Intelligent Hub, Omnissa MX Service APK files and StageNow XML (if using batching) that Zebra devices can reach – this could be an FTP or HTTP server or a cloud location eg. Azure Storage Blob. FTPS and HTTPS are also supported. Upload these files before you get started with the How-To below
    ⚠️ If using batching, it’s important to note that the StageNow XML file contains the credentials of the staging user. Do not place this file in an internet facing location as this could result in your staging user account credentials being exposed!
  • Enrolment JSON file – this contains configuration flags for Intelligent Hub, along with the enrolment details of a staging user (this user is optional, but recommended)

How-To

Batch Barcode Creation

  1. Launch StageNow software, and enter in the admin password (this password is set during installation of the software)
  2. On the menu to the left of the window select Create New Profile
  3. Select MX version 9.1 from the dropdown box (this is a safe option, if you have older devices)
  4. Click on Xpert Mode, and then Create
  5. Type in a profile name of your choosing, such as WS1_Enrolment_Batch and click Start
    • 💡spaces in profile names are not supported at this time
  6. Click the plus button to the right of following Settings names, to include them in the config, and drag to reorder:
    • ConditionMgr
    • FileMgr
    • Batch
    • 💡If you wish to add additional instructions, such as connect to a Wi-Fi network, add the WiFi manager setting in and drag to the top of the list
  7. Click Add
  8. On the ConditionMgr Screen, input the following settings –
    • 💡ConditionMgr instructs the device to check for network connectivity before proceeding to the next step of the enrolment process
      • Data Type: Boolean
      • Boolean Data Source: Pre-Defined System Boolean Value
      • Boolean System Value: Have any valid IP Address
      • Condition Met Action: Success
      • Condition Not Met Action: Retry (up to specified times and then fail)
      • Condition repeat count: 10
      • Condition Repeat Interval: 5
      • Condition Fail Message: Unable to obtain IP address, connect device to a network and try again.
      • Suppress the error message?: Leave un-ticked
      • Condition Wait Message: Connecting to network…
  9. Click Continue
  10. On the FileMgr Screen, input the following settings
    • 💡FileMgr instructs the device to download an XML file which we’ll generate later. This XML file contains instructions for downloading and installing the APKs necessary for enrolment and processing the JSON file created earlier
      • File Action: Transfer/Copy File
      • Target Access Method: File in the device file system
      • Target Path and File Name: /sdcard/tmp/enrol.xml
      • Source File URI: Click ellipsis button to populate this field
      • Staging server: External
      • Source path and file name
        • Click the button with the three dots to the right of the Source File URI field
        • Set the Staging Server as External
        • Enter in a Source Path and File Name, ftps://username:password@mysite.com:21/build/enrol.xml or https://mysite.com/build/enrol.xml where mysite is the server URL of where the files are being hosted
        • Click OK
      • Click Continue
  11. On the Batch Screen, input the following settings
    • Batch File Type: XML File
    • Batch File Access Method: File in the device file system
    • XML File Path and Name: /sdcard/tmp/enrol.xml
    • Click Continue
  12. Set Encrypt Barcode, NFC Data as Encrypted and Complete Profiles on the bottom right
  13. In the PDF417 row, under Staging Client column tick StageNow 
    • 💡Select JS PDF417 if your devices are running Android 13 or greater
  14. Click the Test button to generate a barcode sheet
  15. The Barcode will open in PDF viewing software, which should be Adobe Acrobat Reader by default
  16. Click File > Save and save the file with a filename of your choosing
  17. Click the House Icon to return to the main screen of StageNow
  18. Follow the below instructions to create a StageNow XML file

Non-Batched Barcode and StageNow XML Creation

  1. On the menu to the left of the window select Create New Profile
  2. Select MX version 9.1 from the dropdown box (this is a safe option, if you have older devices)
  3. Click on Xpert Mode, and then Create
  4. Type in a profile name of your choosing, such as WS1_Enrolment_NonBatch or WS1_Enrolment_XML and click start
  5. Click the plus button to the right of following Settings names, to include them in the config, and drag to reorder:
    • ConditionMgr 💡skip this if creating XML for use with a batched barcode
    • FileMgr
    • AppMgr
    • Intent
    • FileMgr
    • AppMgr
  6. Click Add
  7. In the ConditionMgr Screen, input the following settings 💡skip this if creating XML for use with a batched barcode
    • Data Type: Boolean
    • Boolean Data Source: Pre-Defined System Boolean Value
    • Boolean System Value: Have any valid IP Address
    • Condition Met Action: Success
    • Condition Not Met Action: Retry (up to specified times and then fail)
    • Condition repeat count: 10
    • Condition Repeat Interval: 5
    • Condition Fail Message: Unable to obtain IP address, connect device to a network and try again.
    • Suppress the error message?: Leave un-ticked
    • Condition Wait Message: Connecting to network…
  8. Click Continue
  9. On the FileMgr Screen, input the following settings
    • File Action: Transfer/Copy File
    • Target Access Method: File in the device file system
    • Target Path and File Name: /sdcard/tmp/IntelligentHub.apk
    • Source File URI: Click ellipsis button to populate this field
    • Staging server: External
    • Source path and file name
      • Click the button with the three dots to the right of the Source File URI field
      • Set the Staging Server as External
      • Enter in a Source Path and File Name, ftps://username:password@mysite.com:21/build/IntelligentHub.apk or https://mysite.com/build/IntelligentHub.apk where mysite is the server URL of where the files are being hosted
      • Click OK
    • Click Continue
  10. On the AppMgr screen, input the following settings
    • Action: Install
    • APK Path and Name: /sdcard/tmp/IntelligentHub.apk
    • Protected List Action: Do nothing
    • Access to App Info Action: Do nothing
    • Click Continue
  11. On the Intent screen, input the following settings
    • Action: Enroll a Device Owner
    • Package Name: com.airwatch.androidagent
    • Class Name: com.airwatch.agent.DeviceAdministratorReceiver
    • Json Values: Json File
    • Json File: Click the ellipsis button to populate this field
      • Select the JSON file you created earlier
    • Click Continue
  12. On the FileMgr Screen, input the following settings
  13. File Action: Transfer/Copy File
  14. Target Access Method: File in the device file system
  15. Target Path and File Name: /sdcard/tmp/ZebraMXService.apk
  16. Source File URI: Click ellipsis button to populate this field
  17. Staging server: External
  18. Source path and file name
    • Click the button with the three dots to the right of the Source File URI field
    • Set the Staging Server as External
    • Enter in a Source Path and File Name, ftps://username:password@mysite.com:21/build/ZebraMXService.apk or https://mysite.com/build/ZebraMXService.apk where mysite is the server URL of where the files are being hosted
    • Click OK
  19. Click Continue
  20. Action: Install
  21. APK Path and Name: /sdcard/tmp/ZebraMXService.apk
  22. Protected List Action: Do nothing
  23. Access to App Info Action: Do nothing
  24. Click Continue
  25. Set Encrypt Barcode, NFC Data as Encrypted and Complete Profiles on the bottom right
    • 💡Skip to Step 30 if creating XML for use with a batched barcode
  26. In the PDF417 row, under Staging Client column tick StageNow 
    • 💡Select JS PDF417 if your devices are running Android 13 or greater
  27. Click the Test button to generate a barcode sheet
  28. The Barcode will open in PDF viewing software, which should be Adobe Acrobat Reader by default
  29. Click File > Save and save the file with a filename of your choosing
    • 🏁Creation of a non-batched barcode is complete!
  30. Click Export for MDM, to create an XML file for use with Batched barcodes. Save the filename as enrol.xml and upload to the same server location as the APK files.
    • 🏁Creation of a batched barcode with accompanying XML is complete!

Conclusion

When enrolling Zebra devices into Workspace One UEM, the method you choose can significantly impact your deployment workflow. While WS1 UEM provides several enrollment options, each comes with its own limitations, whether it’s the complexity of sideload staging, the rigidity of Zero Touch, or the maintenance overhead of StageNow barcodes generated within WS1 UEM.

For those looking for more flexibility, using Zebra’s StageNow software to create custom enrollment barcodes offers a compelling alternative. It allows for shorter, easily updatable barcodes with extensive customisation options, reducing the friction often associated with device provisioning. But since this approach is not officially supported by Omnissa, it requires a solid understanding of Zebra’s StageNow tool and Workspace One UEM’s enrollment processes.

The best enrollment method ultimately depends on your organization’s specific needs and technical capabilities. If you require a highly customizable and adaptable approach and are comfortable working outside of Omnissa’s official support scope, leveraging StageNow’s full potential could be the key to streamlining your device onboarding process.