1 (edited by lyzergik 2018-03-14 10:07:01)

Topic: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Bonjour,

Je m'appercoit que les écrans ne remontent plus dans GLPI lors des inventaires sur PC WINDOWS 10. (Versions GLPI + Fusion + Agent dans ma signature)

J'ai donc testé d'utiliser l'agent en local pour écarter toute règle ou autre paramétrage GLPI et en effet le fichier .ocs généré ne remonte aucune information concernant les écrans raccordés.
J'ai désinstallé antivirus , désactivé le pare-feu etc... mais rien n'y fait.J'ai même testé avec différente version de l'agent 2.3.17 , 2.3.19, 2.4 mais rien n'y fait, il manque toujours la section <MONITOR> dans le compte rendu de l'inventaire.

Quelqu’un aurait une piste ?

Merci par avance

* GLPI 9.2.1
* FusionInventory 9.1+1.0
* Agent Fusion 2.4

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Salut,

depuis une console admin, quel résultat as-tu pour les commandes suivantes ?

wmic /namespace:\\root\wmi path WMIMonitorConnectionParams get /format:list
wmic path Win32_DesktopMonitor get /format:list

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Bonjour,

Merci pour votre retour, mais j'ai finalement trouvé la source du problème que je vais vous partager afin de faire évoluer l'agent FusionInventory.

Mes recherches se sont orientées au départ vers le registre et plus précisément sur la clé/valeur suivante :

Ordinateur\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\BNQ7938\4&8b3f87c&0&UID54926080\ [Valeur chaine ----> Service ]

Les machines ne remontant plus les écrans avaient pour valeur : "MonitorFunction" alors que les machines remontant bien leurs écrans avaient pour valeur : "monitor"

Cette valeur est en fait modifiée de "monitor" --à--> "MonitorFunction" lorsque l'on installe le pilote écran Teamviewer lors d'une prise de main à distance afin de masquer l'écran distant.

En désinstallant le pilote la valeur reviens à "monitor" et l'inventaire est OK.

Désinstall pilote Team = click droit sur l'icone TeamViewer dans la barre des taches puis "Options" / "Avancé" / "Afficher les options avancées" / "Désinstaller le pilote d'écran"


Il serait peut-être nécessaire de faire remonter ce problème afin de faire avancer l'agent Fusion dans le bon sens.

Cordialement

LioSan

* GLPI 9.2.1
* FusionInventory 9.1+1.0
* Agent Fusion 2.4

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Bonjour,

ton retour est très intéressant.

Etant le mainteneur de l'agent, je peux justement améliorer l'agent pour corriger ce genre de problème. Mais j'ai tout de même besoin de l'output des commandes wmic que je t'ai proposées. De plus, il me faudrai l'export de la base de registre sous HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum et uniquement pour les PNPDeviceID concernant le moniteur émulé par teamviewer et si possible le PNPDeviceID du moniteur réel. Il est possible qu'on ait dans ce contexte une valeur pour "availability" qui soit différente de "3" (moniteur actif) et on devrait alors gérer une exception.

5 (edited by lyzergik 2018-03-14 08:18:02)

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Bonjour,

Alors pour préciser mon 1er post c'est bien le moniteur réel qui voit une de ses valeurs modifiée notamment la valeur "Service", il n'y a pas de moniteur émulé créé. Seule cette valeur est modifiée à l'installation du pilote Teamviewer, d'ailleurs en changeant simplement à la main la valeur Fusion récupère bien cet écran.

Je vous transmet tout de même les infos demandées dans les 2 situations avec et sans pilote Teamviewer :

-->Pilote Teamviewer désinstallé (remontée OK dans Fusion) :

wmic /namespace:\\root\wmi path WMIMonitorConnectionParams get /format:list

Active=TRUE
InstanceName=DISPLAY\BNQ78E4\4&amp;8b3f87c&amp;0&amp;UID50727680_0
VideoOutputTechnology=5.
wmic path Win32_DesktopMonitor get /format:list

