Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Server 2003 avec Service Pack 2
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Services Bureau à distance\Hôte de la session Bureau à distance\Profils Description
Ce paramètre de stratégie permet de spécifier si les services Bureau à distance utilisent un profil obligatoire pour tous les utilisateurs qui se connectent à distance au serveur Hôte de la session Bureau à distance. Si vous activez ce paramètre de stratégie, les services Bureau à distance utilisent le chemin d’accès spécifié dans le paramètre de stratégie « Définir le chemin d’accès au profil utilisateur itinérant des services Bureau à distance » comme dossier racine du profil utilisateur obligatoire. Tous les utilisateurs qui se connectent à distance au serveur Hôte de la session Bureau à distance utilisent le même profil utilisateur. Si vous désactivez ce paramètre de stratégie ou ne le configurez pas, les profils utilisateur obligatoires ne sont pas employés par les utilisateurs qui se connectent au serveur Hôte de la session Bureau à distance. Remarque : Pour que ce paramètre de stratégie soit pris en compte, vous devez également activer et configurer le paramètre de stratégie « Définir le chemin d’accès au profil utilisateur itinérant des services Bureau à distance ».
Registre
SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services Nom de valeur : WFDontAppendUserNameToProfile
Activé : WFDontAppendUserNameToProfile = 1
Désactivé : WFDontAppendUserNameToProfile = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_USER_MANDATORY_PROFILES Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Générateur d'exports
BETAConfigurez l'état, la portée et les options, puis générez les sorties .reg, PowerShell, Intune et SCCM — ou ajoutez le paramètre à une collection multi-paramètres.
Ces exports écrivent le registre — ce n'est pas une GPO managée. ⓘ
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
; State: Enabled
; Supported on: Au minimum Windows Server 2003 avec Service Pack 2
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"WFDontAppendUserNameToProfile"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'WFDontAppendUserNameToProfile' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_USER_MANDATORY_PROFILES
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'WFDontAppendUserNameToProfile' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'WFDontAppendUserNameToProfile' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'WFDontAppendUserNameToProfile' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Utiliser les profils obligatoires sur le serveur Hôte de la session Bureau à distance
# State: Enabled
# Supported on: Au minimum Windows Server 2003 avec Service Pack 2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'WFDontAppendUserNameToProfile' -Value 1 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).