Correction de l'erreur NVAPI_ACCESS_DENIED : solutions complètes et prévention

Diagnostic du problème

Identification de l'erreur

Lors de l'importation d'un profil ou de l'utilisation de l'option -silentImport, une boîte de dialogue indique "NVAPI_ACCESS_DENIED". Ce blocage survient souvent lors de l'écriture des paramètres de configuraton.

Vérifications système

  • L'application NPI est-elle exécutée en tant qu'administrateur ?
  • Le compte Windows dispose-t-il de privilèges administrateur ?
  • Le pilote NVIDIA est-il fonctionnel (aucun point d'exclamation dans le Gestionnaire de périphériques) ?

Vérification du répertoire clé

  1. Accédez à C:\ProgramData\NVIDIA Corporation\
  2. Vérifiez la présence du dossier Drs
  3. À l'intérieur, les fichiers nvdrsdb0.bin et nvdrsdb1.bin doivent exister

Analyse approfondie

Origine du problème de droits

Le pilote NVIDIA stocke les profils graphiques dans C:\ProgramData\NVIDIA Corporation\Drs. Ce dossier contient la configuration globale (nvdrsdb0.bin) et les paramètres utilisateur (nvdrsdb1.bin). Lorsque NPI ne dispose pas des droits d'écriture sur ce dossier, l'API NVAPI refuse l'accès.

Termes techniques

  • NVAPI : interface de programmation NVIDIA permettant d'interagir avec le pilote graphique.
  • Drs : abréviasion de Display Reference Settings, dossier système contenant les profils.
  • nvdrsdb0.bin / nvdrsdb1.bin : fichiers binaires contenant respectivement la configuration par défaut et les profils personnalisés.

Impacts possibles

Outre l'importation, les problèmes de droits peuvent empêcher :

  • La sauvegarde des réglages personnalisés
  • L'application de profils spécifiques aux jeux
  • La synchronisation des configurations dans un environnement multi-utilisateurs

Solutions hiérarchisées

Solution de base : configuration manuelle des droits

  1. Accédez au dossier parent : Explorateur de fichiers → C:\ProgramData\NVIDIA Corporation\
  2. Créez ou vérifiez le dossier Drs :
    • S'il n'existe pas, faites un clic droit → Nouveau → Dossier → nommez-le Drs
    • S'il existe, clic droit → Propriétés
  3. Modifiez les permissions de sécurité :
    • Onglet Sécurité → cliquer sur Modifier
    • Sélectionnez votre compte utilisateur dans la liste
    • Cochez Contrôle totalAppliquer
    • Cliquez sur Avancé → cochez Remplacer toutes les autorisations d’objets enfants
    • Validez par OK
  4. Vérification : créez un fichier texte test dans le dossier Drs ; s'il s'enregistre, les droits sont corrects.

⚠️ Avertissement : La modification des droits sur les dossiers système peut avoir un impact sur la sécurité. Limitez les changements aux seuls répertoires nécessaires et vérifiez le bon fonctionnement après l'opération.

Solution avancée : script PowerShell automatisé

Pour un déploiement sur plusieurs machines :

# Chemin du dossier Drs
$cheminDrs = "C:\ProgramData\NVIDIA Corporation\Drs"

# Création si absent
if (-not (Test-Path -Path $cheminDrs)) {
    New-Item -ItemType Directory -Path $cheminDrs -Force | Out-Null
    Write-Host "Dossier Drs créé"
}

# Récupération de l'utilisateur courant
$utilisateur = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

# Définition des droits
$acl = Get-Acl -Path $cheminDrs
$regle = New-Object System.Security.AccessControl.FileSystemAccessRule(
    $utilisateur, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow"
)
$acl.SetAccessRule($regle)
Set-Acl -Path $cheminDrs -AclObject $acl

Write-Host "Droits accordés à $utilisateur sur $cheminDrs"

Utilisation :

  1. Enregistrez le code dans Correction-NPI.ps1
  2. Exécutez PowerShell en tant qu'administrateur
  3. Lancez .\Correction-NPI.ps1

Solution experte : réparation du pilote et du système

Si les solutions précédentes échouent :

  1. Désinstallation complète du pilote : utilisez l'outil DDU (Display Driver Uninstaller) en mode sans échec, choisissez Nettoyer et redémarrer, puis installez le pilote NVIDIA officiel avec l'option Installation personnalisée → Exécuter une installation propre.

  2. Vérification des fichiers système :``` sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth

  3. Réparation du profil utilisateur : créez un nouveau compte administrateur Windows, testez NPI dans ce compte. Si le problème disparaît, migrez vos données vers ce nouveau compte.

Bonnes pratiques et prévention

Gestion des droits selon le principe du moindre privilège

  • N'accorder les droits d'écriture qu'aux utilisateurs concernés
  • Utiliser des groupes de sécurité (ex : UtilisateursNVIDIA) plutôt que des comptes individuels
  • Auditer régulièrement les permissions des répertoires sensibles

Surveillance et alertes

Pour détecter les modifications non autorisées :

# Sauvegarde de la configuration ACL actuelle
$chemin = "C:\ProgramData\NVIDIA Corporation\Drs"
$aclRef = Get-Acl $chemin
$aclRef | Export-Clixml -Path "C:\Scripts\ACL_Drs_Reference.xml"

# Comparaison périodique (à exécuter via une tâche planifiée)
$aclCourante = Get-Acl $chemin
$aclSauve = Import-Clixml -Path "C:\Scripts\ACL_Drs_Reference.xml"
if (Compare-Object $aclCourante.Access $aclSauve.Access) {
    Write-EventLog -LogName Application -Source "Monitoring NPI" -EventId 1001 -EntryType Warning -Message "Permissions du dossier Drs modifiées"
}

FAQ

Q : Pourquoi l'erreur persiste-t-elle même avec un compte administrateur ?
R : Le Contrôle de compte d'utilisateur (UAC) peut limiter les droits réels. Lancez NPI explicitement avec Exécuter en tant qu'administrateur ou activez l'option Exécuter ce programme en tant qu'administrateur dans les propriétés du raccourci.

Q : Après correction, les profils ne se sauvegardent toujours pas. Que faire ?
R : Un logiciel tiers (antivirus, utilitaire d'optimisation) peut bloquer l'écriture dans ProgramData. Désactivez temporairement ces logiciels pour tester, puis ajoutez le dossier Drs à la liste d'exclusion de votre sécurité.

Q : Comment gérer plusieurs utilisateurs sur une même machine ?
R : Créez un groupe local (ex : ConfigNVIDIA), accordez-lui les droits d'écriture sur Drs, puis ajoutez chaque utilisateur concerné à ce groupe. La gestion centralisée simplifie les changements ultérieurs.

Étiquettes: NVAPI NVIDIA Profile Inspector Windows permissions PowerShell Drs

Publié le 2 juillet à 08h22