ANAVEM
Languageen
Comment créer et déployer des stratégies de conformité personnalisées dans Microsoft Intune

Comment créer et déployer des stratégies de conformité personnalisées dans Microsoft Intune

Créez des politiques de conformité avancées en utilisant des scripts de découverte PowerShell et des fichiers de validation JSON pour vérifier des conditions personnalisées telles que les clés de registre, les fichiers et les services tiers au-delà des capacités par défaut d'Intune.

21 mars 2026 18 min 7
hardintune 8 étapes 18 min

Pourquoi utiliser des politiques de conformité personnalisées dans Microsoft Intune ?

Les politiques de conformité intégrées de Microsoft Intune couvrent les exigences de sécurité standard telles que le chiffrement des appareils, les versions des systèmes d'exploitation et les paramètres de sécurité de base. Cependant, les environnements d'entreprise ont souvent besoin de valider des conditions personnalisées qui vont au-delà de ces paramètres par défaut — versions de logiciels de sécurité tiers, configurations spécifiques du registre, installations d'applications personnalisées ou statut d'agents de sécurité propriétaires.

Les politiques de conformité personnalisées comblent cet écart en vous permettant de créer des scripts de découverte PowerShell qui vérifient n'importe quelle condition sur les appareils Windows, associés à des fichiers de validation JSON qui définissent les états conformes et les messages de remédiation pour les utilisateurs. Cette approche permet un contrôle granulaire de la conformité des appareils tout en maintenant une gestion centralisée via Intune.

Qu'est-ce qui rend les politiques de conformité personnalisées puissantes ?

Contrairement aux politiques de conformité traditionnelles qui reposent sur des paramètres prédéfinis, les politiques personnalisées exécutent vos scripts PowerShell lors des enregistrements des appareils et évaluent les résultats par rapport à vos critères définis. Cela signifie que vous pouvez vérifier les clés de registre pour les configurations de logiciels de sécurité, valider les versions de fichiers d'applications critiques, vérifier des certificats personnalisés, ou même interroger des API externes pour confirmer le statut de licence.

Le composant de validation JSON fournit des règles de conformité structurées avec des messages de remédiation conviviaux. Lorsque les appareils échouent aux vérifications de conformité, les utilisateurs reçoivent des conseils spécifiques sur la façon de résoudre les problèmes, réduisant ainsi la charge du service d'assistance et améliorant la posture de sécurité dans toute votre organisation.

Guide de mise en oeuvre

Procédure complète

01

Créer le script de découverte PowerShell

Commencez par créer un script PowerShell qui vérifie vos exigences de conformité personnalisées. Ce script doit produire des paires clé-valeur JSON qu'Intune peut évaluer par rapport à vos règles de conformité.

Créez un nouveau fichier PowerShell (par exemple, CustomRegistryCheck.ps1) avec la structure suivante :

# Script de conformité personnalisé pour vérification du registre
try {
    $RegPath = "HKLM:\SOFTWARE\MyCompany\SecurityAgent"
    $VersionValue = Get-ItemProperty -Path $RegPath -Name "Version" -ErrorAction SilentlyContinue
    $LastUpdateValue = Get-ItemProperty -Path $RegPath -Name "LastUpdate" -ErrorAction SilentlyContinue
    
    # Vérifiez si le service antivirus est en cours d'exécution
    $ServiceStatus = Get-Service -Name "MySecurityService" -ErrorAction SilentlyContinue
    
    # Construire l'objet résultat
    $result = @{
        "SecurityAgentVersion" = if ($VersionValue) { $VersionValue.Version } else { "NotInstalled" }
        "LastUpdateDays" = if ($LastUpdateValue) { 
            (Get-Date).Subtract([DateTime]$LastUpdateValue.LastUpdate).Days 
        } else { 999 }
        "ServiceRunning" = if ($ServiceStatus -and $ServiceStatus.Status -eq "Running") { "True" } else { "False" }
    }
    
    # Sortie en JSON compressé
    $result | ConvertTo-Json -Compress
}
catch {
    # Retourner l'état d'erreur
    @{"Error" = $_.Exception.Message} | ConvertTo-Json -Compress
}