Availability=8
Bandwidth=
Caption=Moniteur Plug-and-Play générique
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_DesktopMonitor
Description=Moniteur Plug-and-Play générique
DeviceID=DesktopMonitor1
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=(Types d'écrans standard)
MonitorType=Moniteur Plug-and-Play générique
Name=Moniteur Plug-and-Play générique
PixelsPerXLogicalInch=96
PixelsPerYLogicalInch=96
PNPDeviceID=DISPLAY\BNQ78E4\4&amp;8B3F87C&amp;0&amp;UID50727680
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=STN13004
Export registre de l'écran :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\BNQ78E4\4&8b3f87c&0&UID50727680]
"DeviceDesc"="@monitor.inf,%pnpmonitor.devicedesc%;Generic PnP Monitor"
"Capabilities"=dword:000000e4
"Address"=dword:03060b00
"ConfigFlags"=dword:00000000
"ContainerID"="{f6aa032b-9a2b-5010-bf74-61963ea78740}"
"HardwareID"=hex(7):4d,00,4f,00,4e,00,49,00,54,00,4f,00,52,00,5c,00,42,00,4e,\
  00,51,00,37,00,38,00,45,00,34,00,00,00,00,00
"CompatibleIDs"=hex(7):2a,00,50,00,4e,00,50,00,30,00,39,00,46,00,46,00,00,00,\
  00,00
"ClassGUID"="{4d36e96e-e325-11ce-bfc1-08002be10318}"
"Service"="monitor"
"Driver"="{4d36e96e-e325-11ce-bfc1-08002be10318}\\0000"
"Mfg"="@monitor.inf,%generic%;(Standard monitor types)"

-->Pilote Teamviewer installé (Pas de remontée dans Fusion) :

wmic /namespace:\\root\wmi path WMIMonitorConnectionParams get /format:list

Noeud - STN13004
ERREUR :
Description = Non pris en charge
wmic path Win32_DesktopMonitor get /format:list

Availability=8
Bandwidth=
Caption=PnP-Monitor (Standard)
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_DesktopMonitor
Description=PnP-Monitor (Standard)
DeviceID=DesktopMonitor1
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=TeamViewer GmbH
MonitorType=PnP-Monitor (Standard)
Name=PnP-Monitor (Standard)
PixelsPerXLogicalInch=96
PixelsPerYLogicalInch=96
PNPDeviceID=DISPLAY\BNQ78E4\4&amp;8B3F87C&amp;0&amp;UID50727680
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=STN13004
Export registre de l'écran :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\BNQ78E4\4&8b3f87c&0&UID50727680]
"DeviceDesc"="@oem0.inf,%driver_devicedesc%;PnP-Monitor (Standard)"
"Capabilities"=dword:000000e4
"Address"=dword:03060b00
"ConfigFlags"=dword:00000000
"ContainerID"="{f6aa032b-9a2b-5010-bf74-61963ea78740}"
"HardwareID"=hex(7):4d,00,4f,00,4e,00,49,00,54,00,4f,00,52,00,5c,00,42,00,4e,\
  00,51,00,37,00,38,00,45,00,34,00,00,00,00,00
"CompatibleIDs"=hex(7):2a,00,50,00,4e,00,50,00,30,00,39,00,46,00,46,00,00,00,\
  00,00
"ClassGUID"="{4d36e96e-e325-11ce-bfc1-08002be10318}"
"Service"="MonitorFunction"
"Driver"="{4d36e96e-e325-11ce-bfc1-08002be10318}\\0000"
"Mfg"="@oem0.inf,%mfgname%;TeamViewer GmbH"

De plus à la désinstallation de ce fameux pilote et après redémarrage, je m'appercois qu'à présent mes périphériques remontent également (ex USB Composite, Webcam etc..) alors qu'ils ne remontaient pas avant cependant je ne peux vous donner d'informations à ce sujet car je n'ai pas trouvé les valeurs en cause dans le registre.

Je vous conseille de reproduire en installant simplement Teamviewer et en suivant l'explication de mon 1er post afin d'installer le pilote écran.

Je reste dispo si vous avez besoin de plus d'infos.

Cordialement.

LioSan

* GLPI 9.2.1
* FusionInventory 9.1+1.0
* Agent Fusion 2.4

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Merci pour ton retour, il est très complet et instructif.

J'ai créé une issue sur github pour ce cas : Some peripherals disappear while teamviewer is installed

On essaiera de traiter çà et d'inclure un correctif comme le problème semble facile à reproduire.

Merci pour ton implication.

Re: Inventaire des Ecrans/Moniteurs/Périphériques ne fonctionne pas

Aucun problème pour le retour smile

Par contre pour précision si on installe simplement Teamviewer il n'y a pas de soucis, c'est lorsqu'on rajoute le pilote écran de teamviewer que les soucis interviennent.

Je me permet de faire cette précision car ce détail n'est pas précisé dans l'issue Git.

Bonne journée à vous et merci pour votre réactivité et votre travail.

* GLPI 9.2.1
* FusionInventory 9.1+1.0
* Agent Fusion 2.4