Realice una corrección masiva bajo demanda con Microsoft Intune
Remediaciones en Microsoft Intune y paquetes de scripts (que contienen 2 scripts de PowerShell) que pueden detectar problemas y solucionarlos en un cronograma definido. Luego, Intune proporciona un informe sobre la solución para todos los dispositivos, informando si se detectaron problemas y si se han solucionado.
Cualquier problema con las soluciones es que se ejecutan según una programación y no reaccionan a los problemas de forma dinámica, solo en el momento en que se han configurado para ejecutarse. Debido a esto, existe la posibilidad de que el usuario final pueda identificar los problemas antes de que se solucionen automáticamente. En este escenario, puede resultar inconveniente pedirle al usuario que espere a que se ejecute la tarea de corrección. En cambio, sería preferible ejecutar la tarea de remediación según demanda.
Actualmente, las tareas de corrección bajo demanda solo se pueden ejecutar en una sola máquina a la vez. En este tutorial, le mostraré cómo puede usar Microsoft Graph PowerShell para ejecutar de forma masiva una tarea de corrección en varios o todos los dispositivos administrados con Intune.
Requisitos
Para ejecutar la tarea de corrección bajo demanda con PowerShell, utilizaremos el SDK de Microsoft Graph PowerShell, específicamente los siguientes módulos:
- Autenticación.Microsoft.Graph
- Microsoft.Graph.Beta.DeviceManagement
Un usuario administrador global también deberá estar disponible para dar su consentimiento a los siguientes permisos:
- DeviceManagementConfiguration.Read.All (Para leer los paquetes de corrección)
- DeviceManagementManagedDevices.Read.All (Para leer información del dispositivo)
- DeviceManagementManagedDevices.PrivilegedOperations.All (para iniciar la tarea de reparación)
Para obtener más información sobre cómo instalar el módulo Microsoft Graph PowerShell y encontrar permisos disponibles, consulte mis publicaciones:
- Cómo instalar el módulo Microsoft Graph PowerShell (ourcloudnetwork.com)
- Cómo encontrar permisos para Microsoft Graph PowerShell (ourcloudnetwork.com)
El script de corrección a pedido de Intune en masa
El guión es bastante simple. En pocas palabras, reunirá todos los dispositivos de destino en función de un filtro que usted defina y luego iniciará el paquete de corrección en cada dispositivo en un bucle, que nuevamente deberá definir.
<#
Script by Daniel Bradley
https://www.linkedin.com/in/danielbradley2/
https://ourcloudnetwork.com/
#>
###EDIT THESE VALUES###
$ScriptPackageName = "" #Define the exact remediation package name here
$DeviceFilter = "" #Define the exact device filter here, for example: OwnerType eq 'Company'
#Connect to Microsoft Graph
Connect-MgGraph -scopes DeviceManagementConfiguration.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementManagedDevices.PrivilegedOperations.All
#Get Script package
$RemediationPackage = Get-MgBetaDeviceManagementDeviceHealthScript -Filter "DisplayName eq '$ScriptPackageName'"
#Create request body
$body = @{
"ScriptPolicyId" = "$($RemediationPackage.id)"
} | ConvertTo-Json
#Store target devices
$TargetDevices = Get-MgBetaDeviceManagementManagedDevice -filter "$DeviceFilter"
#Loop through each device
Foreach ($device in $TargetDevices){
Write-Host "Initiating remediation package $ScriptPackageName for $($Device.DeviceName)" -ForegroundColor Cyan
$uri = "https://graph.microsoft.com/beta/deviceManagement/managedDevices('$($device.id)')/initiateOnDemandProactiveRemediation"
Invoke-MgGraphRequest -Uri $uri -Method POST -Body $body -ContentType "application/json"
}Terminando
Este script se creó para ayudar a acelerar la implementación inicial de paquetes de reparación. En la mayoría de los casos, un paquete de corrección no se diseñará para resolver un problema inmediato, sino que ayudará a mantener la configuración y el cumplimiento de los dispositivos donde una configuración compatible no está disponible directamente en Intune. Desafortunadamente, y debido a los plazos ajustados, es posible que sea necesario acelerar las implementaciones, especialmente si se ha modificado la naturaleza de un paquete de remediación existente; este script ayuda a cumplir ese requisito.
De ninguna manera estoy diciendo que este script esté listo para producción, sino que es una prueba de concepto que debes probar y modificar antes de implementarlo.