Archives pour la catégorie windows

Event 2003

Cet article décrit comment corriger la double erreur 1008 et 2003 quand elle survient dans l’observateur d’évènements.

Event ID 2003 : «Les informations de configuration de la bibliothèque de performance « C:\Windows\System32\perfts.dll » pour le service « TermService » ne correspondent pas aux informations de la bibliothèque de performance approuvée stockée dans le registre. Les fonctions de cette bibliothèque ne seront pas traitées comme étant approuvées

Correction

L’erreur survient quand un compteur de performance non déclaré comme fiable tente d’utiliser la bibliothèque de performance. Pour résoudre le problème il faut déclarer le service à l’origine de l’erreur comme étant digne de confiance (dans notre exemple il s’agit du service « TermService » signalé dans l’event 2003). L’ajout du service dans la liste des services de confiance se fait par l’intermédiaire de la commande lodctr /T

Ajout du service TermService à la liste de confiance
C:\Windows\System32>lodctr /T:TermService

&nbpsp;

Note : La plupart des opérations décrites dans cet article doivent être exécutées en mode administrateur, pour savoir comment lancer un fenêtre de commande ou d’autres exécutable en mode administrateur, consulter http://tex.fr/lobservateur-devenements-corriger-erreurs-windows/

Réparation des compteurs de performance

Erreurs de la catégorie perfmon, perflib et counter

Cet article décrit comment corriger les erreurs journalisées dans l’observateur d’évènements liées aux compteurs de performance, telles que :

Event ID 1008 : «Échec de la procédure d’ouverture pour le service «usbhub» dans la DLL « C:\WINDOWS\system32\usbperf.dll ». Les données de performance de ce service ne seront pas disponibles. Le premier mot (DWORD) de la section Données contient le code d’erreur

ou encore

Event ID 3009 : «L’installation des chaînes de compteurs de performances pour le service UGTHRSVC () a échoué. Le premier DWORD de la section Data contient le code d’erreur.»

ou encore

Event ID 2001 : «Impossible de lire la valeur « First Counter » sous la clé usbperf\Performance. Les codes d’état sont renvoyés dans les données.»

ou encore

Event ID 2007: «Impossible de réparer les compteurs de performance pour le service UGTHRSVC. Réinstallez les compteurs de performances en utilisant l’outil LODCTR.»

Reconstruction de tous les compteurs existants

La réparation des compteurs n’est pas très difficile mais peut s’avérer quelque fois fastidieuse. Si votre observateur d’évènements indique que plusieurs compteurs sont endommagés le mieux est de reconstruire tous les compteurs en un seule étape.

L’outil windows dédié au compteurs est l’utilitaire en ligne de commande lodctr.
Sous windows 10 Pour reconstruire les en une seule opération tous les compteurs de performances enregistrés sur le système on invoque lodctr avec l’option /R , une fois dans le répertoire system32 et une autre fois dans le répertoire syswow64. Ensuite on lance une resynchonisation des compteurs de performance avec winmgmt.

reconstruction des compteurs enregistrés
C:\Windows\system32>lodctr /R

C:\Windows\system32>cd C:\Windows\syswow64

C:\Windows\syswow64>lodctr /R

C:\Windows\syswow64>winmgmt.exe /RESYNCPERF

 

Reconstruction unitaire d’un compteur défaillant

Chaque compteur de performance est associé à un service, pour reconstruire un compteur il faut recharger le fichier .ini du service avec l’utilitaire lodctr. Pour le service monService on trouvera le fichier .ini dans le répertoire c:\windows\inf\monService. Tout dépend du message d’erreur qu’on lit dans l’observateur d’évènement, quelque fois le nom du service qui est cité dans le message d’erreur est identique au nom du répertoire , d’autre fois cela peut être un peu compliqué car le nom peut avoir par exemple été traduit en français.

Par exemple dans le cas des erreurs 1008 Perflib: Échec de la procédure d’ouverture pour le service « ESENT » dans la DLL.. le nom du répertoire sera c:\windows\inf\esent.

Prenons le cas du compteur ESENT , ouvrons une fenêtre de commande en mode admin et rendez-vous dans le répertoire \windows\inf\esent

