stratégie de groupe événements d’erreur enregistrés lors de l’utilisation d’une variable d’environnement inconnue

Cet article permet d’éviter stratégie de groupe événements d’erreur enregistrés lors de l’utilisation d’une variable d’environnement inconnue.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 2003730

Symptômes

Si vous exécutez une forêt Active Directory et que vous utilisez une stratégie de sécurité du système de fichiers, vous pouvez voir les événements suivants enregistrés :

  • Windows Vista, Windows Server 2008, Windows 7 et Windows Server 2008 R2 enregistrent cet événement dans le journal des opérations stratégie de groupe :

    Nom du journal : Microsoft-Windows-GroupPolicy/Operational
    Source : Microsoft-Windows-GroupPolicy
    ID d’événement : 7016
    Catégorie de la tâche : Aucun
    Niveau : Erreur
    Mots-clés:
    Utilisateur : SYSTÈME
    Description :
    Traitement de l’extension de sécurité terminé en 20984 millisecondes.
    Xml d’événement :
    <Événement xmlns= »http://schemas.microsoft.com/win/2004/08/events/event" ;>
    ...
    <EventData>
    <Data Name="CSEElaspedTimeInMilliSeconds">20984</Data>
    <Data Name="ErrorCode">1252</Data>
    <Data Name="CSEExtensionName">Security</Data>
    <Data Name="CSEExtensionId">{827D319E-6EAC-11D2-A4EA-00C04F79F83A}</Data>
    </EventData>
    </Événement>

  • Windows XP et Windows Server 2003 consignent cet événement dans le journal des applications :

    ID d’événement : 1091
    Catégorie : Aucun
    Source : Userenv
    Tapez : Erreur
    Message : L’extension stratégie de groupe côté client Security n’a pas pu enregistrer les données RSOP (Jeu de stratégie résultant). Recherchez les erreurs signalées précédemment par cette extension.

  • Toutes les versions de Windows consignent cet événement dans le journal des applications :

    ID d’événement : 1202
    Catégorie : Aucun
    Source : SceCli
    Type : Avertissement
    Message : Les stratégies de sécurité ont été propagées avec un avertissement. 0xd : les données ne sont pas valides.
    Selon la configuration réelle de la stratégie, les paramètres des stratégies de sécurité peuvent être présents ou non. La section Plus d’informations explique les conditions d’échec ou de réussite de la stratégie (malgré les erreurs).

Cause

Les événements sont enregistrés, car les paramètres de sécurité du système de fichiers d’une stratégie contiennent une variable d’environnement inconnue sur l’ordinateur client. Pour en savoir plus sur le problème, activez la journalisation de l’extension côté client de configuration de sécurité :

Résoudre les problèmes liés aux événements SCECLI 1202.

Dans le fichier %windir%\security\logs\winlogon.log, vous verrez une entrée telle que :

Traiter le modèle gpt0000x.inf.

Erreur 13 : Les données ne sont pas valides.
Erreur lors de la conversion de %PROGRAMFILES(X86)%\MyApplication.

%PROGRAMFILES(X86)% n’est qu’un exemple. Il est utilisé lorsque la stratégie est modifiée sur une version 64 bits de Windows et que les paramètres de sécurité sont définis pour le dossier C :\PROGRAM FILES (X86) ou l’un de ses sous-dossiers.

Le fichier gpt0000x.inf, un fichier texte contenant les paramètres de stratégie, se trouve dans le dossier %windir%\security\templates\policies. Il contient également l’emplacement de la stratégie dans Active Directory dans la ligne commençant par GPOPath, ce qui vous permet d’identifier quelle stratégie a la variable d’environnement inconnue.

Résolution

Pour éviter le problème, créez une stratégie au même niveau que celui qui reçoit les paramètres référençant la variable d’environnement manquante. Ensuite, utilisez un filtre WMI pour autoriser la stratégie à s’appliquer uniquement aux machines pour lesquelles la variable d’environnement est définie.

Par exemple, le filtre WMI pour %PROGRAMFILES(X86)% serait :

Sélectionnez * dans Win32_Envrionment où Name = 'PROGRAMFILES(X86)'

Plus d’informations

Cette section explique pourquoi, dans certains cas, les paramètres de stratégie s’appliquent correctement, mais pas dans d’autres cas.

La stratégie de groupe de sécurité est pilotée par la bibliothèque Userenv.dll s’exécutant dans le processus de Winlogon.exe, ou sur Windows Vista et versions ultérieures, le service stratégie de groupe (GPSvc). Il s’agit du composant qui obtient la liste des stratégies affectées à l’ordinateur et filtre celles qui ne s’appliquent pas. Ils peuvent être filtrés en fonction des autorisations de la stratégie ou d’un filtre WMI.

Userenv/GPSvc trie ensuite les stratégies en fonction de leur priorité. La première stratégie appliquée est celle qui a la priorité la plus basse, la dernière est celle qui a la priorité la plus élevée. Pour la stratégie de sécurité, Userenv/GPSvc appelle l’extension côté client de stratégie de sécurité (SCECLI) avec le fichier de paramètres de stratégie téléchargé à partir de SYSVOL.

SCECLI comprend deux phases. Dans la première phase, il prend les paramètres qui lui sont passés et les alimente dans la base de données de sécurité. La deuxième phase consiste à appliquer ces paramètres au système, par exemple, définir des droits utilisateur, des options de sécurité ou définir des descripteurs de sécurité sur le registre et les fichiers.

La première phase est active jusqu’à ce que la dernière stratégie soit traitée. L’appel de Userenv/GPSvc à SCECLI pour la dernière stratégie est un cas spécial. Lorsque l’appel est effectué, la première phase est toujours active et les paramètres de la dernière stratégie sont lus dans la base de données de sécurité comme avec toutes les autres stratégies. Mais avant le retour de l’appel, SCECLI voit qu’il s’agit de la dernière stratégie et, au sein du même appel, exécute la deuxième phase.

Les paramètres de la stratégie de registre et de système de fichiers sont considérés comme coûteux à valider. SCECLI ne les exécute pas dans le thread appelant en mode de premier plan. Pour ces paramètres, Userenv/GPSvc crée un thread supplémentaire afin que le traitement puisse se terminer alors que l’utilisateur peut déjà se connecter. Les contrôleurs de domaine constituent une exception à cette règle. Ils remplissent toujours d’abord toute l’application de stratégie de sécurité avant que l’utilisateur puisse se connecter.

En ce qui concerne les variables d’environnement manquantes, SCECLI lit les paramètres de la première phase et rencontre une erreur lorsqu’il résout la variable d’environnement en chemin d’accès réel. SCECLI ignore l’entrée et continue d’ajouter des paramètres à la base de données de sécurité et retourne ultérieurement une erreur à Userenv/GPSVC.

Lorsque le problème se produit dans une stratégie à l’exception de la dernière stratégie, Userenv/GPSVC traite l’erreur comme un problème irrécupérable et abandonne la stratégie de groupe de sécurité. Par conséquent, la deuxième phase ne se produit jamais. Lorsque le problème se produit dans la dernière stratégie, SCECLI ignore l’erreur et exécute la deuxième phase. Userenv/GPSVC abandonne toujours l’application de stratégie avec une erreur, mais le traitement de la stratégie a été effectué à ce stade.

Collecte de données

Si vous avez besoin d’aide du support Microsoft, nous vous recommandons de collecter les informations en suivant les étapes mentionnées dans Collecter des informations à l’aide de TSS pour stratégie de groupe problèmes.