Device Categories in Intune zijn handig om apparaten te groeperen, bijvoorbeeld per afdeling. Je kunt er dynamische groepen op baseren, en daarmee beleid en apps richten. Het probleem: de categorie van een apparaat zet je standaard met de hand, apparaat voor apparaat. Bij een paar honderd apparaten is dat een saaie klus, en bij elke nieuwe collega of verhuizing tussen afdelingen moet je het opnieuw doen.
Daarom heb ik een script gemaakt dat dit in één keer doet. Het kijkt bij welke afdeling de gebruiker van een apparaat hoort en zet de categorie van dat apparaat gelijk aan die afdeling.
Download: Set-IntuneDeviceCategory.ps1
Het idee: de tag is de afdeling
Het script werkt met tags. Een tag is op twee plekken hetzelfde:
- de naam van een Device Category in Intune, bijvoorbeeld
dept-finance - de waarde van het veld Department van de gebruiker in Entra ID
Wijs je de tag dept-finance toe, dan zoekt het script alle gebruikers met Department dept-finance, vindt hun apparaten en zet de categorie van die apparaten op dept-finance. Je hoeft dus geen lijst met apparaten of gebruikers bij te houden. De afdeling in Entra ID is de bron.
De namen in dit artikel (dept-finance, dept-sales) zijn voorbeelden. In het script pas je ze bovenaan aan op jouw eigen afdelingen.
Wat het script doet
Je kiest in een kort menu drie dingen:
- de actie: tag toewijzen of tag verwijderen
- de tag: een van de tags die je zelf hebt ingesteld
- het besturingssysteem: Windows, iOS of Android
Daarna gebeurt dit:
- Het script verbindt met Microsoft Graph en haalt de gebruikers op met Department gelijk aan de gekozen tag.
- Het haalt alle apparaten op van het gekozen besturingssysteem.
- Het koppelt apparaten aan gebruikers via de gebruikersnaam (UPN) van het apparaat. Heeft een apparaat die niet, dan vraagt het script de primaire gebruiker apart op.
- Het bepaalt welke apparaten daadwerkelijk een wijziging nodig hebben. Apparaten die al de goede categorie hebben, worden overgeslagen.
- Het voert de wijzigingen uit in groepjes van 20 tegelijk (Graph
$batch), met een voortgangsbalk. - Het toont een samenvatting.
Bij Tag toewijzen krijgt het apparaat de categorie met dezelfde naam als de tag. Bij Tag verwijderen gaat de categorie van het apparaat terug naar Unassigned. De Device Category zelf blijft gewoon bestaan in Intune, alleen de koppeling met het apparaat verdwijnt.
Een voorbeeld van wat je in PowerShell te zien krijgt:
------------------------------------------------------------
Actie : Tag toewijzen
Tag : dept-finance
Job Title filter : (geen)
Operating system : Windows
------------------------------------------------------------
38 user(s) found with Department 'dept-finance'.
Retrieving Windows devices...
412 Windows device(s) found after OS/name filter.
41 device(s) match Department 'dept-finance'.
9 device(s) need a category change.
============================================================
SUMMARY
============================================================
Devices gevonden : 412
Devices verwerkt : 9
Categories changed : 9
Already correct : 32
Errors : 0
Deze uitvoer is een verzonnen voorbeeld, zonder echte apparaten of gebruikers.
Zelf proberen
-
Controleer in Intune of de Device Categories bestaan met exact dezelfde naam als de tags die je wilt gebruiken. Bij Tag toewijzen toont het script de beschikbare categorieën als de gekozen tag niet bestaat.
-
Download Set-IntuneDeviceCategory.ps1 en zet het bijvoorbeeld in
C:\Scripting\Intune. -
Deblokkeer het bestand eenmalig, omdat het van internet komt:
Unblock-File C:\Scripting\Intune\Set-IntuneDeviceCategory.ps1 -
Open het script en pas bovenaan de instellingen aan:
$AvailableTags = @( "dept-finance", "dept-sales" ) $WindowsNamePrefix = "win-" -
Start het script en log in met een account dat apparaten in Intune mag wijzigen en gebruikers in Entra ID mag lezen:
.\Set-IntuneDeviceCategory.ps1
De eerste keer vraagt Microsoft om toestemming voor drie rechten: DeviceManagementManagedDevices.ReadWrite.All, DeviceManagementConfiguration.ReadWrite.All en User.Read.All. Is de Microsoft Graph-module nog niet geïnstalleerd, dan installeert het script die voor je eigen account.
Eerst veilig testen
Dit script wijzigt apparaten, en het vraagt na je keuze in het menu geen extra bevestiging. Test het daarom eerst klein. Daarvoor staat bovenaan het script een optioneel filter op functietitel:
$JobTitle = "Sales manager"
Is dit gevuld, dan worden alleen gebruikers meegenomen met zowel de gekozen afdeling als deze functietitel. Maak desnoods een testgebruiker aan met een unieke functietitel en een testapparaat, en draai het script daarop. Laat je $JobTitle leeg, dan worden alle gebruikers van de afdeling meegenomen.
Goed om te weten
- Windows-apparaten filteren op naam. Standaard worden alleen Windows-apparaten meegenomen waarvan de naam begint met
win-. Dat past bij mijn naamgeving. Heten jouw apparaten anders, pas dan$WindowsNamePrefixaan, of zet hem op""om alle Windows-apparaten mee te nemen. - De afdeling in Entra ID moet kloppen. Het script gaat af op het veld Department. Is dat bij een gebruiker leeg of anders gespeld, dan wordt die gebruiker overgeslagen. De samenvatting toont hoeveel apparaten bij een andere afdeling horen en hoeveel er geen gebruiker hebben.
- Een categorie verwijderen kan ook meer raken dan je denkt. Bij Tag verwijderen gaat de huidige categorie van alle gevonden apparaten naar Unassigned, ook als dat een andere categorie was dan de gekozen tag. Het filter bepaalt dus welke gebruikers en apparaten meedoen, niet welke categorie ze nu hebben.
- Het script maakt geen categorieën aan. Een ontbrekende Device Category moet je eerst zelf in Intune aanmaken.