Belangrijkste punten
- Microsoft Graph API is één REST-endpoint dat programmatische toegang geeft tot Microsoft 365-services zoals Intune, Microsoft Entra ID, Exchange Online en Teams.
- MSP’s en bedrijfs-IT-teams gebruiken Microsoft Graph API voor het monitoren van device compliance, het controleren van licentiegebruik, geautomatiseerde beleidshandhaving, remediation-workflows die door notificaties worden gestart en rapportagedashboards over meerdere tenants.
- Voordat u verbinding maakt met de Microsoft Graph PowerShell SDK, heeft u een Microsoft 365-tenant met global admin- of gedelegeerde admin-toegang nodig, de SDK geïnstalleerd met PowerShell 5.1 of hoger en de juiste permission scopes voor de handelingen die u wilt uitvoeren.
- De compliancestatus van devices, lijsten met niet-compliant devices en details van afzonderlijke devices haalt u allemaal op met Get-MgDeviceManagementManagedDevice-query’s; remote wipe- en lock-acties start u met Invoke-MgDeviceManagement-commando’s.
- Beleid dat via Microsoft Graph is uitgerold controleert u op endpointniveau via HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\ in het Windows-register; de enrollmentstatus van een device verifieert u met dsregcmd /status.
- Bescherm authenticatietokens van Microsoft Graph met Lokaal groepsbeleid: schakel opslag van referenties uit en sta alleen ondertekende PowerShell-scripts toe.
Microsoft Graph API is één endpoint waarmee beheerders via Windows PowerShell programmatisch toegang krijgen tot allerlei Microsoft 365-services, zoals Intune, Microsoft Entra (voorheen Azure AD), Exchange Online, Teams en nog veel meer.
Er zijn tal van toepassingen, zeker in grote omgevingen. Microsoft Graph API kunt u gebruiken voor:
- Monitoring van device compliance en de status van devices
- Licentiegebruik en -toewijzing
- Geautomatiseerd beleids- en groepsbeheer
- Notificatie- en remediation-workflows
- Rapportage over meerdere tenants voor MSP-dashboards
Vereisten:
- U moet een Microsoft 365-tenant hebben met global admin- of gedelegeerde admin-toegang.
- U moet Microsoft Graph registreren bij Microsoft Entra (voorheen Azure AD).
- Voor sommige handelingen heeft u mogelijk Intune- en Microsoft Entra Premium-licenties nodig.
- U heeft een GPO-baseline nodig om uw authenticatietokens te beschermen en te zorgen dat scripts veilig worden uitgevoerd.
Wilt u het snel visueel zien? Bekijk dan onze videogids: Microsoft 365-clients monitoren en beheren met Microsoft Graph API en Windows PowerShell.
Microsoft Graph PowerShell SDK installeren
Vereisten:
- Het is aan te raden hiervoor Windows PowerShell 7 of hoger te gebruiken. Windows PowerShell 5.1 is het minimum. (Controleer uw PowerShell-versie )
- U moet .NET Framework 4.7.2 of hoger geïnstalleerd hebben.
- PowerShellGet moet zijn bijgewerkt naar de nieuwste versie. Typ daarvoor Install-Module PowerShellGet in Windows PowerShell en druk op Enter.
- De execution policy moet zijn ingesteld op remote signed of minder streng. Typ Get-ExecutionPolicy in Windows PowerShell en druk op Enter om te controleren of u het juiste beleid heeft. Typ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned en druk op Enter om de execution policy op remote signed te zetten.
Stappen:
- Open het Startmenu en zoek naar Windows PowerShell.
- Klik met de rechtermuisknop op Windows PowerShell > Als administrator uitvoeren.
- Typ Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force en druk op Enter.
Let op: deze wijziging geldt alleen voor het huidige gebruikersprofiel. Wilt u de Microsoft Graph PowerShell SDK in alle gebruikersprofielen installeren, wijzig dan -Scope in AllUsers.
- Bevestig de installatie wanneer daarom wordt gevraagd.
Verbinding maken met de Microsoft Graph PowerShell SDK
- Typ
Connect-MgGraph -Scopes "User.Read.All",”DeviceManagementManagedDevices.Read.All”,”Directory.Read.All” in Windows PowerShell en druk op Enter om verbinding te maken.
Let op: hiermee krijgt u toegang tot de volledige graph. U kunt de permissies naar wens aanpassen door de permissies achter -Scopes te bewerken. Typ Find-MgGraphCommand -command Get-MgGroup om alle beschikbare permissies te bekijken.
- Bent u al ingelogd, ga dan door naar de volgende stap. Zo niet, volg dan de instructies om in te loggen.
- U kunt ook Get-MgContext gebruiken om specifieke gegevens op te halen, zoals client-ID, tenant-ID, toegekende scopes en meer.
Let op: gebruik -TenantID voor multi-tenant toegang en -ClientID voor geregistreerde applicaties.
Device-informatie en compliancestatus ophalen
Typ dit commando en druk op Enter om al uw door Intune beheerde devices op te sommen:
Get-MgDeviceManagementManagedDevice |
Select DisplayName, ComplianceState, OperatingSystem
Wilt u binnen die lijst de niet-compliant devices vinden, typ dan dit commando en druk op Enter:
Get-MgDeviceManagementManagedDevice |
Where-Object {$_.ComplianceState -ne "compliant"}
U kunt ook specifieke devices op naam opzoeken:
Get-MgDeviceManagementManagedDevice -ManagedDeviceId <GUID>
Vervang <GUID> door het device-ID waarnaar u zoekt.
Gebruikersactiviteit en licenties monitoren
Typ dit commando en druk op Enter om alle gebruikers met hun licentiegegevens weer te geven:
Get-MgUser | Select-Object DisplayName, UserPrincipalName, AssignedLicenses
Typ dit commando en druk op Enter om gebruikers zonder licentie te vinden:
Get-MgUser | Where-Object { !$_.AssignedLicenses }
Aanmeldactiviteit ophalen (vereist AuditLog.Read.All):
Get-MgAuditLogSignIn -Top 50 | Select UserDisplayName, UserPrincipalName, Status, AppDisplayName
Remediation en beleidshandhaving automatiseren
Is een device kwijt of gecompromitteerd, dan kunt u de gegevens ervan wissen vanuit Microsoft Graph door dit commando te typen en op Enter te drukken:
Invoke-MgDeviceManagementManagedDeviceWipe -ManagedDeviceId <GUID>
Vervang <GUID> door het device-ID van het verloren of gecompromitteerde device.
Wilt u een device op afstand vergrendelen:
Invoke-MgDeviceManagementManagedDeviceRemoteLock -ManagedDeviceId <GUID>
Vervang <GUID> door het device-ID van het verloren of gecompromitteerde device.
Wilt u een compliancebeleid toewijzen, typ dan dit commando en druk op Enter:
New-MgDeviceManagementCompliancePolicyAssignment -CompliancePolicyId <PolicyID> -Target @{ “@odata.type” = “#microsoft.graph.groupAssignmentTarget”; “groupId” = “<EntraGroupId>” }
Vervang <PolicyID> door het policy-ID van het beleid dat u wilt toewijzen. Vervang <EntraGroupId> door de groep waaraan u het beleid wilt toewijzen.
Deze commando’s zijn handig als u geautomatiseerde remediation in verschillende omgevingen wilt inrichten. U kunt ze ook automatisch laten starten zodra uw systeem een notificatie ontvangt van uw endpoint management-tool.
Beleid valideren op endpointniveau (Windows-register, CMD)
U kunt in het Windows-register controleren of het beleid dat via Microsoft Graph is uitgevaardigd met succes is toegepast.
Ga bijvoorbeeld naar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\ in het Windows-register en kijk of het beleid is toegepast (bijvoorbeeld Defender of een encryptiebeleid).
U kunt ook de opdrachtprompt gebruiken om het device in een MDM aan te melden en de status verder te monitoren.
- Open de opdrachtprompt als administrator.
- Typ dit en druk op Enter: start ms-device-enrollment:?mode=mdm
Typ om de join-/enrollmentstatus te verifiëren: dsregcmd /status
Tokengebruik beveiligen met lokaal groepsbeleid en endpointcontroles
Met lokaal groepsbeleid beschermt u de authenticatietokens van Microsoft Graph en uw PowerShell-automatisering op beheerde devices. Volg deze stappen:
- Open de Editor voor lokaal groepsbeleid.
- Ga naar Computerconfiguratie > Windows-instellingen > Beveiligingsinstellingen > Lokaal beleid > Beveiligingsopties
- Zoek Opslag van wachtwoorden en referenties voor netwerkverificatie niet toestaan en dubbelklik erop.
- Zet de instelling op Ingeschakeld.
- Klik op Toepassen > OK.
- Ga naar Computerconfiguratie > Beheersjablonen > Windows-onderdelen > Windows PowerShell.
- Zoek Scriptuitvoering inschakelen en dubbelklik erop.
- Zet de instelling op Ingeschakeld.
- Klik op het keuzemenu en selecteer Alleen ondertekende scripts toestaan.
- Klik op Toepassen > OK.
Waar u verder op moet letten bij Microsoft Graph API
- Met Graph Explorer test u de API online zonder dat u iets op uw devices hoeft te installeren.
- Zorg dat u applicatiepermissies toepast voor achtergrondtaken en multi-tenant scripts.
- U kunt rate limiting en retry-logica toepassen op productiescripts.
- Met conditional access policies in Microsoft Entra ID beperkt u het gebruik van Graph op onbeheerde devices.
Problemen met Microsoft Graph API oplossen
| Probleem | Mogelijke oorzaken | Oplossingen |
| Microsoft Graph mislukt. | Er ontbreken permissies, waardoor de tenant dat commando niet mag uitvoeren. | Geef die tenant de juiste permissies. U kunt ook een administratoraccount met volledige permissies gebruiken. |
| Het device is niet zichtbaar in de query. | Dit betekent dat het device niet in Intune wordt beheerd of niet goed is gesynchroniseerd. | Controleer de enrollment in Microsoft Endpoint Management (MEM) en de devicestatus in Microsoft Entra (voorheen AAD). |
| U loopt tegen de rate limit van de API aan. | Er lopen te veel gelijktijdige query’s. | Gebruik het commando -Top en batching. |
| De registerwaarden van een bepaald beleid ontbreken. | Het beleid is niet toegepast. | Valideer de groepstargeting en start een synchronisatie om de wijziging op het device toe te passen. |
Diensten van NinjaOne
NinjaOne vult Microsoft Graph API op verschillende manieren aan:
- Microsoft Graph-scripts automatiseren in alle klant-tenants met een remote PowerShell-tool
- Notificaties instellen zodat beheerders weten wanneer devices niet langer compliant zijn, met remediation die via Graph wordt gestart
- Devices taggen met aangepaste velden op basis van metadata uit Microsoft Graph (bijvoorbeeld compliancestatus, risicostatus enzovoort)
- Rapportagetaken inplannen op basis van informatie uit Microsoft Graph en zo het overzicht op tenantniveau centraliseren voor MSP’s.
Monitor uw beheerde devices met Microsoft Graph API
Microsoft Graph API is een krachtige tool waarmee beheerders via Windows PowerShell centraal en geautomatiseerd controle houden over de Microsoft 365-accounts binnen hun organisatie. Zodra u de API heeft geïnstalleerd en er via PowerShell verbinding mee heeft gemaakt, kunt u gebruikers en device compliance monitoren en device-acties en beleidstoewijzingen automatiseren.
U valideert die beleidstoewijzingen via het Windows-register en de opdrachtprompt. Met de automatiserings- en inzichtfuncties van NinjaOne tilt u uw workflows naar een nog hoger niveau.
Gerelateerde artikelen:
- Het ticketsysteem van NinjaOne verbeteren met Microsoft 365 SMTP-integratie
- On-premises en cloud koppelen met Hybrid Azure AD Join
- Complete gids: IT-systeemmonitoring verkend
- Cloud-based monitoringtools: 5 beste oplossingen in 2026
- Endpoint monitoring uitgelegd aan de hand van een voorbeeld
Quick-start guide
Wat NinjaOne kan met Microsoft Graph API en Windows PowerShell:
Integratie met Microsoft Graph API
NinjaOne ondersteunt integratie met Microsoft Graph API en PowerShell, met name voor:
- Service Principal Authentication (SPA):
- NinjaOne biedt Service Principal Authentication voor Microsoft 365-back-ups
- Vereist een global admin tijdens de eerste configuratie
- Ondersteunt diverse scopes en permissies voor verschillende Microsoft 365-services
- Integratie met PowerShell:
- NinjaOne biedt PowerShell-modules en -scripts voor API-interacties
- Ondersteunt de autorisatieflow van OAuth 2.0
- Biedt voorbeeldscripts om taken te automatiseren, zoals:
- Vulnerability management
- Tokens genereren
- API-aanvragen afhandelen
Belangrijke aandachtspunten
- Met de integratie monitort en beheert u Microsoft 365-clients
- Ondersteunt handelingen als:
- Back-up en herstel
- Gebruikersbeheer
- Device-informatie ophalen
- Autorisatie- en tokenbeheer
