0%
⚡ Intune · Module 7 · PowerShell & Remediations

Scripts PowerShell et Remédiation Proactive

Admin IT chez Argos Consulting — automatise la maintenance et détecte les dérives avant qu'elles deviennent des incidents.

⏰ 35 min 📊 Intermédiaire / Avancé 🎯 Centre d'administration Intune 💻 Windows 11 · IME
🕐 Contenu vérifié le 21 juin 2026documentation officielle Microsoft Learn
1
Scripts PowerShell vs Remediations : quand utiliser quoi ?

Intune propose deux mécanismes complémentaires pour exécuter du PowerShell sur tes postes Windows. Comprendre la différence est essentiel avant de déployer quoi que ce soit.

📜 Scripts PowerShell
ObjectifExécuter une action une seule fois
LogiquePas de script de détection
Fréquence1x ou toutes les 24h (paramètre)
RésultatSuccess / Failed
LicenceIntune Plan 1 (inclus M365 BP+)
Taille max200 KB
ContexteSYSTEM ou User connecté
Cas d'usageInstallation initiale, config one-shot
🔄 Remediations (Proactive)
ObjectifDétecter ET corriger en continu
LogiqueDetect.ps1 + Remediate.ps1
Fréquence1h, 6h, 12h, 24h, personnalisé
RésultatWithout issue / Fixed / Failed / Error
LicenceM365 E3/E5 ou Intune Suite ⚠
Taille max200 KB par script
ContexteSYSTEM uniquement
Cas d'usageConformité continue, auto-réparation
⚠️ Prérequis licence Remediations : la fonctionnalité Remediations nécessite Microsoft 365 E3, E5, F3 ou Intune Suite. Un simple Intune Plan 1 ou Business Premium ne suffit pas. Chez Argos Consulting (M365 E3), tu as accès aux Remediations.
💡 L'Intune Management Extension (IME) est l'agent local installé automatiquement sur les postes Entra Joined ou Hybrid Joined lors du premier déploiement de script ou d'app Win32. Il s'exécute en tant que SYSTEM et gère la file d'attente des scripts. Log : C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\
2
Exemples de scripts terrain — console PowerShell Intune

Trois cas d'usage concrets pour Argos Consulting. Explore chaque script, comprends sa logique, et copie-le pour ton propre déploiement.

Windows PowerShell — Intune Management Extension
# Detect-SMBv1.ps1 — Argos Consulting
# Détecte si SMBv1 est activé (exit 1 = à remédier)
try {
  $smb = Get-SmbServerConfiguration | Select-Object -ExpandProperty EnableSMB1Protocol
  if ($smb -eq $true) {
    Write-Output "SMBv1 activé — remédiation requise"
    exit 1  # non-conforme
  } else {
    Write-Output "SMBv1 désactivé — OK"
    exit 0  # conforme
  }
} catch { Write-Output "Erreur : $_"; exit 1 }

# ─── Remediate-SMBv1.ps1 ───────────────────────────────
try {
  Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
  Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
  Write-Output "SMBv1 désactivé avec succès"
  exit 0
} catch { Write-Output "Échec : $_"; exit 1 }
# Detect-DiskSpace.ps1 — seuil 10 GB minimum sur C:
$threshold = 10GB
$drive = Get-PSDrive -Name C
$free = $drive.Free

if ($free -lt $threshold) {
  $freeGB = [math]::Round($free / 1GB, 1)
  Write-Output "Espace insuffisant : ${freeGB} GB libres"
  exit 1  # déclenche Remediate
} else { Write-Output "Espace OK"; exit 0 }

# ─── Remediate-DiskSpace.ps1 ──────────────────────────
Clear-RecycleBin -Force -ErrorAction SilentlyContinue
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
Start-Process -FilePath "cleanmgr.exe" -ArgumentList "/sagerun:1" -Wait
Write-Output "Nettoyage terminé"; exit 0
# Detect-Shortcuts.ps1 — vérifie le raccourci Teams sur le bureau
$target = "$env:PUBLIC\Desktop\Microsoft Teams.lnk"
if (-not (Test-Path $target)) {
  Write-Output "Raccourci Teams absent"; exit 1
} else { Write-Output "Raccourci OK"; exit 0 }

# ─── Remediate-Shortcuts.ps1 ──────────────────────────
$WS = New-Object -ComObject WScript.Shell
$lnk = $WS.CreateShortcut("$env:PUBLIC\Desktop\Microsoft Teams.lnk")
$lnk.TargetPath = "C:\Program Files\Microsoft\Teams\current\Teams.exe"
$lnk.IconLocation = "C:\Program Files\Microsoft\Teams\current\Teams.exe,0"
$lnk.Save()
Write-Output "Raccourci créé sur le bureau public"; exit 0
💡 Taille max & encodage : chaque script ne peut pas dépasser 200 KB. Pour les caractères spéciaux, le portail Intune accepte aussi les scripts encodés en Base64. Pour encoder : [Convert]::ToBase64String([System.IO.File]::ReadAllBytes("script.ps1"))
3
Créer un package Remediation dans Intune — pas à pas

