Manage HoloLens using MDM
Content
- Use cases
- Enrollment
- Policies
- Applications
- Security
- Appendices
- Sources / usefull resources
Uses cases
I have made two HoloLens 2 deployments for the moment and in both cases, the use-case was: task workers who use Dynamics Remote Assist and Dynamics Guides. So, in this article mine will be the following:
- HoloLens 2
- Open internet connection (e.g. 4G/5G router)
- Kiosk mode
- Dynamics Remote Assist app (remote support helping on-site operator)
Enrollment
There are three ways to enroll a HoloLens 2 device:
- PPKG Enrollment
- PPKG must be stored on a USB drive or transferred to the device using a computer
- Manual enrollment
- Userless
- AAD not required
- Standard OOBE
- Manual enrollment
- User assigned to device
- Autopilot (Self-Deploying only)
- Device linked to AAD until removal from Autopilot (cannot be used for personal use and easy to redeploy)
- Ability to use Autopilot group tag
- Userless
To be efficient and as Autopilot hardware hash is easy to get without initializing the device, I recommend using this method for all enrollments but you will have to take into consideration that the device will not be assigned to any user.
Authentication
By default, users must setup Windows Hello in order to finish the profile creation on the device. When a device is Azure AD registered, this feature is called Windows Hello for Business, which requires MFA to finish setup (i.e., the user is prompted for MFA before defining PIN). To prevent MFA prompt, we can use Temporary Access Pass which is considered as a strong authentication method, and so avoid MFA prompt. Alternatively, you can use a FIDO2 key, which is also considered as a strong authentication method but requires initial setup.
Policies
Using Policies CSP is the only way to manage HoloLens 2 devices (you cannot use PowerShell or GPO), the supported ones are listed here, but be aware that some CSPs are also compatible even if they are not listed (e.g., Edge CSP).
Applications
Only Universal Windows Platform (UWP) apps can be installed on Windows Holographics, and for the moment there is no app catalog in leading UEM solutions that support HoloLens.
Public apps
At the time of writing this article, Microsoft Store for Business is the only public source available and it will be retired in the first quarter of 2023 so a new solution will be available (Windows Package Manager will be available for the desktop Windows version).
Private apps
Private apps can be uploaded directly to UEM solution, apps must meet. If you want to get the AUMID of an app, you can follow the procedure in the appendices.
Security
Overview
HoloLens devices have standard built-in security feature like BitLocker and Code Integrity. Each device include a TPM chip to secure identity and data. All security informations can be found here.
Kiosk
You can create a kiosk mode for HoloLens devices using AssignedAccess
CSP.
OMA-URI : ./Device/Vendor/MSFT/AssignedAccess/Configuration
Value : xml string (see example in the appendices)
Kiosk specifications:
- Experience similar to the standard Start Menu
- Multi app kiosk
- Add app by AUMID
- Applied only to specified AAD groups with ability to create multiple profiles (⚠ if not applicable, the user has the standard experience)
- Apps which are not allowed can be run if called from another apps (e.g. you can open MS Store from the OneDrive app by selecting the open-in app option)
Tips:
- Prevent the use of consumer MS Store using
ApplicationManagement/RequirePrivateStoreOnly
CSP - Allow ‘Settings’ in kiosk and restrict visibility to items using
Settings/PageVisibilityList
CSP - Setup group membership cache to allow offline logon using
MixedReality/AADGroupMembershipCacheValidityInDays
CSP - Disable iris scan using
PassportForWork/Biometrics/UseBiometrics
Appendices
Kiosk XML sample
The bellow xml configures a kiosk with the following specifications:
- One profile for user allowed to use HoloLens
- One profile for other users
|
|
Get app AUMID
Unzip .appx file
Open file AppxManifest.xml
Locate information
Package Name:
Package > Identity > Name
Publisher:
Package > Identity > Publisher
(use script bellow to get the hash)Application ID:
Package > Applications > Application > Id
Concat data as described below
Note about publisher hash:
Publisher hash is the result of the following operations on attribute “Publisher” of the node “Identity” from application manifest:
|
|
Publisher → UTF16 → SHA256 → Take first 40-bits → Encode base32
Powershell script (source : Jeroen de Jong from StackOverflow post):
|
|
Sources / usefull resources
- https://docs.microsoft.com/en-us/hololens/hololens-provisioning
- https://docs.microsoft.com/en-us/hololens/hololens2-autopilot
- https://docs.microsoft.com/en-us/mem/autopilot/self-deploying
- https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/customize-oobe
- https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-temporary-access-pass
- https://learn.microsoft.com/en-us/hololens/security-overview
- https://learn.microsoft.com/en-us/windows/client-management/mdm/assignedaccess-csp
- https://learn.microsoft.com/en-us/windows/client-management/mdm/passportforwork-csp
- https://learn.microsoft.com/en-us/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2
- https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-mixedreality
- https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-settings
- https://learn.microsoft.com/en-us/windows/package-manager/
- https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-overview
- https://learn.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide
- https://learn.microsoft.com/fr-fr/windows/client-management/mdm/policy-csp-applicationmanagement
- https://stackoverflow.com/questions/21568483/how-to-calculate-publisherid-from-publisher
- https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-the-microsoft-store-for-business-and-education/ba-p/2569423