Vérification : Testez votre script localement en exécutant PowerShell.exe -ExecutionPolicy Bypass -File CustomRegistryCheck.ps1 pour vous assurer qu'il produit un JSON valide.

Conseil pro : Incluez toujours la gestion des erreurs dans vos scripts de découverte. Si le script échoue, Intune marque l'appareil avec le statut "Erreur", qui a la plus haute sévérité et remplace les autres états de conformité.
02

Téléchargez le script de découverte sur Intune

Avant de créer la politique de conformité, vous devez télécharger votre script PowerShell dans le dépôt de scripts d'Intune. C'est une étape préalable obligatoire.

Accédez au centre d'administration Microsoft Intune et suivez ces étapes :

  1. Connectez-vous au centre d'administration Microsoft Intune à l'adresse https://intune.microsoft.com
  2. Allez dans Appareils > Scripts et remédiations > Scripts de plateforme
  3. Cliquez sur Ajouter > Windows 10 et versions ultérieures
  4. Dans l'onglet Informations de base :
    • Nom : Vérification de conformité de l'agent de sécurité personnalisé
    • Description : Vérifie la version de l'agent de sécurité, le statut de mise à jour et l'état du service
  5. Dans l'onglet Paramètres du script :
    • Téléchargez votre fichier CustomRegistryCheck.ps1
    • Exécuter ce script avec les informations d'identification de l'utilisateur connecté : Non
    • Imposer la vérification de la signature du script : Non (sauf si vous avez des scripts signés)
    • Exécuter le script dans l'hôte PowerShell 64 bits : Oui
  6. Dans l'onglet Affectations : Assignez à un groupe de test initialement
  7. Cliquez sur Réviser + Ajouter puis Ajouter

Vérification : Vérifiez que votre script apparaît dans la liste des scripts de plateforme avec le statut "Assigné" après quelques minutes.

Avertissement : Le nom du script dans Intune ne peut pas être modifié après le téléchargement. Si vous devez modifier le nom, vous devez supprimer et retélécharger le script, puis mettre à jour toutes les politiques de conformité qui s'y réfèrent.
03

Créer le fichier de validation JSON

Le fichier de validation JSON définit les règles de conformité qu'Intune applique à la sortie de votre script. Chaque paramètre doit correspondre exactement aux clés renvoyées par votre script PowerShell.

Créez un fichier nommé SecurityAgentCompliance.json avec la structure suivante :

{
  "Settings": [
    {
      "Name": "SecurityAgentVersion",
      "Type": "String",
      "Operator": "IsEquals",
      "CompliantValue": "3.2.1",
      "RemediationStrings": {
        "Language": "en_US",
        "Title": "Mise à jour de l'agent de sécurité requise",
        "Message": "Votre version de l'agent de sécurité est obsolète. Veuillez mettre à jour vers la version 3.2.1 ou ultérieure depuis le portail de l'entreprise ou contactez le support informatique."
      }
    },
    {
      "Name": "LastUpdateDays",
      "Type": "Integer",
      "Operator": "LessThan",
      "CompliantValue": 30,
      "RemediationStrings": {
        "Language": "en_US",
        "Title": "Définitions de l'agent de sécurité obsolètes",
        "Message": "Les définitions de sécurité ont plus de 30 jours. Connectez-vous au réseau d'entreprise ou au VPN pour mettre à jour automatiquement."
      }
    },
    {
      "Name": "ServiceRunning",
      "Type": "String",
      "Operator": "IsEquals",
      "CompliantValue": "True",
      "RemediationStrings": {
        "Language": "en_US",
        "Title": "Service de sécurité non exécuté",
        "Message": "Le service de sécurité n'est pas en cours d'exécution. Redémarrez votre ordinateur ou contactez le support informatique si le problème persiste."
      }
    }
  ]
}

