Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
Vérifié avec Microsoft 365/Office 5568.1000 — mis à jour le 4 septembre 2026
Pris en charge sur : Au moins Windows Server 2016, Windows 10
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 permet au code VBA de charger des références de typelib par un chemin d’accès explicite lu à partir des données de projet si ce chemin d’accès pointe vers un emplacement intranet qui n’est pas explicitement dans la liste des sites de confiance système. Par défaut, VBA essaiera de charger typelibs référencé dans un projet en recherchant le GUID de la bibliothèque dans le registre. S’il ne figure pas dans le registre, VBA tente de charger la référence de typelib ou de projet à l’aide du chemin d’accès stocké dans le projet pour la référence, dans la mesure où la référence ne pointe pas vers un emplacement Internet ou intranet qui ne figure pas dans la liste des sites de confiance. Si vous activez ce paramètre de stratégie, VBA traite les chemins d’accès intranet tels que les chemins d’accès de l’ordinateur local. par conséquent, VBA essaiera de rechercher les références non enregistrées dans les emplacements intranet qui ne sont pas des ordinateurs locaux ou dans la liste des sites de confiance du système. si vous désactivez ou ne configurez pas ce paramètre de stratégie, VBA conserve son comportement par défaut et refuse de charger typelibs sur les chemins d’accès intranet s’il ne trouve pas la typelib enregistrée dans HKEY_CLASSES_ROOT.
Registre
software\policies\microsoft\vba\security Nom de valeur : allowvbaintranetreferences
Activé : allowvbaintranetreferences = 1
Désactivé : allowvbaintranetreferences = 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: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
; State: Enabled
; Supported on: Au moins Windows Server 2016, Windows 10
[HKEY_CURRENT_USER\software\policies\microsoft\vba\security]
"allowvbaintranetreferences"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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 'allowvbaintranetreferences' -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: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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 'allowvbaintranetreferences' -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: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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 'allowvbaintranetreferences' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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 'allowvbaintranetreferences' -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: Autoriser VBA à charger des références typelib par chemin d’accès à partir d’emplacements intranet non approuvés
# State: Enabled
# Supported on: Au moins Windows Server 2016, Windows 10
# 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 'allowvbaintranetreferences' -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).