Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows 2000
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Système\Scripts Description
Ce paramètre de stratégie détermine la durée pendant laquelle le système attend l’exécution des scripts appliqués par la stratégie de groupe. Ce paramètre limite la durée totale allouée à tous les scripts d’ouverture de session, de fermeture de session, de démarrage et d’arrêt appliqués par la stratégie de groupe pour terminer leur exécution. Si les scripts n’ont pas fini de s’exécuter à la fin de la durée spécifiée, le système arrête le traitement du script et enregistre un événement d’erreur. Si vous activez ce paramètre, entrez dans la zone Secondes un nombre compris entre 1 et 32 000 correspondant au délai en secondes pendant lequel vous voulez que le système attende la fin de l’exécution du jeu de scripts. Pour que le système attende la fin de l’exécution des scripts, quelle que soit la durée nécessaire, tapez 0. Cet intervalle est particulièrement important quand d’autres tâches système doivent attendre la fin de l’exécution des scripts. Par défaut, chaque script de démarrage doit se terminer avant que le prochain ne s’exécute. Vous pouvez également utiliser le paramètre « Exécuter les scripts d’ouverture de session simultanément » pour obliger le système à attendre la fin des scripts d’ouverture de session avant de charger le Bureau. Un intervalle trop long peut retarder le système et incommoder les utilisateurs. Cependant, si l’intervalle est trop court, des tâches requises peuvent ne pas être exécutées et le système peut sembler être prêt prématurément. Si vous désactivez ou ne configurez pas ce paramètre, le système attend que le jeu de scripts s’exécute pendant 600 secondes maximum (10 minutes). Il s’agit du comportement par défaut.
Registre
Software\Microsoft\Windows\CurrentVersion\Policies\System MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_Scripts/MaxGPOScriptWaitPolicy 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: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
; State: Enabled
; Supported on: Au minimum Windows 2000
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"MaxGPOScriptWait"=dword:00000258 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxGPOScriptWait' -Value 600 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_Scripts/MaxGPOScriptWaitPolicy
Data type: String
Value:
<enabled/>
<data id="MaxGPOScriptWait" value="600"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
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\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'MaxGPOScriptWait' -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: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxGPOScriptWait' -Value 600 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
# 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: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
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\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'MaxGPOScriptWait' -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: Spécifier la durée d’attente maximale pour les scripts de stratégie de groupe
# State: Enabled
# Supported on: Au minimum Windows 2000
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxGPOScriptWait' -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).