Les opérateurs disponibles incluent : IsEquals, NotEquals, GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqual.

Vérification : Validez votre syntaxe JSON en utilisant un validateur JSON en ligne ou PowerShell : Get-Content SecurityAgentCompliance.json | ConvertFrom-Json

Astuce pro : Utilisez des messages de remédiation descriptifs qui guident les utilisateurs vers des actions spécifiques. Incluez des liens vers des portails internes ou des informations de contact si nécessaire.
04

Créer la politique de conformité personnalisée

Créez maintenant la politique de conformité qui utilise votre script téléchargé et le fichier de validation JSON pour évaluer la conformité des appareils.

Dans le centre d'administration Microsoft Intune :

  1. Accédez à Appareils > Politiques de conformité > Politiques
  2. Cliquez sur Créer une politique
  3. Sélectionnez Plateforme : Windows 10 et versions ultérieures
  4. Dans l'onglet Informations de base :
    • Nom : Conformité de l'agent de sécurité personnalisé
    • Description : Valide l'installation de l'agent de sécurité, la version et l'état du service à l'aide de vérifications PowerShell personnalisées
  5. Dans l'onglet Paramètres de conformité :
    • Développez Conformité personnalisée
    • Définissez Conformité personnalisée sur Exiger
    • Cliquez sur Sélectionnez votre script de découverte
    • Choisissez Vérification de la conformité de l'agent de sécurité personnalisé dans le menu déroulant
    • Téléchargez votre fichier SecurityAgentCompliance.json
  6. Configurez d'autres paramètres de conformité selon les besoins (Santé de l'appareil, Sécurité du système, etc.)
  7. Cliquez sur Suivant

Vérification : Assurez-vous que le fichier JSON est téléchargé avec succès et affiche le message "Téléchargé avec succès". L'aperçu de la politique devrait afficher vos exigences de conformité personnalisées.

05

Configurer les actions pour non-conformité

Définissez ce qui se passe lorsque les appareils échouent à vos vérifications de conformité personnalisées. Configurez des périodes de grâce et des actions d'escalade pour donner aux utilisateurs le temps de remédier aux problèmes.

Dans l'onglet Actions pour non-conformité :

  1. L'action par défaut "Marquer l'appareil non conforme" est définie sur Immédiatement (0 jours)
  2. Ajoutez des actions supplémentaires en cliquant sur Ajouter :
    • Envoyer un e-mail à l'utilisateur final - Planification : 1 jour après la non-conformité
    • Envoyer une notification push à l'utilisateur final - Planification : 1 jour
    • Verrouiller à distance l'appareil non conforme - Planification : 7 jours (optionnel, pour les environnements à haute sécurité)
  3. Configurez des modèles d'e-mail avec des instructions spécifiques de remédiation
  4. Configurez des plannings de notification supplémentaires (par exemple, 3 jours, 5 jours) pour une non-conformité persistante

Exemple de chronologie d'escalade :

Jour 0 : Marquer non conforme (immédiat)
Jour 1 : E-mail + notification push à l'utilisateur
Jour 3 : Deuxième rappel par e-mail
Jour 7 : E-mail d'avertissement final
Jour 14 : Verrouillage de l'appareil (optionnel)

Vérification : Passez en revue la chronologie des actions pour garantir des périodes de grâce appropriées pour les processus de remédiation de votre organisation.

Avertissement : Les actions de verrouillage d'appareil sont irréversibles via la politique de conformité. Assurez-vous d'avoir des procédures de support appropriées pour déverrouiller les appareils lorsque les utilisateurs remédient aux problèmes de conformité.
06

Attribuer la politique aux groupes d'appareils

