Forcer un écran de veille spécifique
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows 2000 Service Pack 1
Chemin dans la console GPO
Configuration utilisateur\Modèles d'administration\Panneau de configuration\Personnalisation Description
Spécifie l’écran de veille pour le Bureau de l’utilisateur. Si vous activez ce paramètre, le système affiche l’écran de veille spécifié sur le Bureau de l’utilisateur. Par ailleurs, ce paramètre désactive la liste déroulante des écrans de veille dans la boîte de dialogue Écran de veille de l’application Personnalisation ou Affichage du Panneau de configuration, ce qui empêche les utilisateurs de modifier l’écran de veille. Si vous désactivez ce paramètre ou ne le configurez pas, les utilisateurs peuvent sélectionner n’importe quel écran de veille. Si vous activez ce paramètre, tapez le nom du fichier contenant l’écran de veille, y compris l’extension .scr. Si le fichier de l’écran de veille ne se trouve pas dans le répertoire %Systemroot%\System32, tapez le chemin d’accès complet du fichier. Si l’écran de veille spécifié n’est pas installé sur un ordinateur auquel ce paramètre s’applique, le paramètre est ignoré. Remarque : ce paramètre peut être remplacé par le paramètre Activer l’écran de veille. Si le paramètre Activer l’écran de veille est désactivé, ce paramètre est ignoré et les écrans de veille ne sont pas exécutés.
Registre
Software\Policies\Microsoft\Windows\Control Panel\Desktop MDM / Intune (CSP)
./User/Vendor/MSFT/Policy/Config/ADMX_ControlPanelDisplay/CPL_Personalization_SetScreenSaver 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: Forcer un écran de veille spécifique
; State: Enabled
; Supported on: Au minimum Windows 2000 Service Pack 1
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop]
"SCRNSAVE.EXE"="" Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SCRNSAVE.EXE' -Value '' -Type String Intune XML
OMA-URI: ./User/Vendor/MSFT/Policy/Config/ADMX_ControlPanelDisplay/CPL_Personalization_SetScreenSaver
Data type: String
Value:
<enabled/>
<data id="ScreenSaverFilename" value=""/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'SCRNSAVE.EXE' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SCRNSAVE.EXE' -Value '' -Type String Scripts SCCM
# Exported from gporais.com
# Policy: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# 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: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'SCRNSAVE.EXE' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Forcer un écran de veille spécifique
# State: Enabled
# Supported on: Au minimum Windows 2000 Service Pack 1
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SCRNSAVE.EXE' -Value '' -Type String Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).