reconstruction d’un compteur
Microsoft Windows [version 10.0.10586]
(c) 2015 Microsoft Corporation. Tous droits réservés.
C:\WINDOWS\system32>cd \Windows\INF\ESENT

C:\Windows\INF\ESENT>dir
Le volume dans le lecteur C n’a pas de nom.
Le numéro de série du volume est 5420-B09C

Répertoire de C:\Windows\INF\ESENT

30/10/2015  20:00    <DIR>          .
30/10/2015  20:00    <DIR>          ..
30/10/2015  08:24    <DIR>          0000
30/10/2015  20:00    <DIR>          040C
30/10/2015  08:17            34 218 esentprf.hxx
1 fichier(s)           34 218 octets
4 Rép(s)  138 081 681 408 octets libres

C:\Windows\INF\ESENT>

 
On se retrouve face à 2 répertoires contenant chacun un fichier esentprf.ini, 0000 contient le fichier en anglais, 040C contient sa version en français (040C est la valeur hexadécimale de la locale windows pour le français, consultez Language Collections pour une liste exhaustive). Pour certain compteur, le répertoire 040C est remplacé par le répertoire 00C.

Dans le cas de notre exemple du compteur ESENT, la reconstruction se fera en rechargeant le fichier 040C\esentprf.ini avec lodctr

reconstruction compteur

C:\Windows\INF\ESENT>lodctr 040c\esentprf.ini

 

Vérification de la reconstruction
Quand lodctr reconstruit le compteur du service « monservice », il ajoute des informations dans le registre sous la clé HLM\System\CurrentControlSet\Services\monservice\Performance

registreesent
les compteurs du service esent dans le registre

La seconde chose que fait lodctr quand il reconstruit un compteur, c’est d’alimenter les références et les noms des compteurs utilisés par l’analyseur de performances.

performanceesent
les compteurs esent (base de données) dans l’analyseur de performance

Le fichier PerfStringBackup.ini
Quand les 2 opérations, reconstruction du registre et mise à jour de l’analyseur de performance, se sont bien déroulées, lodctr met à jour le fichier c:\windows\System32\PerfStringBackup.ini avec les éléments du compteur. Vous savez que tout s’est bien passé en vérifiant que ce fichier a été mis à jour. Ce fichier peut s’avérer utile si plus tard en cas de nouveau problème vous décidez de reconstruire en une seule opération tous vos compteurs que vous aviez patiemment corrigés, pour cela il vous suffira d’invoquer la commande lodctr /R:perfStringBackup.ini ».

Le fichier perfStringBackup.ini est constitué de 2 parties:
– Une première dans lequel se trouve la référence des 4 clés First/Last counter et First/Last Help pour le compteur su service.

// la référence des compteurs du service ESENT dans le fichier perfStringBackup.ini
....
[PERF_ESENT]
First Counter=2476
First Help=2477
Last Counter=4368
Last Help=4369
.....

– Une seconde partie qui contient la table de référence utilisée par l’analyseur de performance.

// tables des compteurs du service ESENT dans le fichier perfStringBackup.ini
....
2476=Database
2477=Database provides performance statistics for...
2478=Pages Converted/sec
2479=Pages Converted/sec is the number of times...
...
4368=Database Cache Size Unused
4369=Database Cache Size Unused is ...
...

Pour le service ESENT, vous pouvez constater que dans le fichier perfStringBackup.ini la valeur de First Counter, 2476, est celle du premier libellé (2476=Database) et la valeur de Last Help, 4369, est celle du dernier libellé (4369=Database Cache Size Unused is …). Ces lignes vont par paires, la première est le titre du compteur (counter) et celle qui suit son détail (help), ce sont ces titres et détails que vous retrouvez dans la liste des compteurs de l’analyseur de performance.

Résoudre les problèmes de reconstruction
Parfois Lodctr rencontre quelques problèmes pour créer les compteurs, dans ce cas la commande lodctr /Q peut aider à vérifier que le compteur a correctement été ajouté au registre. Les 4 valeurs « First Counter », « Last Counter », « First Help », « Last Help » listées par la commande doivent correspondre à celles présentes dans le registre.

