PowerShell - Microsoft Edge - Ouvrir et afficher une page web en plein écran

📌 Introduction

Bonjour à tous ! Voici un petit article pour partager un script PowerShell qui permet de lancer une page web dans Microsoft Edge et de l'afficher automatiquement en plein écran (mode kiosque), sans interaction utilisateur.

Ce type de script est particulièrement utile dans les contextes suivants :

  • Affichage d'un dashboard sur un écran de supervision
  • Borne d'information ou écran kiosque en entreprise
  • Affichage automatique d'une page de statut au démarrage d'un poste
  • Présentation en salle de réunion sans manipulation manuelle

📄 Le script

Le principe est simple : on lance Edge sur l'URL cible, on attend qu'il soit chargé, on l'active en premier plan, puis on envoie la touche F11 pour passer en plein écran.

# ── Ouvrir Microsoft Edge sur l'URL cible ────────────────────────────────────
Start-Process microsoft-edge:https://delacourt.ovh

# ── Créer un objet WScript.Shell pour simuler des touches clavier ─────────────
$wshell = New-Object -ComObject wscript.shell

# ── Attendre qu'Edge soit chargé et l'activer en premier plan ─────────────────
Start-Sleep -Seconds 2
$wshell.AppActivate('Google - Microsoft Edge')

# ── Envoyer F11 pour passer en plein écran ───────────────────────────────────
Start-Sleep -Seconds 1
$wshell.SendKeys('{F11}')

🔍 Explication ligne par ligne

Ligne Rôle
Start-Process microsoft-edge:https://... Lance Edge directement sur l'URL via le protocole URI microsoft-edge:
New-Object -ComObject wscript.shell Crée un objet COM Windows Script Host pour interagir avec le bureau
Start-Sleep -Seconds 2 Laisse le temps à Edge de démarrer et charger la page
$wshell.AppActivate('...') Met la fenêtre Edge au premier plan (nécessaire avant d'envoyer des touches)
$wshell.SendKeys('{F11}') Simule l'appui sur F11 pour basculer en plein écran
⚠️ Important : La valeur passée à AppActivate() doit correspondre au titre exact de la fenêtre Edge. Ce titre varie selon la page chargée. Par exemple, si votre page s'appelle "Mon Dashboard", utilisez $wshell.AppActivate('Mon Dashboard - Microsoft Edge').

⚙️ Version améliorée — avec détection du titre de fenêtre

Pour éviter les problèmes liés au titre de la fenêtre, voici une version plus robuste qui recherche la fenêtre Edge automatiquement :

# ── Configuration ────────────────────────────────────────────────────────────
$url          = "https://delacourt.ovh"
$delaiCharge  = 4   # secondes d'attente avant d'envoyer F11

# ── Lancer Edge sur l'URL cible ───────────────────────────────────────────────
Write-Output "Lancement de Microsoft Edge sur : $url"
Start-Process "microsoft-edge:$url"

# ── Attendre le chargement ────────────────────────────────────────────────────
Write-Output "Attente de $delaiCharge secondes..."
Start-Sleep -Seconds $delaiCharge

# ── Créer l'objet WScript.Shell ───────────────────────────────────────────────
$wshell = New-Object -ComObject wscript.shell

# ── Chercher la fenêtre Edge parmi les processus actifs ───────────────────────
$edgeProcess = Get-Process -Name "msedge" -ErrorAction SilentlyContinue |
               Where-Object { $_.MainWindowTitle -ne "" } |
               Select-Object -First 1

if ($edgeProcess) {
    $windowTitle = $edgeProcess.MainWindowTitle
    Write-Output "Fenêtre détectée : $windowTitle"

    # Activer la fenêtre Edge
    $wshell.AppActivate($windowTitle)
    Start-Sleep -Milliseconds 500

    # Envoyer F11 pour plein écran
    $wshell.SendKeys('{F11}')
    Write-Output "✅ Plein écran activé."
} else {
    Write-Warning "❌ Aucune fenêtre Edge détectée. Vérifiez qu'Edge est bien lancé."
}
💡 Astuce : Pour un affichage au démarrage automatique du poste, placez ce script dans le dossier Démarrage de Windows (shell:startup) ou configurez-le via une GPO avec un script de démarrage de session.

🖥️ Alternative — Mode kiosque natif d'Edge

Microsoft Edge propose un mode kiosque natif qui est encore plus adapté pour les bornes d'affichage, car il désactive la barre d'adresse, les menus et empêche toute navigation hors de la page définie :

# ── Mode kiosque natif Microsoft Edge ────────────────────────────────────────
# --kiosk         : active le mode kiosque
# --edge-kiosk-type=fullscreen : plein écran sans barre de navigation
# --no-first-run  : désactive l'assistant de premier lancement

$url        = "https://delacourt.ovh"
$edgePath   = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

Start-Process -FilePath $edgePath -ArgumentList @(
    "--kiosk $url",
    "--edge-kiosk-type=fullscreen",
    "--no-first-run",
    "--disable-infobars",
    "--disable-session-crashed-bubble"
)
Paramètre Effet
--kiosk Active le mode kiosque
--edge-kiosk-type=fullscreen Plein écran total sans barre de navigation
--no-first-run Supprime l'assistant de bienvenue au premier lancement
--disable-infobars Masque les barres d'information Edge
--disable-session-crashed-bubble Supprime le popup de récupération après crash

✅ Conclusion

Ces deux approches sont complémentaires : le script SendKeys + F11 est idéal pour un usage ponctuel et rapide, tandis que le mode kiosque natif d'Edge est recommandé pour un déploiement en production sur des bornes ou des écrans d'affichage dynamique.


💬 Vous utilisez Edge en mode kiosque dans votre infrastructure ? Partagez vos retours en commentaires !

Commentaires

Posts les plus consultés de ce blog

MDT - Guide de résolution des problèmes courants de configuration lors du déploiement d'un système d'exploitation Microsoft

PowerShell - Active Directory - Désactiver automatiquement les comptes expirés

Workspace One - Utilisation de réseaux Wi-Fi WPA3 avec Workspace ONE UEM