Activer le bureau à distance avec PowerShell

Windows Server 2019Windows Server 2022Windows Server 2025

Dans ce tutoriel, je vais vous expliquer comment activer le bureau à distance sur Windows à l’aide de Cmdlet PowerShell. L’utilisation de PowerShell va ensuite vous permettre d’activer le bureau à distance à l’aide d’un script que vous pourriez mettre en tant qu’application dans MDT, pour automatiser l’activation du bureau à distance lors du déploiement de Windows Serveur.

Le script doit faire deux choses :

  1. Activer le bureau à distance
  2. Configurer le pare-feu pour autoriser les connexions sur le port 3389

Activer le bureau à distance avec PowerShell

En réaliser, il n’existe pas de commande propre avec PowerShell pour activer le bureau à distance, cela se fait soit en modifiant une clé de registre ou à l’aide de WMI.

En modifiant le registre :

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0

Par une requête WMI :

(Get-WmiObject -Namespace "Root\CIMv2\TerminalServices" -Class Win32_TerminalServiceSetting).SetAllowTSConnections(1, 1)

Autoriser les connexions bureau à distance dans le pare-feu Windows

La seconde étape pour permettre la connexion au bureau à distance va être d’autoriser les connexions entrante sur le port 3389 qui est utilisé par le protocole RDP.

La mauvaise idée est de désactiver le pare-feu Windows, celui-ci est un élément de sécurité et doit rester activé

La aussi, il existe plusieurs solutions pour activer les règles qui autorise le trafic sur le port 3389, on peut utiliser le nom ou la description des règles pour filtrer les règles liées au port 3389, le soucis de cette solution, c’est que les règles sont traduites, donc cela fonctionne seulement si vous installez Windows dans la même langue. La seconde solution va être de filtrer les règles configurées avec le port 3389 sur du trafic entrant.

Activer les règles du pare-feu en utilisant le nom et la description :

enable-NetFirewallRule -DisplayGroup "Bureau a distance"
Get-NetFirewallRule -DisplayName "Bureau a distance*" | Set-NetFirewallRule -enabled True

Activer les règles en se basant sur le port 3389 et le flux entrant :

Get-NetFirewallRule |
    Where-Object {
        ($_ | Get-NetFirewallPortFilter).LocalPort -eq 3389 -and $_.Direction -eq 'Inbound'
    } |
    Set-NetFirewallRule -Enabled True

Script complet pour activer le bureau à distance avec PowerShell

Voici un script complet :

# Enable RDP
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0

# Enable firewall rules
Get-NetFirewallRule |
    Where-Object {
        ($_ | Get-NetFirewallPortFilter).LocalPort -eq 3389 -and $_.Direction -eq 'Inbound'
    } |
    Set-NetFirewallRule -Enabled True

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

1 réflexion au sujet de « Activer le bureau à distance avec PowerShell »

Laisser un commentaire