Dargslan.WinIntuneMgr.psm1
|
<# .SYNOPSIS Microsoft Intune enrollment and compliance toolkit — MDM status, enrollment verification, compliance policies, and device management state (2026 Edition) .DESCRIPTION 2026 Edition — Part of the Dargslan Windows Admin Toolkit collection. More tools and resources at https://dargslan.com Free Cheat Sheets: https://dargslan.com/cheat-sheets .LINK https://dargslan.com .LINK https://github.com/Dargslan/powershell-admin-scripts #> function Get-IntuneStatus { <# .SYNOPSIS Check Intune enrollment and compliance status .DESCRIPTION Reports MDM enrollment, Intune compliance, configuration profiles, and management state. Part of Dargslan.WinIntuneMgr (2026 Edition) — https://dargslan.com #> [CmdletBinding()] param([switch]$Json) $report = [ordered]@{ MDMEnrollment = Get-CimInstance -Namespace root/cimv2/mdm/dmmap -ClassName MDM_DevDetail_Ext01 -ErrorAction SilentlyContinue | Select-Object DeviceHardwareData EnrollmentInfo = [PSCustomObject]@{ IsEnrolled = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Enrollments\*\*" -ErrorAction SilentlyContinue | Where-Object ProviderID -eq "MS DM Server" | Measure-Object).Count -gt 0 UPN = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Enrollments\*" -ErrorAction SilentlyContinue | Where-Object ProviderID).UPN EnrollmentType = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Enrollments\*" -ErrorAction SilentlyContinue | Where-Object ProviderID).EnrollmentType } AADJoin = dsregcmd /status 2>&1 | Where-Object { $_ -match "AzureAdJoined|DomainJoined|WorkplaceJoined|DeviceId|TenantName" } | ForEach-Object { $_.Trim() } ComplianceState = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\IntuneManagementExtension\*" -ErrorAction SilentlyContinue | Select-Object -First 5 LastSync = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Enrollments\*\*" -ErrorAction SilentlyContinue | Where-Object ProviderID -eq "MS DM Server").LastSuccessfulSync ManagementAgent = Get-Service IntuneManagementExtension -ErrorAction SilentlyContinue | Select-Object Status, StartType } if ($Json) { return $report | ConvertTo-Json -Depth 3 } Write-Host "`n [Intune Status — 2026 Edition]" -ForegroundColor Cyan Write-Host " Enrolled: $($report.EnrollmentInfo.IsEnrolled) | UPN: $($report.EnrollmentInfo.UPN)" Write-Host " Management Agent: $($report.ManagementAgent.Status)" if ($report.AADJoin) { Write-Host " Azure AD:" -ForegroundColor Yellow; $report.AADJoin | ForEach-Object { Write-Host " $_" } } return $report } Export-ModuleMember -Function * |