Permettre le déploiement dans des profils spécifiques
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Server 2012, Windows 8 ou Windows RT
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Déploiement de package Appx Description
Ce paramètre de stratégie vous permet de gérer le déploiement d’applications empaquetées du Microsoft Store lorsque l’utilisateur est connecté sous un profil spécifique. Les profils spécifiques incluent les profils utilisateur suivants, où les modifications apportées sont annulées après la déconnexion de l’utilisateur : Profils utilisateur itinérants auxquels le paramètre de stratégie de groupe « Supprimer les copies mises en cache des profils itinérants » s’applique Profils utilisateur obligatoires et absolument obligatoires, lesquels sont créés par un administrateur Profils utilisateur temporaires, lesquels sont créés lorsqu’une erreur empêche le chargement du profil approprié Profils utilisateur pour le compte Invité et les membres du groupe Invités Si vous activez ce paramètre de stratégie, la stratégie de groupe autorise les opérations de déploiement (ajout, inscription, mise en lots, mise à jour ou suppression d’un package d’applications) d’applications empaquetées du Microsoft Store lorsqu’un profil spécifique est utilisé. Si vous désactivez ou ne configurez pas ce paramètre de stratégie, la stratégie de groupe bloque les opérations de déploiement d’applications empaquetées du Microsoft Store lorsqu’un profil spécifique est utilisé.
Registre
Software\Policies\Microsoft\Windows\Appx Nom de valeur : AllowDeploymentInSpecialProfiles
Activé : AllowDeploymentInSpecialProfiles = 1
Désactivé : AllowDeploymentInSpecialProfiles = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_AppxPackageManager/AllowDeploymentInSpecialProfiles 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: Permettre le déploiement dans des profils spécifiques
; State: Enabled
; Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx]
"AllowDeploymentInSpecialProfiles"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowDeploymentInSpecialProfiles' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_AppxPackageManager/AllowDeploymentInSpecialProfiles
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
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 'AllowDeploymentInSpecialProfiles' -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: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowDeploymentInSpecialProfiles' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
# 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: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
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 'AllowDeploymentInSpecialProfiles' -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: Permettre le déploiement dans des profils spécifiques
# State: Enabled
# Supported on: Au minimum Windows Server 2012, Windows 8 ou Windows RT
$path = 'HKLM:\Software\Policies\Microsoft\Windows\Appx'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowDeploymentInSpecialProfiles' -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).