Suis les étapes pour créer le package SMBv1 dans le portail Intune.

1
2
3
4
5
6
Étape 1 / 6
🌐 Accéder à la section Remediations

Dans le Centre d'administration Intune, navigue jusqu'à la section dédiée.

intune.microsoft.com
→ Devices
Manage devices
→ Scripts and remediations
Remediations
→ + Create
💡 Si tu ne vois pas "Remediations" dans le menu, vérifie que ton compte a le rôle Intune Administrator ou Policy and Profile Manager.
Étape 2 / 6
📝 Informations de base du package
Étape 3 / 6
📁 Upload des scripts Detect + Remediate

Dans l'onglet Settings, tu dois uploader deux scripts distincts.

📄 Detection script
Detect-SMBv1.ps1
exit 0 = conforme
exit 1 = à remédier
🔨 Remediation script
Remediate-SMBv1.ps1
Exécuté si detect exit 1
exit 0 = correction OK
⚠️ Run this script using the logged-on credentials : laisse désactivé pour les remediations système (SMBv1, Services...). Active seulement si le script doit agir dans le contexte utilisateur (raccourcis bureau personnel, HKCU).
Étape 4 / 6
⏱️ Paramétrer la fréquence d'exécution

Choisis à quelle fréquence Intune doit vérifier la conformité SMBv1.

1 heure
6 heures
12 heures
24 heures
✓ Oui (recommandé)
Non (32-bit)
💡 Pour SMBv1, 12 heures est un bon compromis : tu détectes une réactivation manuelle dans la demi-journée. Pour la sécurité critique, descends à 1 heure.
Étape 5 / 6
👥 Assigner aux groupes cibles

Déploie sur le groupe de postes Argos Consulting.

GRP-Argos-AllWindows11 ✓ Ajouté
GRP-Argos-TestPilotes (3 postes pilotes)
⚠️ Déploie d'abord sur un groupe pilote restreint (3 à 5 postes) avant un rollout complet. Un script de remédiation mal écrit peut compromettre des dizaines de postes simultanément.
Étape 6 / 6
✓ Révision et déploiement

Récapitulatif du package avant création.

📋 Argos-RemSMBv1-Disable — v1.0
ScriptsDetect-SMBv1.ps1 + Remediate-SMBv1.ps1
FréquenceToutes les 12 heures
ContexteSYSTEM (64-bit)
CiblesGRP-Argos-AllWindows11
ExclusionGRP-Argos-TestPilotes
4
Dashboard de résultats — simulateur de rapport Intune

Voici ce que tu verras dans la console après 24h de déploiement sur le parc Argos (80 postes). Filtre par statut pour prioriser les actions.

67
✓ Without issue
SMBv1 déjà désactivé
8
🔨 Remediated
SMBv1 désactivé automatiquement
5
❌ Error
Remédiation échouée
Appareil Utilisateur Detect Remediate Dernière vérif.
💡 Les 5 postes en Error : souvent liés à des appareils hors ligne au moment de l'exécution. Pour investiguer : clique sur l'appareil dans Intune → Device status → voir le message d'erreur ou consulter le log IME local.
5
Simulateur de codes de retour (exit codes)

L'exit code de ton script dicte le comportement d'Intune. Simule différents codes pour comprendre ce qui se passe dans la console.

Ton script Detect.ps1 retourne :

Référence des exit codes — Remediations
exit 0 Without issue Conforme — Remediate.ps1 n'est PAS exécuté
exit 1 Non conforme Remediate.ps1 est déclenché automatiquement
Autre Detection error Erreur d'exécution du script de détection
Rem. 0 Fixed Remediate.ps1 a réussi la correction
6
Bonnes pratiques — checklist de déploiement

Coche chaque point avant de déployer en production sur les 80 postes Argos.

7
Quiz de consolidation
🧠 Scripts PowerShell et Remediations — 5 questions · Score max : 8 pts
Quel est le code de retour que doit retourner un script de détection pour signaler qu'un appareil est non conforme et déclencher la remédiation ?
Quelle licence Microsoft 365 est requise pour utiliser les Remediations dans Intune ?
Quel est l'emplacement du fichier de log de l'IME sur un poste Windows 11 ?
Dans quel contexte d'exécution les Remediations s'exécutent-elles par défaut ?
⭐⭐ Tu déploies une Remediation pour nettoyer l'espace disque. Après 48h, 12 postes affichent "Remediation failed". Quelle est la première investigation à mener ?