Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au moins Windows Server 2008 R2
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 limiter la taille de l'intégralité du cache des profils utilisateur itinérant sur le disque local. Ce paramètre de stratégie s'applique uniquement à un ordinateur sur lequel le service du rôle Hôte de la session Bureau à distance est installé. Remarque : si vous avez l'intention de limiter la taille d'un profil utilisateur individuel, utilisez le paramètre de stratégie « Limiter la taille du profil » sous Configuration utilisateur\Stratégies\Modèles d'administration\Système\Profils utilisateur. Si vous activez ce paramètre de stratégie, vous devez spécifier un intervalle d'analyse (en minutes) et une taille maximale (en giga-octets) pour l'ensemble du cache du profil utilisateur itinérant. L'intervalle d'analyse détermine la fréquence à laquelle la taille de l'ensemble du cache du profil utilisateur itinérant est vérifiée. Lorsque la taille de l'ensemble du cache du profil utilisateur itinérant dépasse le seuil maximum prévu, les profils utilisateur itinérant plus anciens (c'est-à-dire ceux utilisés le moins récemment) sont supprimés jusqu'à ce que la taille du cache soit inférieure à la limite maximale spécifiée. Si vous désactivez ce paramètre de stratégie ou si vous ne le configurez pas, aucune restriction ne s'applique à la taille de l'intégralité du cache des profils utilisateur itinérant sur le disque local. Remarque : ce paramètre de stratégie n'est pas pris en compte en cas d'activation du paramètre de stratégie « Empêcher la propagation des modifications de profils itinérants vers le serveur » dans Configuration ordinateur\Stratégies\Modèles d'administration\Système\Profils utilisateur.
Registre
SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services Nom de valeur : DeleteRoamingUserProfile
Activé : DeleteRoamingUserProfile = 1
Désactivé : DeleteRoamingUserProfile = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_DELETE_ROAMING_USER_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: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
; State: Enabled
; Supported on: Au moins Windows Server 2008 R2
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"DeleteRoamingUserProfile"=dword:00000001
"MonitoringInterval"=dword:00000384
"ProfileDirectoryQuota"=dword:00000258 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DeleteRoamingUserProfile' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'MonitoringInterval' -Value 900 -Type DWord
Set-ItemProperty -Path $path -Name 'ProfileDirectoryQuota' -Value 600 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_DELETE_ROAMING_USER_PROFILES
Data type: String
Value:
<enabled/>
<data id="TS_PROFILE_DIRECTORY_MONITORING_INTERVAL" value="900"/>
<data id="TS_PROFILE_DIRECTORY_QUOTA" value="600"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
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 'DeleteRoamingUserProfile' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'MonitoringInterval' -Expected 900 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'ProfileDirectoryQuota' -Expected 600 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DeleteRoamingUserProfile' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'MonitoringInterval' -Value 900 -Type DWord
Set-ItemProperty -Path $path -Name 'ProfileDirectoryQuota' -Value 600 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
# 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: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
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 'DeleteRoamingUserProfile' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'MonitoringInterval' -Expected 900 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'ProfileDirectoryQuota' -Expected 600 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Limiter la taille de l’ensemble du cache des profils utilisateur itinérant
# State: Enabled
# Supported on: Au moins Windows Server 2008 R2
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DeleteRoamingUserProfile' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'MonitoringInterval' -Value 900 -Type DWord
Set-ItemProperty -Path $path -Name 'ProfileDirectoryQuota' -Value 600 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).