Public/Get-ITFMDMEnrollmentState.ps1
|
function Get-ITFMDMEnrollmentState { [CmdletBinding()] param() $state = [ITFMDMEnrollmentState]::new() $state.ComputerName = $env:COMPUTERNAME try { $state.InstallationType = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name InstallationType -ErrorAction Stop).InstallationType } catch { $state.InstallationType = $null } $state.Enrollments = @(Get-ITFMDMEnrollments) $omadm = @() foreach ($e in $state.Enrollments) { $ci = Get-ITFOMADMConnInfo -EnrollmentId $e.EnrollmentId if ($ci) { $omadm += $ci } } $state.OMADM = $omadm $providers = @($state.Enrollments | Select-Object -ExpandProperty ProviderId -ErrorAction SilentlyContinue) if ($providers -contains 'Fleet') { $state.Detected = 'Fleet' } elseif ($providers -contains 'MS DM Server' -or $providers -contains 'Microsoft Device Management') { $state.Detected = 'Intune' } elseif ($providers.Count -eq 0) { $state.Detected = 'None' } else { $state.Detected = 'Other' } return $state } |