Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows 8.1 mise à jour 2
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Déploiement de package Appx Description
Empêcher le déplacement des données d'applications des utilisateurs vers un autre emplacement lors du déplacement ou de l'installation d'une application à un autre emplacement. Si vous activez ce paramètre, toutes les données d'applications des utilisateurs seront conservées sur le volume système, quel que soit l'emplacement d'installation de l'application. Si vous désactivez ou ne configurez pas ce paramètre, lorsqu'une application est déplacée vers un autre volume, les données d'applications des utilisateurs sont également déplacées vers ce volume.
Registre
Software\Policies\Microsoft\Windows\Appx Nom de valeur : RestrictAppDataToSystemVolume
Activé : RestrictAppDataToSystemVolume = 1
Désactivé : RestrictAppDataToSystemVolume = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ApplicationManagement/RestrictAppDataToSystemVolume Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Valeurs CSP
-
0 (Default)- Not restricted. -
1- Restricted.
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: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
; State: Enabled
; Supported on: Au minimum Windows 8.1 mise à jour 2
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx]
"RestrictAppDataToSystemVolume"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 2
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'RestrictAppDataToSystemVolume' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ApplicationManagement/RestrictAppDataToSystemVolume
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 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\Appx' -Name 'RestrictAppDataToSystemVolume' -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: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 2
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'RestrictAppDataToSystemVolume' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 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: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 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\Appx' -Name 'RestrictAppDataToSystemVolume' -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: Empêcher le stockage des données d'applications des utilisateurs sur des volumes non-système
# State: Enabled
# Supported on: Au minimum Windows 8.1 mise à jour 2
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'RestrictAppDataToSystemVolume' -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).