vérification d’un compteur
C:\Windows\INF\ESENT>lodctr /Q:esent
Performance Counter ID Queries [PERFLIB]:
Base Index: 0x00000737 (1847)
Last Counter Text ID: 0x00002B6A (11114)
Last Help Text ID: 0x00002B6B (11115)[ESENT] Performance Counters (Enabled)
DLL Name: %systemroot%\system32\esentprf.dll
Open Procedure: OpenPerformanceData
Collect Procedure: CollectPerformanceData
Close Procedure: ClosePerformanceData
First Counter ID: 0x000009AC (2476)
Last Counter ID: 0x00001110 (4368)
First Help ID: 0x000009AD (2477)
Last Help ID: 0x00001111 (4369)
C:\Windows\INF\ESENT>

 

Quelque fois il arrive que Lodctr reconstruise correctement les 4 clés du registre mais qu’en revanche il ne soit pas capable d’ajouter les compteurs dans l’analyseur de performance. Dans ce cas lodctr ne met pas à jour le fichier PerfStringBackup.ini, cette absence de mise à jour lors de la reconstruction est le signal que quelque chose ne s’est pas correctement passé ou bien qu’une opération supplémentaire est nécessaire.

Par exemple dans le cas d’erreurs concernant les compteurs du service « rassembleur », il vous faudra vous assurer de mettre à jour les compteurs des 2 services UGatherer et du service UGTHRSVC.

L’absence du fichier en langue anglaise dans le répertoire \Windows\inf\monService\0409 peut également être une source de difficulté. Dans ce cas de figure on peut recopier dans le répertoire 0409 celui présent dans le répertoire 040C puis l’éditer pour remplacer la propriété de langue « 00C=French » par « 009=English », ensuite on renouvelle à l’identique l’opération de reconstruction avec lodctr et le fichier présent dans le répertoire 040C.

Avant de retenter une opération de reconstruction qui n’aurait pas abouti correctement, il peut s’avérer parfois utile de supprimer (ou renommer) les 4 clés « First Counter », « First Help », « Last Counter », « Last Help » du registre pour le service concerné.

Si la reconstruction d’un compteur individuel échoue, alors si votre fichier PerfStringBackup.ini est plus ou moins à jour vous pouvez l’utiliser pour recharger l’ensemble des compteurs (lodctr /R:\windows\system32\perfStringBackup.ini »). Attention, tous les compteurs qui ne sont pas présents dans ce fichier se retrouveront dans un état invalide qui nécessitera leur reconstruction individuel. Toutefois avant de démarrer l’opération, il est possible d’ajouter manuellement dans le fichier perfStringBackup.ini les entrées qui manquent. Pour chaque service manquant, vous devez ajouter le bloc [Perf_monservice] et la liste des paires titre/détail (nnnn=… nnnn+1=…) tout en veillant que les valeurs First/Last/Counter/Help du bloc [Perf_MonService] soient en phase avec les indices de la liste des paires titres/détails (cf détail fichier perfStringBackup.ini). Vous pouvez récupérer la liste des paires titre/detail d’un service sur une autre système windows, ou la reconstruire en partant du fichier .ini présent dans le répertoire \windows\inf\Monservice\040C. Vous pouvez également récupérer le fichier perfStringBackup.ini d’une machine de configuration similaire.

Et dans le cas ultime où vous ne réussiriez pas à reconstruire les compteurs d’un service, vous pouvez tout de même supprimer le message d’erreur journalisé périodiquement dans l’observateur d’évènements en désactivant le compteur via la commande lodctr /D:monService (l’option /E:monService sert à le réactiver).

Note : La plupart des opérations décrites dans cet article doivent être exécutées en mode administrateur, pour savoir comment lancer un fenêtre de commande ou d’autres exécutable en mode administrateur, consulter http://tex.fr/lobservateur-devenements-corriger-erreurs-windows/

Le système ne se met plus en veille automatique

Le système ne se met plus en veille automatique

Du jour au lendemain, sans prévenir, votre pc refuse de rentrer en veille automatique.  dans ce cas vous pouvez tenter de reconstruire le fichier hiberfil.sys en exécutant successivement les 2 commandes suivantes :

