Problem or use case
When Intune2Snipe syncs devices from Intune into Snipe-IT, the assigned user does not always already exist in Snipe-IT.
In a clean or newly reset Snipe-IT database, this means the assets can be created, but the user assignment side is limited unless the users have already been imported or manually created first.
For my use case, I wanted Intune2Snipe to be able to prepare the relevant Snipe-IT users before the normal asset sync runs, so that devices can then be associated to the correct user when the UPN matches.
Proposed solution
Add an optional user sync pre-pass that runs before the existing asset sync.
The feature would be disabled by default and controlled by environment variables. When enabled, it would sync users from a defined Entra group, rather than trying to pull every user from the tenant.
The idea is that the module can:
- create missing Snipe-IT users from Entra ID
- update existing Snipe-IT users where required
- optionally create related lookup values such as company, department and location
- preserve a link back to the Entra user object so the same user can be matched reliably on future syncs
- allow the normal asset sync to continue afterwards
I have been testing this as a standalone bolt-on module rather than by changing the main application logic directly. The intention is that the existing sync continues to work as normal if the user sync feature is not enabled. It is currently working great but would like some other environments and workflows to test it in.
I have also tested the scenario where the asset needs to follow the matched user’s company so that Snipe-IT allows the checkout/assignment to complete successfully.
Alternatives considered
I considered manually importing users into Snipe-IT first, but that adds another process to maintain and makes clean database rebuilds more awkward.
I also considered using a single static company for all synced assets, but that does not work as well if users can belong to different companies or business entities.
Another option would be to leave Intune2Snipe exactly as it is and expect Snipe-IT users to already exist before sync, but that feels like a missed opportunity because Intune/Entra already has most of the user information needed.
My preferred approach is an optional, scoped, pre-sync user reconciliation step that can be tested independently and enabled only where required.
Primary area
Microsoft Graph / Intune
Problem or use case
When Intune2Snipe syncs devices from Intune into Snipe-IT, the assigned user does not always already exist in Snipe-IT.
In a clean or newly reset Snipe-IT database, this means the assets can be created, but the user assignment side is limited unless the users have already been imported or manually created first.
For my use case, I wanted Intune2Snipe to be able to prepare the relevant Snipe-IT users before the normal asset sync runs, so that devices can then be associated to the correct user when the UPN matches.
Proposed solution
Add an optional user sync pre-pass that runs before the existing asset sync.
The feature would be disabled by default and controlled by environment variables. When enabled, it would sync users from a defined Entra group, rather than trying to pull every user from the tenant.
The idea is that the module can:
I have been testing this as a standalone bolt-on module rather than by changing the main application logic directly. The intention is that the existing sync continues to work as normal if the user sync feature is not enabled. It is currently working great but would like some other environments and workflows to test it in.
I have also tested the scenario where the asset needs to follow the matched user’s company so that Snipe-IT allows the checkout/assignment to complete successfully.
Alternatives considered
I considered manually importing users into Snipe-IT first, but that adds another process to maintain and makes clean database rebuilds more awkward.
I also considered using a single static company for all synced assets, but that does not work as well if users can belong to different companies or business entities.
Another option would be to leave Intune2Snipe exactly as it is and expect Snipe-IT users to already exist before sync, but that feels like a missed opportunity because Intune/Entra already has most of the user information needed.
My preferred approach is an optional, scoped, pre-sync user reconciliation step that can be tested independently and enabled only where required.
Primary area
Microsoft Graph / Intune