1. Architecture et modèles de jonction
1.1 Composants
- Intune : service MDM/MAM SaaS, piloté depuis le centre d'administration Intune (Microsoft Intune admin center) et l'API Microsoft Graph (
deviceManagement, deviceAppManagement).
- Pile MDM Windows : client OMA-DM intégré à Windows, qui applique des CSP (Configuration Service Providers :
Policy CSP, BitLocker CSP, LAPS CSP...). Sans agent tiers.
- Intune Management Extension (IME) : agent installé automatiquement dès qu'un script PowerShell, une application Win32 ou une remediation est assigné. Il exécute ce que le MDM natif ne sait pas faire.
- Microsoft Entra ID : identité de l'appareil, porteur de l'état de conformité consommé par le Conditional Access (voir Microsoft Entra ID).
- Defender for Endpoint : EDR, envoie un score de risque machine qui peut entrer dans la conformité.
1.2 Entra joined, hybrid joined, registered
| Critère |
Microsoft Entra joined |
Microsoft Entra hybrid joined |
Microsoft Entra registered |
| Propriétaire type |
Organisation |
Organisation (parc AD existant) |
Utilisateur (BYOD) ou mobile |
| Annuaire de connexion |
Entra ID uniquement |
AD DS + objet synchronisé dans Entra |
Compte local / personnel + compte pro ajouté |
| GPO |
Non |
Oui (risque de conflit avec Intune) |
Non |
| Ligne de vue DC requise |
Non (Kerberos cloud trust pour l'accès aux ressources on-prem) |
Oui pour la première connexion et le renouvellement du mot de passe |
Non |
| Autopilot |
Oui (recommandé) |
Oui, mais Intune Connector for AD + VPN pré-logon : complexe |
Non |
| SSO ressources on-prem (fichiers, intranet Kerberos) |
Oui via PRT + Kerberos (cloud Kerberos trust pour WHfB) |
Natif |
Partiel |
| Recommandation Microsoft |
Cible pour les nouveaux postes |
Transitoire |
BYOD / MAM |
Stratégie de transition : ne pas convertir les postes hybrid joined existants ; déployer les nouveaux postes (ou les postes réinstallés) en Entra joined via Autopilot, après avoir validé l'accès aux partages (Kerberos), aux imprimantes (Universal Print ou serveur d'impression accessible) et aux applications qui supposaient un compte machine AD. Le renouvellement naturel du parc fait la migration.
1.3 Co-management avec Configuration Manager
Un poste géré par ConfigMgr (MECM) peut être inscrit simultanément dans Intune. Chaque workload est basculé indépendamment vers Intune via un curseur (ConfigMgr / Pilot Intune / Intune) :
| Workload |
Ordre de bascule conseillé |
Remarque |
| Compliance policies |
1 |
Débloque le Conditional Access basé sur la conformité |
| Windows Update policies |
2 |
Retirer d'abord les GPO/WSUS en conflit |
| Endpoint Protection |
3 |
Defender AV, pare-feu, BitLocker, ASR |
| Device configuration / Resource access |
4 |
Wi-Fi, VPN, certificats SCEP/PKCS |
| Office Click-to-Run apps |
5 |
Microsoft 365 Apps |
| Client apps |
6 |
Les applications Intune deviennent disponibles ; ConfigMgr peut continuer pour les déploiements lourds |
Le tenant attach (sans co-management) remonte simplement l'inventaire ConfigMgr dans la console Intune et permet des actions à distance : c'est un premier pas sans risque.
2. Prérequis du tenant
| Élément |
Emplacement |
Réglage recommandé |
| Licences |
Microsoft 365 E3/E5/Business Premium ou Intune Plan 1 + Entra ID P1 |
P1 indispensable pour l'inscription automatique et le Conditional Access |
| MDM user scope |
Entra admin center > Mobility (MDM and MAM) > Microsoft Intune |
Some (groupe pilote) puis All ; MAM user scope distinct pour le BYOD |
| Qui peut joindre des appareils |
Entra > Devices > Device settings |
Groupe restreint ou All + restrictions d'inscription Intune ; limite par utilisateur |
| Admin local supplémentaire |
Entra > Device settings |
Aucun utilisateur admin local ; utiliser LAPS et les rôles dédiés |
| Windows LAPS |
Entra > Device settings |
Activer « Enable Microsoft Entra LAPS » |
| Restrictions d'inscription |
Intune > Devices > Enrollment > Device platform restriction |
Bloquer les plateformes non supportées, bloquer Windows personnel (MDM) si politique corporate-only |
| Identifiants d'appareils d'entreprise |
Intune > Enrollment > Corporate device identifiers |
Utile si les Windows personnels sont bloqués mais certains postes ne passent pas par Autopilot |
| DNS |
Zone publique |
CNAME enterpriseenrollment et enterpriseregistration (voir M365) |
| RBAC |
Intune > Tenant administration > Roles |
Rôles personnalisés + scope tags par site/filiale ; Multi Admin Approval pour wipe, scripts, applications |
Multi Admin Approval : un compte admin Intune compromis peut pousser un script SYSTEM sur tout le parc ou lancer un wipe massif. Activer les access policies (approbation par un second admin) au minimum pour les wipes, les scripts et les applications.
2.1 Groupes et filtres
Stratégie d'assignation : groupes d'appareils dynamiques pour la configuration machine (ex. (device.devicePhysicalIds -any (_ -eq "[OrderID]:PARIS")) pour les postes Autopilot d'un group tag), groupes d'utilisateurs pour les applications et politiques liées à la personne, et filtres d'assignation pour affiner sans multiplier les groupes (modèle, OS, propriété).
# Règle de groupe dynamique : tous les appareils Autopilot
(device.devicePhysicalIDs -any (_ -startsWith "[ZTDid]"))
# Appareils Autopilot d'un group tag donné
(device.devicePhysicalIds -any (_ -eq "[OrderID]:SIEGE"))
# Filtre d'assignation : Windows 11 d'entreprise uniquement
(device.osVersion -startsWith "10.0.2") and (device.deviceOwnership -eq "Corporate")
Latence : l'appartenance à un groupe dynamique Entra peut prendre de quelques minutes à plus longtemps sur les gros tenants. Les filtres sont évalués au check-in de l'appareil, sans attente de recalcul du groupe : préférer « groupe large + filtre » pour les déploiements urgents.
3. Inscription Windows : Autopilot
3.1 Les deux générations
| Critère |
Autopilot (profils de déploiement) |
Autopilot device preparation |
| Enregistrement préalable du hash |
Oui (OEM, revendeur ou import CSV) |
Non requis (identifiants d'entreprise optionnels) |
| Hybrid join |
Oui |
Non |
| Pré-provisioning (technicien) |
Oui |
Vérifier l'état actuel du support |
| Personnalisation OOBE |
Profil complet (masquer EULA, nom de machine, langue) |
Plus limitée |
| Suivi d'avancement |
Enrollment Status Page (ESP) |
Rapport de déploiement quasi temps réel, liste d'applications/scripts bloquants limitée |
| Cas d'usage |
Parc standard avec fournisseur déclarant les hash |
Clouds souverains, approvisionnement sans hash, scénarios simples |
3.2 Collecte et import du hash matériel
Idéalement, le revendeur ou l'OEM inscrit directement les appareils dans le tenant (partenaire CSP autorisé). Sinon, collecte manuelle :
# Sur le poste (OOBE : Shift+F10 pour ouvrir une invite, puis powershell)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
Install-Script -Name Get-WindowsAutopilotInfo -Force
# Export CSV (pour import manuel dans Intune > Devices > Enrollment > Windows > Devices)
Get-WindowsAutopilotInfo -OutputFile C:\HWID\AutopilotHWID.csv -GroupTag SIEGE
# Ou import direct (authentification interactive Graph, droits Intune)
Get-WindowsAutopilotInfo -Online -GroupTag SIEGE -Assign
Version du script : le script communautaire a connu des révisions liées au passage de AzureAD vers Microsoft Graph. En cas d'erreur d'authentification, utiliser la dernière version de la PowerShell Gallery (ou ses variantes maintenues) et une application Entra autorisée.
3.3 Profil de déploiement
- Mode : User-driven (cas standard), Self-deploying (kiosque, salles, TPM 2.0 avec attestation requise, sans utilisateur).
- Join type : Microsoft Entra joined (préféré) ou hybrid.
- Compte utilisateur : Standard (jamais administrateur).
- Nom de l'appareil : modèle
CTS-%SERIAL% ou PAR-%RAND:5% (15 caractères max, Entra joined uniquement).
- Convertir tous les appareils ciblés en Autopilot : enregistre automatiquement le hash des postes déjà inscrits ; utile pour un parc existant (attention, délai de traitement et irréversibilité tant que le hash n'est pas supprimé).
3.4 Enrollment Status Page (ESP)
L'ESP bloque l'utilisateur tant que les applications et politiques critiques ne sont pas installées. Deux phases : Device setup (contexte machine) et Account setup (contexte utilisateur).
- Ne lister comme bloquantes que les applications indispensables (agent VPN, sécurité, Microsoft 365 Apps) : chaque application ajoutée allonge le déploiement et multiplie les causes d'échec.
- Timeout : 60 minutes par défaut ; l'ajuster selon la bande passante (une Microsoft 365 Apps complète pèse plusieurs Go).
- Ne pas mélanger applications LOB MSI (pile MDM) et Win32 (IME) dans les applications bloquantes : les installations TrustedInstaller concurrentes peuvent échouer. Tout empaqueter en Win32.
- Autoriser la réinitialisation en cas d'échec et l'utilisation de l'appareil pour les pilotes ; désactiver pour la production si l'on veut forcer la conformité.
- Windows Hello for Business se configure après l'ESP ; s'il est requis, prévoir le délai de provisioning des clés.
3.5 Pré-provisioning (ex-White Glove)
Le technicien (ou l'intégrateur) appuie 5 fois sur la touche Windows à l'écran OOBE, choisit « Windows Autopilot provisioning » : la phase Device setup est exécutée à l'atelier, le poste est rescellé (écran vert puis Reseal). L'utilisateur ne vit ensuite que la phase Account setup. Exigences : TPM 2.0 avec attestation, connexion filaire recommandée, profil autorisant le pré-provisioning.
3.6 Autopilot hybride : pourquoi l'éviter
- Intune Connector for Active Directory installé sur un serveur membre (la version récente utilise un compte de service géré ; mettre à jour les anciens connecteurs, dépréciés).
- OU déléguée pour la création d'objets ordinateur, profil Domain Join.
- Ligne de vue sur un contrôleur de domaine pendant l'OOBE (sur site ou VPN pré-logon).
- Synchronisation Entra Connect de l'objet ordinateur avant la première connexion utilisateur, sinon ESP en attente.
Chaque maillon est une source d'échec (voir section 15). Microsoft recommande explicitement l'Entra join pour les nouveaux déploiements.
4. Inscription Apple (ADE) et Android Enterprise
4.1 Apple : jetons et certificats
| Élément |
Rôle |
Validité |
Piège |
| Certificat Apple MDM Push (APNs) |
Indispensable à toute gestion iOS/iPadOS/macOS |
1 an |
Le renouveler avec le même Apple ID ; un nouveau certificat = réinscription de tous les appareils. Utiliser un Apple ID géré partagé (boîte de service), pas celui d'un admin. |
| Jeton ADE (Apple Business Manager) |
Inscription automatique des appareils achetés chez un revendeur agréé |
1 an |
Renouvellement à télécharger dans ABM puis importer dans Intune |
| Jeton VPP (Apps and Books) |
Distribution d'applications sous licence entreprise |
1 an |
Un jeton utilisé par un seul MDM à la fois |
Profil d'inscription ADE : supervision (obligatoire pour la plupart des restrictions), verrouillage de l'inscription (l'utilisateur ne peut pas retirer le profil MDM), authentification par Setup Assistant with modern authentication ou Company Portal. Pour macOS : Platform SSO (selon version) et FileVault avec séquestre de la clé dans Intune.
4.2 Android Enterprise : modes
| Mode |
Propriété |
Contrôle |
Inscription |
| Personally-owned work profile |
BYOD |
Profil professionnel isolé uniquement |
Company Portal |
| Corporate-owned work profile (COPE) |
Entreprise, usage perso autorisé |
Appareil + profil pro, vie privée préservée |
QR code, zero-touch, Knox Mobile Enrollment |
| Fully managed (COBO) |
Entreprise, usage pro |
Appareil entier |
QR code, zero-touch, token |
| Dedicated (COSU) |
Kiosque, terminal partagé |
Mode kiosque, applications verrouillées |
QR code, zero-touch |
Device administrator : l'ancien mode « Android device administrator » est déprécié pour les appareils disposant de Google Mobile Services. Toute nouvelle inscription doit passer par Android Enterprise (liaison Managed Google Play à faire une fois dans le tenant).
5.1 Chaîne de décision
- Une politique de conformité est évaluée sur l'appareil (check-in MDM, environ toutes les 8 heures, plus fréquemment juste après l'inscription).
- Intune écrit l'attribut
isCompliant sur l'objet appareil Entra.
- Le Conditional Access, avec le contrôle Require device to be marked as compliant, lit cet attribut via le Primary Refresh Token (Windows) ou le Company Portal / Authenticator (mobile).
5.2 Réglages tenant de conformité
- Mark devices with no compliance policy assigned as : passer à Not compliant. Sinon, un appareil sans politique est considéré conforme.
- Compliance status validity period : 30 jours par défaut ; un appareil qui ne fait pas de check-in devient non conforme.
- Actions en cas de non-conformité : marquer non conforme (immédiat ou avec délai de grâce), notification par mail, verrouillage à distance, retrait (retire) après N jours.
5.3 Politique Windows type
| Paramètre |
Valeur |
Remarque |
| BitLocker / Secure Boot / Code integrity |
Requis |
Évalués via Device Health Attestation : l'état n'est connu qu'après un redémarrage. Un poste fraîchement chiffré reste non conforme jusqu'au reboot. |
| Version minimale de l'OS |
Ex. 10.0.26100.xxxx |
Ajuster chaque mois après le Patch Tuesday + délai de grâce |
| Pare-feu, antivirus, antispyware |
Requis |
Via Windows Security Center |
| Microsoft Defender Antimalware à jour |
Requis |
- |
| Score de risque machine (MDE) |
Moyen ou inférieur |
Nécessite le connecteur Defender for Endpoint |
| TPM |
Requis |
- |
5.4 Conditional Access : politiques associées
| Politique |
Cible |
Contrôle |
| CA-Postes-Conformes |
Tous les utilisateurs, toutes les ressources, plateforme Windows/macOS |
Require compliant device OR hybrid joined (transition) |
| CA-Mobiles-MAM |
iOS/Android, Office 365 |
Require app protection policy |
| CA-Inscription-MFA |
Action utilisateur « Register or join devices » |
MFA (et pas de « require MFA » dans les Device settings en parallèle) |
| CA-Navigateur-Non-Gere |
SharePoint/Exchange depuis appareil non conforme |
Session : app enforced restrictions (lecture seule web) |
Effet de verrouillage : une politique « appareil conforme » appliquée à toutes les applications bloque aussi l'inscription d'un nouvel appareil si elle cible l'application Microsoft Intune Enrollment. Exclure les applications d'inscription concernées, tester en mode Report-only au moins une semaine, et toujours exclure les comptes bris de glace.
6. Profils de configuration et baselines
6.1 Types de politiques
| Type |
Usage |
Recommandation |
| Settings Catalog |
Plusieurs milliers de réglages (CSP + ADMX intégrés : Edge, Office, Windows) |
Format par défaut pour toute nouvelle politique |
| Templates (Administrative Templates, Device restrictions...) |
Anciens formats |
Ne plus créer ; migrer vers le Settings Catalog |
| Endpoint security |
Antivirus, pare-feu, disk encryption, ASR, account protection, EDR |
Politiques de sécurité ciblées, gérées par l'équipe sécurité |
| Security baselines |
Référentiels Microsoft (Windows, Edge, Defender, Microsoft 365 Apps) |
Point de départ, à décliner ; suivre les nouvelles versions |
| Custom (OMA-URI) |
CSP non exposés |
Dernier recours |
| ADMX importés |
Applications tierces (Chrome, Firefox, logiciels métier) |
Importer l'ADMX et l'ADML (en-US) dans Devices > Configuration > Import ADMX |
6.2 Conflits et précédence
- Deux politiques Intune qui configurent le même réglage avec des valeurs différentes = Conflict : aucune n'est appliquée de façon fiable. Le rapport Per setting status le signale.
- Réglage présent dans une baseline et dans une politique Settings Catalog : même logique de conflit. D'où la règle : un réglage = une seule politique.
- Intune contre GPO (hybrid) : par défaut, la GPO gagne pour beaucoup de réglages. Le paramètre
ControlPolicyConflict/MDMWinsOverGP inverse la priorité pour les réglages Policy CSP (pas pour tout). Préférer retirer les GPO.
- Group Policy analytics : importer les exports XML des GPO (
Get-GPOReport -All -ReportType Xml) pour voir ce qui est migrable vers le Settings Catalog.
# Export des GPO pour Group Policy analytics
Import-Module GroupPolicy
Get-GPO -All | ForEach-Object {
Get-GPOReport -Guid $_.Id -ReportType Xml -Path ("C:\GPOExport\" + $_.DisplayName + ".xml")
}
6.3 Exemple OMA-URI
Nom : Désactiver le compte Administrateur intégré (si LAPS gère un compte dédié)
OMA-URI : ./Device/Vendor/MSFT/Policy/Config/LocalPoliciesSecurityOptions/Accounts_EnableAdministratorAccountStatus
Type : Integer
Valeur : 0
Anneaux de configuration : appliquer toute nouvelle politique à un groupe IT, puis pilote métier (5 %), puis production. Intune n'offre pas de rollback : supprimer une assignation ne « désapplique » pas toujours le réglage (tattooing selon le CSP). Documenter la valeur d'origine.
7. BitLocker et Windows LAPS
7.1 BitLocker silencieux
Politique : Endpoint security > Disk encryption > BitLocker. Pour un chiffrement sans interaction utilisateur sur poste Entra joined :
RequireDeviceEncryption = Enabled ; AllowWarningForOtherDiskEncryption = Disabled (nécessaire au mode silencieux) ; AllowStandardUserEncryption = Enabled.
- Lecteur OS : protecteur TPM seul (TPM + PIN n'est pas silencieux), chiffrement XTS-AES 128 ou 256, « espace utilisé uniquement » pour un poste neuf.
- Sauvegarde de la clé de récupération dans Entra ID obligatoire et « ne pas activer BitLocker tant que la clé n'est pas sauvegardée ».
- Rotation de la clé après utilisation (client-driven recovery password rotation).
# Sur le poste : état et protecteurs
manage-bde -status C:
Get-BitLockerVolume -MountPoint C: | Select-Object -ExpandProperty KeyProtector
# Forcer la sauvegarde de la clé existante dans Entra ID (chiffrement fait avant Intune)
$kp = (Get-BitLockerVolume -MountPoint C:).KeyProtector | Where-Object KeyProtectorType -eq 'RecoveryPassword'
BackupToAAD-BitLockerKeyProtector -MountPoint C: -KeyProtectorId $kp.KeyProtectorId
# Journal : Applications and Services Logs > Microsoft > Windows > BitLocker-API > Management
# Lire une clé de récupération via Graph (audité, rôle adapté requis)
Connect-MgGraph -Scopes "BitlockerKey.Read.All"
Get-MgInformationProtectionBitlockerRecoveryKey -Filter "deviceId eq '<ENTRA_DEVICE_ID>'"
Get-MgInformationProtectionBitlockerRecoveryKey -BitlockerRecoveryKeyId "<KEY_ID>" -Property key | Select -Expand Key
Suppression d'appareil : supprimer l'objet appareil dans Entra ID supprime aussi les clés BitLocker qui y sont séquestrées. Un nettoyage automatique des appareils inactifs doit d'abord désactiver puis supprimer après un délai, en exportant les clés des postes non récupérés.
7.2 Windows LAPS
Windows LAPS est intégré à Windows depuis les mises à jour d'avril 2023 (Windows 10 22H2, Windows 11, Server 2019+). Il remplace le « legacy LAPS » (MSI). La politique se définit dans Endpoint security > Account protection > Local admin password solution.
| Réglage |
Valeur conseillée |
| Backup directory |
Microsoft Entra ID (Entra joined) ; AD pour les postes hybrides si l'on veut le chiffrement et l'historique |
| Password age |
30 jours |
| Administrator account name |
Compte dédié (ex. lapsadmin), le compte intégré étant désactivé ; sur Windows 11 24H2+, la gestion automatique du compte peut le créer/renommer |
| Password complexity / length |
Complexité maximale, 20 caractères ou passphrase |
| Post-authentication actions |
Réinitialiser le mot de passe et déconnecter (délai 8 h ou moins) |
# Lecture du mot de passe (module LAPS intégré à Windows, authentification Graph)
Connect-MgGraph -Scopes "Device.Read.All","DeviceLocalCredential.Read.All"
Get-LapsAADPassword -DeviceIds "PAR-PC0123" -IncludePasswords -AsPlainText
# Rotation immédiate depuis le poste (diagnostic) / depuis Intune : action "Rotate local admin password"
Invoke-LapsPolicyProcessing
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 20
Délégation : la lecture des mots de passe LAPS (comme des clés BitLocker) doit être confiée à un rôle personnalisé Entra limité au support, avec unités administratives si nécessaire. Chaque consultation est auditée dans les journaux d'audit Entra.
8. Windows Update for Business et Autopatch
8.1 Politiques disponibles
| Politique |
Rôle |
| Update rings |
Délais de report qualité/fonctionnalité, échéances (deadline), redémarrage, expérience utilisateur |
| Feature updates |
Version cible (ex. Windows 11 25H2) ; la machine ne dépasse pas cette version |
| Quality updates (expedite) |
Forcer une mise à jour de sécurité en urgence (zero-day), en ignorant les reports |
| Driver updates |
Approbation manuelle ou automatique des pilotes/firmwares Windows Update |
| Hotpatch |
Mises à jour sans redémarrage sur Windows 11 Enterprise 24H2+ (prérequis matériels et de licence à vérifier) |
8.2 Anneaux type
| Anneau |
Population |
Report qualité |
Échéance qualité |
Report fonctionnalité |
Période de grâce |
| Test |
IT (1 %) |
0 j |
2 j |
0 j |
1 j |
| Pilote |
Utilisateurs avertis (5-10 %) |
3 j |
3 j |
30 j |
2 j |
| Large |
Majorité |
7 j |
3 j |
60 j |
2 j |
| Critique |
Postes sensibles (production, accueil) |
10 j |
5 j |
90 j |
3 j |
Conflits WSUS/GPO : une GPO WUServer ou DisableDualScan héritée d'un ancien WSUS empêche WUfB de fonctionner. Sur un poste qui ne se met pas à jour, vérifier HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate : il ne doit pas contenir de référence WSUS pour un poste géré par Intune.
8.3 Windows Autopatch
Autopatch automatise la création des anneaux (groupes Test / First / Fast / Broad), le suivi des signaux de santé et la mise en pause en cas de régression, pour Windows, Microsoft 365 Apps, Edge et Teams. Son périmètre de licence a été élargi (inclus selon Microsoft dans E3/E5 et, pour une partie des fonctions, dans Business Premium) : vérifier les fonctionnalités disponibles pour votre SKU. L'enregistrement des appareils passe par des Autopatch groups ; ne pas superposer des update rings manuels sur les mêmes appareils.
Windows 10 : fin de support le 14 octobre 2025. Les postes restants doivent être couverts par les Extended Security Updates (ESU) ou migrés ; la politique Feature updates permet de cibler Windows 11 en contrôlant la compatibilité matérielle via le rapport de préparation (Windows feature update device readiness).
9. Déploiement d'applications
9.1 Types d'applications Windows
| Type |
Moteur |
Avantages |
Limites |
| Win32 (.intunewin) |
IME |
Tout installeur, détection fine, dépendances, remplacement (supersedence), codes retour |
Empaquetage obligatoire |
| Microsoft Store app (new) |
IME + winget |
Mise à jour automatique par le Store, apps UWP et Win32 du catalogue |
Catalogue limité ; dépend de l'accès au Store |
| Enterprise App Catalog |
IME |
Applications tierces pré-empaquetées et mises à jour |
Licence Intune Suite / Enterprise App Management |
| Line-of-business (MSI) |
MDM natif |
Simple |
Pas de dépendances, conflits ESP ; à éviter |
| Microsoft 365 Apps |
CSP Office |
Configuration XML intégrée |
Téléchargement long pendant l'ESP |
9.2 Empaquetage Win32
# Outil Microsoft Win32 Content Prep Tool
IntuneWinAppUtil.exe -c C:\Pkg\7zip\src -s 7z2408-x64.msi -o C:\Pkg\7zip\out -q
# Commandes (contexte System)
Installation : msiexec /i "7z2408-x64.msi" /qn /norestart
Désinstallation : msiexec /x {23170F69-40C1-2702-2408-000001000000} /qn /norestart
# Installeur EXE avec wrapper PowerShell
Installation : %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -File .\install.ps1
32 bits / 64 bits : l'IME lance les commandes d'installation dans un processus 32 bits. Sans %SystemRoot%\sysnative\, un script qui écrit dans HKLM\SOFTWARE ou C:\Program Files est redirigé vers WOW6432Node / Program Files (x86), et la règle de détection (64 bits) ne trouve rien : l'application reste en échec alors qu'elle est installée.
9.3 Règles de détection
| Type |
Quand l'utiliser |
Piège |
| Code produit MSI |
Installeur MSI |
Le code change à chaque version : lier la mise à jour par supersedence |
| Fichier (existence, version, date) |
EXE classiques |
Utiliser la version du fichier pour distinguer les versions |
| Registre |
Clé Uninstall |
Cocher « associée à une application 32 bits » si elle est sous WOW6432Node |
| Script PowerShell |
Logique complexe |
Détecté = code de sortie 0 ET texte écrit sur STDOUT. Un Write-Host seul ou un exit 0 sans sortie = non détecté. |
# Script de détection : application installée en version >= 24.08
$exe = "C:\Program Files\7-Zip\7z.exe"
if (Test-Path $exe) {
$v = [version](Get-Item $exe).VersionInfo.ProductVersion
if ($v -ge [version]"24.08") { Write-Output "Detected $v"; exit 0 }
}
exit 1
9.4 Dépendances, remplacement, assignation
- Dépendances : runtime (VC++, .NET) installé automatiquement avant l'application ; profondeur maximale limitée, pas de cycles.
- Supersedence : la nouvelle version remplace l'ancienne (désinstallation optionnelle) ; chaîne limitée à quelques niveaux, nettoyer régulièrement.
- Requirement rules : architecture, version d'OS, espace disque, script ; un échec d'exigence donne « Not applicable », pas « Failed ».
- Intentions : Required (forcée), Available (Company Portal, groupes d'utilisateurs), Uninstall.
- Codes retour : 0 succès, 1707 succès, 3010 soft reboot, 1641 hard reboot, 1618 retry (autre installation en cours) ; ajouter les codes spécifiques de l'éditeur.
- Delivery Optimization : le contenu Win32 passe par DO ; configurer le mode de groupe (LAN) pour éviter de saturer les liens des sites distants.
9.5 winget en complément
# Déploiement winget dans un Win32 (contexte System) : résoudre le chemin de winget.exe
$winget = Get-ChildItem "$env:ProgramFiles\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\winget.exe" |
Sort-Object FullName | Select-Object -Last 1
& $winget.FullName install --id Notepad++.Notepad++ --exact --silent --scope machine `
--accept-package-agreements --accept-source-agreements
Source fiable : le dépôt communautaire winget contient des manifestes soumis par des tiers. Pour un parc géré, privilégier le type « Microsoft Store app (new) » ou l'Enterprise App Catalog, ou épingler l'ID et contrôler le hash dans un dépôt privé.
10. Scripts PowerShell et Remediations
10.1 Comparatif
| Critère |
Platform scripts |
Remediations |
Win32 « script » |
| Exécution |
Une fois (ré-exécuté si le script change) |
Planifiée (une fois, horaire, quotidienne) ou à la demande |
Selon détection |
| Logique |
Script unique |
Détection (exit 1 = problème) + correction |
Détection + installation |
| Retour visible |
Succès/échec |
Sortie STDOUT (2048 caractères) visible dans le rapport |
État d'installation |
| Licence |
Intune |
Windows Enterprise E3/E5 ou équivalent (via M365 E3/E5) |
Intune |
| Usage |
Configuration ponctuelle |
Correction de dérive, inventaire personnalisé, conformité maison |
Déploiement idempotent avec dépendances |
10.2 Exemple de remediation
# detect.ps1 - le service de spouleur doit être désactivé sur les postes sans imprimante locale
$svc = Get-Service -Name Spooler -ErrorAction SilentlyContinue
if ($null -eq $svc) { Write-Output "Absent"; exit 0 }
if ($svc.StartType -eq 'Disabled' -and $svc.Status -eq 'Stopped') {
Write-Output "Conforme"; exit 0
}
Write-Output "Non conforme : $($svc.Status) / $($svc.StartType)"
exit 1
# remediate.ps1
try {
Stop-Service -Name Spooler -Force -ErrorAction Stop
Set-Service -Name Spooler -StartupType Disabled -ErrorAction Stop
Write-Output "Corrigé"; exit 0
} catch {
Write-Output "Echec : $($_.Exception.Message)"; exit 1
}
Signature et contexte : les scripts tournent en SYSTEM par défaut, avec un accès total au poste. Activer « Enforce script signature check » si une PKI de signature de code existe (voir
Sécurité PowerShell), ne jamais y inscrire de secret (le script est stocké en cache sur le poste et lisible dans les journaux IME), et limiter le rôle autorisant la création de scripts.
10.3 Inventaire personnalisé
Les Remediations en mode « détection seule » sont un moyen simple de remonter une information (version d'un pilote, présence d'un fichier) : la sortie STDOUT est exportable depuis le rapport. Pour un inventaire structuré et requêtable, Intune propose aussi des propriétés d'inventaire étendues (Properties catalog) et Device query (selon licence).
11. Defender for Endpoint et règles ASR
11.1 Onboarding via Intune
- Portail Defender : Settings > Endpoints > Advanced features > activer Microsoft Intune connection.
- Intune : Endpoint security > Microsoft Defender for Endpoint > connecteur actif, partage des données de conformité pour Windows/iOS/Android.
- Politique Endpoint security > Endpoint detection and response avec le package d'onboarding « Auto from connector ».
- Politiques Antivirus (protection cloud niveau High, délai de blocage étendu, PUA bloquées, Tamper protection).
- Conformité : exiger un score de risque machine plafonné (section 5).
# Vérification sur le poste
Get-MpComputerStatus | Select AMRunningMode, RealTimeProtectionEnabled, IsTamperProtected, AntivirusSignatureLastUpdated
sc.exe query sense
# Onboarding : HKLM\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status -> OnboardingState = 1
11.2 Règles ASR prioritaires
| Règle |
GUID |
Risque de faux positifs |
| Block abuse of exploited vulnerable signed drivers |
56a863a9-875e-4185-98a7-b882c64b5ce5 |
Faible |
| Block credential stealing from LSASS |
9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 |
Faible (bruit d'audit sur outils de gestion) |
| Block persistence through WMI event subscription |
e6db77e5-3df2-4cf1-b95a-636979351e5b |
Faible |
| Block executable content from email client and webmail |
be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 |
Faible |
| Block all Office applications from creating child processes |
d4f940ab-401b-4efc-aadc-ad5f3c50688a |
Moyen (macros métier, compléments) |
| Block process creations originating from PSExec and WMI commands |
d1e49aac-8f56-4280-b9ba-993a6d77406c |
Élevé (incompatible avec ConfigMgr) |
Ces identifiants sont ceux de la documentation Microsoft « Attack surface reduction rules reference » : la recopier depuis la source pour toute règle supplémentaire. Méthode : Audit 30 jours, analyse, exclusions ciblées (par chemin, par règle), puis Block par anneaux. Le mode Warn laisse l'utilisateur contourner, utile pour la transition.
# Sur le poste : règles et état (0 = off, 1 = block, 2 = audit, 6 = warn)
$p = Get-MpPreference
for ($i=0; $i -lt $p.AttackSurfaceReductionRules_Ids.Count; $i++) {
"{0} {1}" -f $p.AttackSurfaceReductionRules_Ids[$i], $p.AttackSurfaceReductionRules_Actions[$i]
}
# Événements : Microsoft-Windows-Windows Defender/Operational, ID 1121 (bloqué), 1122 (audit)
Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" |
Where-Object { $_.Id -in 1121,1122 } | Select -First 20 TimeCreated, Id, Message
// Advanced hunting (Defender XDR) : déclenchements ASR sur 30 jours
DeviceEvents
| where Timestamp > ago(30d)
| where ActionType startswith "Asr"
| summarize Nb = count() by ActionType, FileName, FolderPath, InitiatingProcessFileName
| order by Nb desc
12. MAM / App Protection (BYOD)
12.1 MDM ou MAM ?
| Critère |
MDM (inscription) |
MAM sans inscription (MAM-WE) |
| Contrôle |
Appareil complet |
Données d'entreprise dans les applications protégées |
| Acceptabilité BYOD |
Faible (vie privée) |
Élevée |
| Wipe |
Complet ou retrait |
Sélectif (données pro uniquement) |
| Prérequis |
Company Portal, inscription |
Applications compatibles Intune SDK (Outlook, Teams, Office, Edge) + broker (Authenticator / Company Portal) |
12.2 Réglages d'une politique de protection d'applications
- Transfert de données : envoyer vers Policy managed apps uniquement ; restreindre copier/coller vers les applications gérées (avec coller entrant autorisé) ; enregistrer sous OneDrive/SharePoint uniquement.
- Accès : PIN application (ou biométrie), revalidation après 30 minutes d'inactivité.
- Lancement conditionnel : version d'OS minimale, appareil jailbreaké/rooted = wipe des données, Play Integrity (Android), hors ligne > 90 jours = wipe, menace MTD (Defender for Endpoint mobile) > niveau autorisé.
Le framework de protection des données Microsoft définit trois niveaux (Basic, Enhanced, High) : partir du niveau 2 pour les utilisateurs standards, niveau 3 pour les populations sensibles.
Le contrôle Conditional Access Require app protection policy garantit que seules les applications protégées accèdent à Exchange/SharePoint depuis iOS/Android. Pour Windows personnel, MAM pour Microsoft Edge permet un accès protégé via un profil Edge professionnel, sans inscription.
Client mail natif : les applications Mail natives iOS/Android ne supportent pas les politiques de protection. La politique CA doit les bloquer, sinon les données sortent du périmètre MAM par ce canal.
13. Rapports, journaux et diagnostics
13.1 Emplacements sur le poste Windows
| Source |
Chemin |
Contenu |
| IME principal |
C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log |
Check-in IME, politiques, scripts |
| Applications Win32 |
...\Logs\AppWorkload.log |
Téléchargement, détection, installation, codes retour (séparé de l'IME log dans les versions récentes) |
| Exécution des scripts |
...\Logs\AgentExecutor.log |
Ligne de commande PowerShell, sortie, code |
| Remediations |
...\Logs\HealthScripts.log |
Planification et résultats |
| Pile MDM |
Observateur : Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin |
Inscription, application des CSP, erreurs OMA-DM |
| Autopilot |
Observateur : Microsoft-Windows-ModernDeployment-Diagnostics-Provider/Autopilot |
Profil téléchargé, étapes OOBE |
| Entra join / PRT |
Observateur : Microsoft-Windows-AAD/Operational, User Device Registration/Admin |
Jonction, jetons |
| Scripts et contenus en cache |
C:\Program Files (x86)\Microsoft Intune Management Extension\Content\ |
Scripts et paquets téléchargés |
| État Win32 (registre) |
HKLM\SOFTWARE\Microsoft\IntuneManagementExtension\Win32Apps\<UserId>\<AppId> |
Résultat, tentatives, GRS |
Lecture des .log : utiliser CMTrace (fourni avec ConfigMgr) ou OneTrace : ces journaux sont au format CMTrace et deviennent illisibles dans un éditeur texte dès qu'ils dépassent quelques Mo.
13.2 Outils de diagnostic
# Rapport HTML MDM (politiques appliquées, certificats, inscription)
mdmdiagnosticstool.exe -out C:\Temp\MDMDiag
# Archive complète pour Autopilot / inscription (à joindre à un ticket)
mdmdiagnosticstool.exe -area "DeviceEnrollment;DeviceProvisioning;Autopilot" -zip C:\Temp\MDMDiag.zip
# État de jonction et du PRT
dsregcmd /status
# AzureAdJoined : YES / DomainJoined : YES-NO / AzureAdPrt : YES / DeviceAuthStatus : SUCCESS
# Forcer une synchronisation MDM (équivalent du bouton "Sync" de Paramètres > Comptes > Accès professionnel)
Get-ScheduledTask -TaskPath "\Microsoft\Windows\EnterpriseMgmt\*" -TaskName "Schedule #3 created by enrollment client" |
Start-ScheduledTask
# Relancer l'IME (réévaluation des apps Win32 et scripts)
Restart-Service -Name IntuneManagementExtension
# Diagnostics Autopilot lisibles (script communautaire)
Install-Script -Name Get-AutopilotDiagnosticsCommunity -Force
Get-AutopilotDiagnosticsCommunity -Online
Depuis la console : Devices > [appareil] > Collect diagnostics récupère à distance journaux et clés de registre (Windows 10 1909+ géré), téléchargeables en ZIP sans prise en main.
13.3 Rapports de la console
- Device compliance / Noncompliant devices and settings : quel réglage rend l'appareil non conforme.
- Per setting status d'une politique : Succeeded / Error / Conflict / Not applicable.
- App install status avec le code d'erreur hexadécimal (0x87D1041C = application non détectée après installation réussie).
- Windows Autopilot deployments (30 jours), Enrollment failures.
- Endpoint analytics : temps de démarrage, plantages applicatifs, score d'expérience.
- Export vers Log Analytics (diagnostic settings) pour une rétention et des requêtes au-delà de la console (voir Monitoring).
14. Graph PowerShell pour Intune
Install-Module Microsoft.Graph -Scope CurrentUser
Connect-MgGraph -Scopes "DeviceManagementManagedDevices.ReadWrite.All","DeviceManagementConfiguration.Read.All",`
"DeviceManagementServiceConfig.ReadWrite.All","DeviceManagementApps.Read.All"
# Inventaire : appareils non conformes ou sans check-in depuis 14 jours
$limite = (Get-Date).AddDays(-14)
Get-MgDeviceManagementManagedDevice -All |
Where-Object { $_.ComplianceState -ne 'compliant' -or $_.LastSyncDateTime -lt $limite } |
Select DeviceName, UserPrincipalName, OperatingSystem, OsVersion, ComplianceState, LastSyncDateTime |
Export-Csv C:\audit\intune-a-traiter.csv -NoTypeInformation -Encoding UTF8
# Forcer une synchronisation
$dev = Get-MgDeviceManagementManagedDevice -Filter "deviceName eq 'PAR-PC0123'"
Sync-MgDeviceManagementManagedDevice -ManagedDeviceId $dev.Id
# Politiques de conformité et assignations
Get-MgDeviceManagementDeviceCompliancePolicy | Select DisplayName, Id
Get-MgDeviceManagementDeviceCompliancePolicyAssignment -DeviceCompliancePolicyId "<POLICY_ID>"
# Appareils Autopilot (hash enregistrés) et group tags
Get-MgDeviceManagementWindowsAutopilotDeviceIdentity -All |
Select SerialNumber, Model, GroupTag, EnrollmentState, LastContactedDateTime
# Applications Win32 (types spécifiques exposés via l'API ; certaines propriétés uniquement en beta)
Get-MgDeviceAppManagementMobileApp -Filter "isof('microsoft.graph.win32LobApp')" | Select DisplayName, Id
# Appel brut (endpoint non couvert par un cmdlet) : résumé de conformité
Invoke-MgGraphRequest -Method GET `
-Uri "https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicyDeviceStateSummary"
# Sauvegarde de la configuration : exporter toutes les politiques Settings Catalog en JSON
$pol = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/deviceManagement/configurationPolicies?`$expand=settings" -OutputType PSObject
$pol.value | ForEach-Object { $_ | ConvertTo-Json -Depth 50 | Out-File ("C:\IntuneBackup\" + $_.name + ".json") -Encoding utf8 }
Configuration as code : Intune n'a pas de versioning natif des politiques. Exporter régulièrement la configuration (scripts Graph ci-dessus, ou outils open source de sauvegarde/documentation Intune) vers un dépôt Git (voir
Git) donne un historique, un diff et une base de restauration. En automatisation, utiliser une application Entra avec certificat et permissions
Application minimales, jamais un compte admin.
15. Dépannage
15.1 Inscription et Autopilot
| Symptôme |
Cause probable |
Correction |
| OOBE standard au lieu de l'écran Autopilot de l'entreprise |
Hash non importé, profil non assigné (groupe dynamique pas encore recalculé), pas d'accès Internet au premier écran |
Vérifier « Profile status : Assigned » dans Windows Autopilot devices ; attendre ; redémarrer l'OOBE |
| 0x80180014 |
Restriction d'inscription (plateforme ou appareil personnel bloqué) ou appareil précédemment supprimé encore bloqué côté Intune |
Revoir les restrictions ; supprimer l'ancien enregistrement Intune avant réinscription |
| 0x80180018 |
Utilisateur sans licence Intune |
Licence + MDM user scope incluant l'utilisateur |
| 0x801c03ed |
Utilisateur non autorisé à joindre des appareils, ou objet appareil Entra supprimé/désactivé alors que le hash Autopilot existe |
Device settings Entra ; supprimer le hash puis le réimporter pour recréer l'objet |
| « Something went wrong » / 0x80180005, 0x8018002b |
UPN non routable, MDM user scope à None, limite d'appareils par utilisateur atteinte |
Corriger l'UPN, le scope, la limite |
| ESP bloquée sur « Identifying » ou une application |
Application Win32 dont la détection échoue, conflit LOB MSI/Win32, application requise en contexte utilisateur pendant la phase device |
Shift+F10, lire AppWorkload.log ; réduire la liste des apps bloquantes |
| Hybride : 0x80070774 / « domain not found » |
Connecteur AD indisponible ou ancien, pas de ligne de vue DC, OU non déléguée |
Logs du connecteur sur le serveur, test réseau vers DC, droits sur l'OU |
| Pré-provisioning échoue sur TPM |
Attestation TPM impossible (firmware, horloge, flux réseau vers les services d'attestation bloqué par le proxy) |
Mettre à jour le firmware TPM, autoriser les URL d'attestation, tester en réseau direct |
Codes d'erreur : la signification exacte des codes 0x8018xxxx varie selon le contexte (Autopilot, inscription manuelle, Company Portal). Toujours croiser avec le journal DeviceManagement-Enterprise-Diagnostics-Provider/Admin et la page « Troubleshoot Windows device enrollment » de la documentation Microsoft.
15.2 Application Win32 bloquée
| Symptôme |
Cause |
Correction |
| 0x87D1041C « not detected after installation » |
Règle de détection fausse (32/64 bits, version, script sans STDOUT) |
Tester la détection localement en SYSTEM (psexec -s -i), corriger |
| Reste « Install pending » ou « Downloading » |
IME bloqué, Delivery Optimization ou proxy filtrant le CDN, espace disque |
AppWorkload.log, redémarrer l'IME, autoriser les URL de contenu |
| Échec puis aucune nouvelle tentative |
Global Retry Schedule : 3 essais puis attente 24 h |
Supprimer la sous-clé Win32Apps\<UserId>\<AppId> et la clé GRS correspondante, redémarrer l'IME |
| Code 1618 |
Autre installation MSI en cours (Windows Update, autre app) |
Retry automatique ; éviter les apps LOB MSI en parallèle |
| Install OK en local, échec via Intune |
Contexte SYSTEM (pas de profil utilisateur, pas de lecteur réseau), processus 32 bits, interaction requise |
Tester en SYSTEM, utiliser sysnative, paramètres silencieux |
| « Not applicable » |
Requirement rule non satisfaite, filtre d'assignation |
Vérifier architecture, version OS, script d'exigence |
15.3 Conformité incorrecte
| Symptôme |
Cause |
Correction |
| « Not compliant » sur BitLocker alors que le disque est chiffré |
Health Attestation pas encore rafraîchie (pas de redémarrage depuis le chiffrement) |
Redémarrer puis synchroniser ; patienter un cycle de check-in |
| Conforme dans Intune, bloqué par le CA |
Plusieurs objets appareil Entra (doublon hybrid/registered), PRT absent, navigateur sans SSO (Chrome sans extension, profil InPrivate) |
dsregcmd /status, supprimer l'enregistrement « registered » en double, extension Microsoft SSO pour Chrome |
| « Not evaluated » / « In grace period » |
Appareil récemment inscrit, pas de check-in, utilisateur principal absent |
Forcer la synchro, vérifier l'utilisateur principal |
| Non conforme « Is active » (Default Device Compliance Policy) |
Pas de check-in depuis la période de validité |
Remettre l'appareil en ligne ; retirer les appareils obsolètes |
| Score de risque MDE « High » persistant |
Alerte non résolue dans Defender |
Traiter/résoudre l'alerte ; le score se met à jour ensuite |
16. Pièges et checklist de mise en production
16.1 Pièges classiques
- « Appareils sans politique = conformes » laissé par défaut : le CA est contournable par tout appareil inscrit sans politique.
- Utilisateurs admin locaux via le profil Autopilot ou le réglage Entra : annule l'essentiel du durcissement. Utiliser LAPS et, pour les élévations ponctuelles, Endpoint Privilege Management (licence dédiée).
- Assignation à « All devices » d'une politique non testée : pas de rollback ; certains réglages restent appliqués (tattooing).
- Mélange GPO + Intune sur le même réglage : résultat imprévisible, la GPO gagne souvent.
- Suppression d'appareils Entra sans export des clés BitLocker.
- Certificat APNs renouvelé avec un autre Apple ID : réinscription de tous les appareils Apple.
- Exclusions ASR et antivirus trop larges (
C:\Users\*, *.exe) : neutralisent la protection.
- Secrets dans les scripts : lisibles en cache et dans les journaux IME.
- Win32 sans
sysnative : détections fausses et applications en échec perpétuel.
- Trop d'applications bloquantes dans l'ESP : déploiements de 2 heures et échecs aléatoires.
- Pas de second admin approbateur : un compte compromis = wipe ou script sur tout le parc.
16.2 Checklist
Fondations
- [ ] Licences Entra ID P1 + Intune attribuées par groupe ; MDM user scope configuré.
- [ ] CNAME
enterpriseenrollment / enterpriseregistration publiés.
- [ ] Restrictions d'inscription (plateformes, appareils personnels, limite par utilisateur).
- [ ] Aucun admin local supplémentaire dans Entra ; Windows LAPS activé (Entra + politique).
- [ ] RBAC Intune avec rôles personnalisés et scope tags ; Multi Admin Approval sur wipe/scripts/apps.
- [ ] Groupes dynamiques et filtres documentés ; anneaux Test / Pilote / Production.
Inscription
- [ ] Hash déclarés par le fournisseur ou importés, group tags normalisés.
- [ ] Profil Autopilot Entra joined, utilisateur standard, nommage défini.
- [ ] ESP avec liste minimale d'apps bloquantes, timeout adapté, applications en Win32.
- [ ] Apple : APNs sur Apple ID de service, jeton ADE et VPP, rappel de renouvellement à J-30.
- [ ] Android Enterprise lié à Managed Google Play ; device administrator désactivé.
Sécurité
- [ ] Appareils sans politique = non conformes ; politiques de conformité par plateforme avec délai de grâce.
- [ ] Conditional Access « appareil conforme » validé en Report-only, bris de glace exclus.
- [ ] BitLocker silencieux avec séquestre Entra et rotation ; FileVault séquestré pour macOS.
- [ ] Security baselines appliquées sans conflit avec le Settings Catalog.
- [ ] Defender for Endpoint onboardé via le connecteur, Tamper protection activée.
- [ ] Règles ASR en audit puis block par anneaux ; exclusions documentées.
- [ ] MAM pour les mobiles personnels + CA « app protection policy », clients mail natifs bloqués.
Exploitation
- [ ] Anneaux Windows Update (ou Autopatch) actifs, échéances définies, aucune référence WSUS résiduelle.
- [ ] Version d'OS minimale dans la conformité revue chaque mois.
- [ ] Remediations de dérive critiques en place ; scripts signés, sans secret.
- [ ] Export régulier de la configuration Intune vers Git ; diagnostic settings vers Log Analytics.
- [ ] Nettoyage des appareils inactifs (désactivation puis suppression, clés BitLocker exportées).
- [ ] Procédures support : collecte de diagnostics, lecture LAPS/BitLocker, réinitialisation Autopilot.