Activer la diminution de l’invalidation de la signature numérique du projet VBA
Vérifié avec Microsoft 365/Office 5568.1000 — mis à jour le 4 septembre 2026
Pris en charge sur : Au minimum Windows Server 2008 R2 ou Windows 7
Chemin dans la console GPO
Configuration utilisateur\Modèles d'administration\Microsoft Office 2016\Paramètres de sécurité Description
Ce paramètre de stratégie vous permet de diminuer le nombre d’actions dans Office qui génèrent l’invalidation de la signature numérique VBA d’un document. Le projet VBA peut être modifié d’une manière qui change le stockage du projet, mais cela n’invalide pas la signature numérique du code source. Quand ce paramètre est désactivé, ces actions entraînent l’invalidation de la signature numérique VBA et la signature est supprimée lors de l’enregistrement si l’utilisateur ne dispose pas de la clé privée permettant de l’abandonner. Quand ce paramètre est activé, nous effectuons uniquement un abandon du projet si la signature du code source a été modifiée. Dans les autres cas, nous conservons la signature existante. Si le stockage du projet VBA est modifié et enregistré, mais si l’ancienne signature est conservée sous cette fonctionnalité, cela peut entraîner l’invalidation de l’état du projet VBA compilé enregistré. Si cette situation se produit, la recompilation du projet VBA est forcée à chaque chargement du document. Cela peut avoir des impacts négatifs au niveau des performances dans le cadre de projets VBA de plus grande ampleur. Quand un document se trouve dans cet état, ce dernier persiste tant que le projet VBA n’a pas été abandonné.
Registre
software\policies\microsoft\vba\security Nom de valeur : minimizevbaresign
Activé : minimizevbaresign = 1
Désactivé : minimizevbaresign = 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: Activer la diminution de l’invalidation de la signature numérique du projet VBA
; State: Enabled
; Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
[HKEY_CURRENT_USER\software\policies\microsoft\vba\security]
"minimizevbaresign"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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\vba\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'minimizevbaresign' -Value 1 -Type DWord Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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\vba\security' -Name 'minimizevbaresign' -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: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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\vba\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'minimizevbaresign' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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\vba\security' -Name 'minimizevbaresign' -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: Activer la diminution de l’invalidation de la signature numérique du projet VBA
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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\vba\security'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'minimizevbaresign' -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).