c:\users\tex>  powercfg /h off 
c:\users\tex>  powercfg /h on

Si votre pc rechigne toujours à rentrer en veille, vous pouvez éventuellement repérer les éléments qui interdisent la mise en veille avec la commande powercfg -reauests

C:\WINDOWS\system32> powercfg -requests 
DISPLAY :
Aucune.

SYSTEM :
Aucune.

AWAYMODE :
Aucune.

EXÉCUTION :
Aucune.

PERFBOOST :
Aucune.

C:\WINDOWS\system32>

Note : La plupart des opérations décrites dans cette page doivent être exécutées en mode administrateur, pour savoir comment lancer un fenêtre de commande ou d’autres exécutable en mode administrateur, consulter http://tex.fr/lobservateur-devenements-corriger-erreurs-windows/

La correction des erreurs de windows

observateur Si vous ne savez pas ce qu’est l’observateur d’évènements de windows alors il vous reste 3 secondes pour fermer cette page en espérant que le temps effacera de votre mémoire cet accès intempestif . Évidement si vous avez décelé des pannes du système ou des applications windows que vous avez tentez des les corriger alors forcément un jour vous avez ouvert l’observateur d’évènement et découvert avec stupéfaction qu’il y résidait toute une flopée d’icônes rouge vif   qui servaient d’étendard sanglant à une armée d’erreurs.

Si vous  vous êtes sous windows 10, vous pouvez par exemple lancer l’observateur par un appui simultané sur les touches  et X, puis en sélectionnant la 3ème entrée du popup-menu « Observateur d’évènement » ou soit encore en tapant eventvwr.msc depuis la ligne de commande.

Les 3 entrées les plus intéressantes pour la chasse aux erreurs sont respectivement les onglets «journaux Windows/Application»,  «journaux Windows/Système» et «journaux enregistrés/Microsoft-Windows-TwinUI Operational». Bien souvent une même erreur laissera des traces simultanément dans ces 3 journaux, comme dans l’exemple ci-dessous.

3events
Une même erreur loguée dans 3 journaux

La partie la plus utile pour recueillir des informations sur l’erreur se trouve dans le panneau de détail situé sous la liste. Ce panneau se décompose 3 parties. Une partie Titre qui donne l’id de l’évènement, un onglet «Général» qui donne le log textuel de l’erreur et un onglet «Détail» qui apporte une série d’informations techniques sous format XML.

paneau d'information event log
Le panneau de détail

 

L’ID de l’événement qui apparait dans le titre vous permettra de faire des recherches sur internet pour tenter de trouver l’origine de l’erreur. Si comme moi vous avez une version française de windows, il faudra traduire le texte de l’erreur pour augmenter vos chances de d’exhumer d’niternet la bonne information.  Par exemple pour une entrée «Évènement 5973  Échec de l’activation de l’application Microsoft.Messaging_8wekyb3d8bbwe!ppleae38af2e007f4358a809ac99a64a67c1 avec l’erreur : Accès refusé. Pour plus d’informations, voir le journal Microsoft-Windows-TWinUI/Opérationnel.» tentez sur google la recherche suivante «Windows event 5973 access denied  TwinUI»

La correction des erreurs de windows

La plupart du temps sur des sites comme  answers.microsoft.com ou social.technet.microsoft.com les experts vous donnerons comme conseil (en général inutile) d’effectuer les éternelles et mêmes opérations et cela quelque soit l’erreur que vous rencontrez. N’ayez pas peur de lire les commentaires des utilisateurs qui pourront quelque fois vous aiguiller sur la bonne solution.

La ligne de commande

Ces opérations standards par défaut à effectuer avant de passer à plus sérieux c’est d’exécuter sous ligne de commande et en mode administrateur (détail ici)  les 2 commandes suivantes, l’unes après l’autres puis de rebouter.

c:\users\Tex> sfc /scannow
c:\users\Tex> Dism /Online /Cleanup-Image /RestoreHealth   


Windows Powershell