Ciblez votre politique de conformité personnalisée sur des groupes d'appareils spécifiques. Commencez par un groupe pilote avant de le déployer à l'échelle de l'organisation.

Dans l'onglet Affectations :

  1. Sous Groupes inclus, cliquez sur Ajouter des groupes
  2. Sélectionnez vos groupes cibles :
    • Commencez par un groupe pilote : IT-Pilot-Devices
    • Pour la production : All Windows Devices ou des groupes de départements spécifiques
  3. Sous Groupes exclus, ajoutez :
    • Compliance-Exempt-Devices (pour les kiosques, appareils partagés)
    • VIP-Executive-Devices (si des politiques différentes s'appliquent)
  4. Utilisez des groupes dynamiques pour l'affectation automatique basée sur les propriétés des appareils

Exemple de requête de groupe dynamique pour les appareils Windows 10/11 :

(device.deviceOSType -eq "Windows") and (device.deviceOSVersion -startsWith "10.0")

Vérification : Vérifiez l'appartenance aux groupes en naviguant vers Groupes et en examinant le nombre d'appareils et les règles d'appartenance des groupes sélectionnés.

Astuce pro : Utilisez les groupes dynamiques Azure AD avec des attributs d'appareil pour attribuer automatiquement des politiques en fonction du département, de l'emplacement ou du type d'appareil. Cela réduit la charge administrative à mesure que votre environnement se développe.
07

Déployer et surveiller la politique

Complétez la création de la stratégie et surveillez son déploiement sur vos appareils ciblés.

  1. Dans l'onglet Révision + création :
    • Examinez tous les paramètres, affectations et actions
    • Vérifiez que le fichier de validation JSON est correctement téléchargé
    • Confirmez que le script de découverte est correctement sélectionné
  2. Cliquez sur Créer pour déployer la stratégie
  3. Surveillez la progression du déploiement :
    • Allez à Appareils > Stratégies de conformité > Stratégies
    • Cliquez sur le nom de votre stratégie pour voir les détails
    • Vérifiez l'onglet État de l'appareil pour les résultats de conformité

L'évaluation de la stratégie se produit lors des enregistrements des appareils (généralement toutes les 8 heures pour les appareils Windows). Forcez une évaluation immédiate en :

# Sur les appareils cibles, exécutez en tant qu'administrateur :
Get-ScheduledTask | Where-Object {$_.TaskName -like "*Intune*"} | Start-ScheduledTask

# Ou déclenchez la synchronisation depuis l'application Company Portal
# Paramètres > Synchroniser

Vérification : Dans les 24 heures, vérifiez le tableau de bord de conformité à Rapports > Conformité des appareils pour voir les résultats de l'évaluation de la stratégie.

08

Dépanner les problèmes courants et optimiser les performances

Résolvez les problèmes courants de déploiement et optimisez votre politique de conformité personnalisée pour un fonctionnement fiable.

Problèmes courants et solutions :

Erreur de script introuvable :

# Vérifiez le statut de téléchargement du script
# Dans le centre d'administration Intune : Appareils > Scripts et remédiations > Scripts de plateforme
# Vérifiez que le script affiche le statut "Attribué"
# Si absent, téléchargez à nouveau le script avant le déploiement de la politique

Erreurs de validation du schéma JSON :

// Assurez-vous que les clés correspondent exactement entre la sortie du script et le JSON
// Sorties du script : "SecurityAgentVersion"
// Le JSON doit utiliser : "Name": "SecurityAgentVersion"
// Correspondance sensible à la casse requise

Échecs d'exécution de script :

# Testez le script localement avec les mêmes permissions
PowerShell.exe -ExecutionPolicy Bypass -File CustomRegistryCheck.ps1

# Vérifiez les journaux d'événements Windows sur les appareils cibles
# Observateur d'événements > Journaux des applications et services > Microsoft > Windows > DeviceManagement-Enterprise-Diagnostics-Provider

Optimisation des performances :

  • Gardez les scripts en dessous de 200KB pour une exécution plus rapide
  • Utilisez -ErrorAction SilentlyContinue pour les vérifications non critiques
  • Mettez en œuvre la gestion des délais pour les vérifications de services externes
  • Cachez les résultats localement pour éviter les opérations coûteuses répétées

Vérification : Surveillez le rapport de conformité des appareils pour les modèles d'erreurs et utilisez les journaux de diagnostic Intune pour identifier les problèmes d'exécution de script.

Conseil de pro : Créez une politique de conformité de test avec la journalisation détaillée activée pendant le développement. Utilisez des instructions Write-Host dans votre script pour le débogage, puis supprimez-les pour le déploiement en production.

Questions Fréquentes

Quelles plateformes prennent en charge les politiques de conformité personnalisées de Microsoft Intune ?+
Les politiques de conformité personnalisées sont prises en charge sur Windows 10 et versions ultérieures, ainsi que sur Linux Ubuntu Desktop 20.04 LTS et 22.04 LTS. Pour les appareils Windows, vous utilisez des scripts de découverte PowerShell, tandis que les appareils Linux utilisent des scripts shell équivalents. La fonctionnalité n'est pas disponible pour les plateformes iOS, Android ou macOS à partir de 2026.
À quelle fréquence les politiques de conformité personnalisées sont-elles évaluées sur les appareils inscrits ?+
Les politiques de conformité personnalisées sont évaluées lors des enregistrements réguliers des appareils Intune, qui se produisent environ toutes les 8 heures par défaut pour les appareils Windows. Vous pouvez forcer une évaluation immédiate en déclenchant une synchronisation manuelle via l'application Portail d'entreprise ou en exécutant des tâches planifiées sur l'appareil. La fréquence d'évaluation ne peut pas être personnalisée et suit le calendrier d'enregistrement standard d'Intune.
Que se passe-t-il si mon script de découverte PowerShell échoue à s'exécuter ?+
Si le script PowerShell échoue à s'exécuter ou renvoie une erreur, Intune marque l'appareil avec un statut de conformité "Erreur". Ce statut a le niveau de gravité le plus élevé et remplace d'autres états de conformité comme "NonConforme" ou "EnPériodeDeGrâce". L'appareil sera considéré comme non conforme jusqu'à ce que le script s'exécute avec succès. Incluez toujours une gestion appropriée des erreurs dans vos scripts pour éviter des échecs de conformité inattendus.
Puis-je utiliser des politiques de conformité personnalisées pour vérifier l'état des logiciels antivirus tiers ?+
Oui, les politiques de conformité personnalisées sont idéales pour vérifier les logiciels de sécurité tiers. Vous pouvez créer des scripts PowerShell qui interrogent les clés de registre pour obtenir des informations sur la version de l'antivirus, vérifier si les services de sécurité sont en cours d'exécution, vérifier les dates de mise à jour des définitions, ou même interroger les classes WMI pour connaître le statut des produits de sécurité. Le fichier de validation JSON définit ensuite les versions conformes et fournit des messages de remédiation aux utilisateurs lorsque des mises à jour sont nécessaires.
Quelles sont les limites de taille et de complexité pour les scripts de conformité personnalisés ?+
Microsoft recommande de garder les scripts de découverte PowerShell sous 200 Ko pour des performances optimales et une exécution plus rapide lors des enregistrements des appareils. Les scripts doivent terminer leur exécution dans un délai raisonnable pour éviter les problèmes de dépassement de délai. Il n'y a pas de limite stricte sur la taille des fichiers de validation JSON, mais gardez les messages de remédiation concis et exploitables. Les scripts complexes avec de multiples dépendances externes ou des opérations de longue durée peuvent entraîner des retards dans l'évaluation de la conformité.

Discussion

Partagez vos réflexions et analyses

Connectez-vous pour participer