Aller au contenu principal

Échec de distribution causé par RDPInput.exe

Dépannage

Problème

Les distributions planifiées peuvent échouer avec l’erreur « The remote procedure call failed (0x800706BE) » lorsque le complément Excel (Add-in) s’exécute sur le serveur de distribution. Cela peut se produire lorsqu’un utilisateur se connecte au serveur via le Bureau à distance depuis un appareil tactile. Windows démarre le processus RDPInput.exe, qui peut interférer avec la communication DCOM utilisée par le complément.

Cause

Lorsqu’un utilisateur se connecte au serveur de distribution doté d’un écran tactile, Windows démarre le RDP Session Input Handler (Gestionnaire d’entrée de session RDP) (

RDPInput.exe
).

Ce processus peut entrer en conflit avec les opérations DCOM du complément Excel (Add-in) et empêcher l’ouverture d’Excel pendant la distribution planifiée. Par conséquent, la tâche échoue avec des erreurs RPC (

0x800706BE
et
0x800706BA
).

Solution

Commencez par arrêter le processus RDPInput.exe actif. Ensuite, empêchez son démarrage en exécutant un script d’arrêt à l’ouverture de session de l’utilisateur.
Arrêter le processus (correctif immédiat)
  1. Ouvrez le Gestionnaire des tâches sur le serveur de distribution, puis accédez à l’onglet Détails.
  2. Recherchez tout processus RDPInput.exe actif ou RDP Session Input Handler .
  3. Si vous en trouvez un, faites un clic droit sur le processus, puis sélectionnez Fin de tâche.
  4. Relancez la distribution pour vérifier qu’elle s’exécute correctement.
Prévention (1/2) : créer un script PowerShell pour arrêter automatiquement le processus.
  1. Enregistrez un script à l’emplacement C:\PowerShellBatch\KillProcess.ps1.
  2. Ajoutez le contenu suivant : Get-Process -Name "rdpinput" | Stop-Process -Force.
Prévention (2/2) : créer une tâche planifiée pour exécuter le script à la connexion de l’utilisateur.
  1. Ouvrez le Planificateur de tâches, puis sélectionnez Créer une tâche.
  2. Dans l’onglet Général :
    • Saisissez un nom et une description.
    • Sélectionnez Exécuter même si l’utilisateur n’est pas connecté.
    • Sélectionnez Exécuter avec les autorisations maximales.
  3. Dans l’onglet Déclencheurs, sélectionnez Nouveau, puis :
    • Définissez Lancer la tâche sur Au moment de la connexion à une session utilisateur.
    • Cliquez sur Ok.
  4. Dans l’onglet Actions, sélectionnez Nouveau, puis :
    • Dans Programme/script, saisissez powershell.
    • Dans Ajouter des arguments, saisissez :
      -noprofile -executionpolicy bypass -file C:\PowerShellBatch\KillProcess.ps1
    • Cliquez sur Ok.
  5. Dans l’onglet Conditions, décochez toutes les cases liées à l’alimentation.
  6. Dans l’onglet Paramètres, activez Si la tâche échoue, recommencer tous les.