Sometimes the most underrated way to drive change in a fleet is to just talk to the user. Endpoint Analytics surfaces all kinds of useful insights — battery health, boot performance, application reliability — but those signals only become action when they reach the right person at the right moment. The Smartphone Replacement Tool is a small wrapper I built around that idea: trigger a clean, branded dialog on the user’s PC the next time they log on, with a contextual message and a clear next step. The technical scaffolding is intentionally simple: a Win32-deployed tool with a WPF frontend, an Intune Proactive Remediation that decides who sees the dialog, and an Endpoint Analytics-driven trigger.
It is not always easy to reach users via email or other channels. When there are projects running to exchange e.g. smartphones or migrations of files from a network drive to a SharePoint it is hard to reach the users and get an answer. Intune provides with Endpoint Analytics a very good on board tool to easily reach users via a user dialog. In this blog I will show how you can use this with the example of a smartphone exchange. The dialog and the method can be adapted to many other use cases.

Deploy an Endpoint Analytics Script to collect the value
First we deploy an endpoint analytics script to our clients to get the return value from the clients with the device manufacturer.
- Open Endpoint Analytics
- Click + Create script package

- Enter a name and click Next

- Upload the Detection script. You can find the script in my GitHub repository.
- Select Run the script using the logged-on credentials
- Click Next > Next

- Assign the script to a group
- Create a schedule and select as frequency once.
- Click Next > Create

Show the results
You can get the script Id via the browser developer tools:

You can see the results with the following Graph call:
https://graph.microsoft.com/beta/deviceManagement/deviceHealthScripts/**SCRIPT_ID**/deviceRunStates?$top=200

The output is a JSON string. You can use this solution described in the “Create and Fill Microsoft Entra ID Group based on local attributes” blog post how you can fill a Microsoft Entra ID group based on this result. If you need support by adapting the script please let me know.