Quelque fois la solution consiste à reinstaller/désinstaller les packages windows. Pour cela vous devrez ouvrir une fenêtre de commande Windows PowerShell en mode admin. Pour ouvir le powerShell, le plus rapide sous windows 10 consiste à presser simultanément et X puis à sur l’option «Windows PowerShell (admin)». En général, l’opération la plus conseillée par les «experts» microsoft consiste en la réinstallation des packages windows via une ligne de commande power shell.

PS c:\Windows\System32> Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Réinstallation des packages
Service de composants

Quelque fois la correction consiste à modifier les droits d’accès des composants DCOM Pour cette opération vous devrez lancer le gestionnaire des services de composants: tapez «services de composants» dans le champ de recherche de la barre de commande windows puis cliquer droit pour exécuter en mode administrateur (ou dcomcnfg depuis une ligne de commande).

servicescomposants
Le service de composants DCOM

Editeur du registre

Le plus souvent la correction nécessitera d’opérer des modification dans le registre windows.  La aussi vous devrez lancer l’éditeur du registre en mode administration, tapez «regedit» dans le champ de recherche de la barre de commande windows puis cliquer droit pour exécuter en mode administrateur. Attention, une mauvaise manipulation étant très rapide quand on travaille sur le registre, veuillez avant toute opération créer un point de restauration système ou faite une sauvegarde de votre système avec votre application de backup préférée.

editeurderegistre
L’éditeur de registre

Configuration d’une adresse IP fixe sous windows pour une connexion au routeur 192.168.1.1 (pendant la phase de paramétrage)

Au départ il faut déconnecter du réseau le PC avec lequel on va paramétrer le routeur; pour cela on coupe le wifi ou on débranche le câble réseau. Ensuite on connecte un câble réseau entre son PC et un des 4 ports LAN du routeur (en jaune sur la photo).

Les ports du routeurs Asusu RT-AC68U
Les ports du routeurs Asusu RT-AC68U

Vous ouvrez ensuite votre navigateur préféré et entrez l’url http://192.168.1.1/
Si la mire de login RT-AC68U ne s’affiche pas c’est que la configuration réseau de votre PC doit être modifiée temporairement afin de lui fixer manuellement une adresse IP fixe.

Paramétrage du PC avec une adresse IP fixe :

Tout d’abord cliquer le bouton Démarrer boutondemarrer, puis Panneau de Configuration, ensuite Centre réseau et partage, puis modifier les paramètres de la carte. Dans la fenêtre qui s’ouvre vous repérez l’icône de la connexion câble qui devrait s’appeler quelque chose comme Ethernet Réseau n. Un clique bouton droit sur cet icône, et choisir Propriétés dans le popup qui s’ouvre. On tombe enfin sur la fenêtre de configuration réseau suivante

Fenêtre configuration de la connexion ethernet
Fenêtre configuration de la connexion ethernet

On scrolle, jusqu’à trouver l’entrée Protocole Internet version 4 (TCP/IPv4), sur laquelle on double clique pour faire apparaître la fenêtre de paramétres IP suivante (ouf!) :

Fenêtre de configuration des paramètres IP
Fenêtre de configuration des paramètres IP

On en profite pour noter la configuration actuelle au cas où…
Maintenant nous allons modifier l’adresse IP du PC. Pour cela dans cette fenêtre on clique dans Utiliser l’adresse IP suivante et on entre

Adresse IP : 192.168.100
Masque de sous-réseau : 255.255.255.0
Passerelle par défaut : 192.168.1.1

Serveur DNS préféré : laisser vide
Serveur DNS auxiliaire : laisser vide

Vous devez vous retrouver avec cette configuration :

Paramétrage IP en adresse fixe
Paramétrage IP en adresse fixe

Important, pour valider la modification de l’adresse IP, fermez cette fenêtre et la précédente en validant sur OK.

Pour contrôler la configuration de votre PC, vous pouvez retentez d’accéder à l’url http://192.168.1.1/ , la mire de login devrait apparaître

mire login RT-AC68U
mire de login RT-AC68U

Entrer admin / admin , comme utilisateur et mot de passe; ça y est vous êtes connecté à l’interface d’administration du routeur. BRAVO!