Banner.gif (5609 octets)


Project Home
OCS Inventory
   Qu'est-ce-que c'est ?
   Quoi de neuf
   A faire
   Fonctionnalités
   Installation
   Utilisation
   Compilation
   Aide / FAQ
   Contributeurs

Report Bugs or request new features for OCS Inventory
OCS Inventory Discussion Forums
 Email OCS Developer Team

Aide et FAQ OCS Inventory

1. Pour l'agent.

Si l'agent provoque une erreur sur le poste client, c'est parce qu'il ne peut pas ouvrir la base de données, soit en utilisant DAO, soit en utilisant CSV, pour l'une des raisons suivantes.

  • La base de données n'existe pas ou n'est pas dans le même dossier que l'agent.
  • Un ou plusieurs des sous-dossiers requis par l'agent pour le support CSV   n'existent pas (voir instructions d'installation).
  • Le partage du dossier sur le serveur est protégé en écriture pour les ordinateurs, ou quelques utilisateurs.
  • Des permissions ont incorrectes sur le serveur de fichiers. Le dossier Application et ses sous-dossiers doivent être accessibles et écriture pour tous vos utilisateurs. Voici une configuration de sécurité qui fonctionne (R= lecture, W = écriture, X = exécution) :
    • Dossier Application : RW pour tous vos utilisateurs, y compris le compte d'exécution du serveur web si vous l'utilisez. Tous vos utilisateurs doivent pouvoir créer et supprimer un fichier dans ce dossier (fichier .ldb de contrôle d'accès concurrents MS Access ou fichiers log).
    • Fichiers Apps.csv et Config.csv : RW pour tous vos administratuers, Manageurs et compte d'exécution du serveur web, R pour les autres utilisateurs.
    • Fichier OCSInventory.mdb : RW pour tous vos utilisateurs.
    • Fichiers OCSInventory.exe, OCSInventoryCSV.exe, sysinfo.dll, psapi.dll, winio.dll, OCSLang*.dll, run_ocs.bat : RX pour tous vos utilisateurs.
    • Fichiers OCSInventoryManager.exe, ImportCSV.exe : RX pour tous vos Administrateurs, Manageurs et Opérateurs.
    • Sous-dossier Drivers : RX pour tous vos utilisateurs si vous souhaitez qu'ils aient la permission d'utiliser l'outil BiosInfo, le driver WinIO ou utiliser DumpDMI.exe.
    • Sous-dossiers AccessLogs, BIOS, Graphics, Hardware, LogicalDrives, Network, Printers, Results : RW pour tous vos utilisateurs. Tous vos utilisateurs doivent pouvoir créer, modifier, remplacer un fichier dans ces répertoires.

Vous pouvez obtenir des informations de débogage en exécutant l'agent avec le paramètre de ligne de commande "/DEBUG" ou "-DEBUG" (voir Utilisation de l'agent).

Si tout est correct, essayez d'installer DAO 3.5 sur les PC client qui rencontre l'erreur. Voir ci-dessous.

Si l'agent ne remonte pas les informations sur les cartes réseaux/modems pour les PC sous Windows 95, vous devez installer Winsock 2 update de Microsoft.

Si l'agent ne récupère pas le nom de l'utilisateur connecté sous Windows 9X/me, celà provient du fait que Windows ne met pas à jour assez rapidement la variable système. Une solution consiste à retarder l'exécution de l'agent pour au moins 60 secondes. Vous pouvez utiliser l'outil freeware delayexec (merci beaucoup à Eric Starrett !), ou l'outil Visual Basic OCS Timer de Bill Kristoph, téléchargeable depuis la section Addons de la page de téléchargement.

2. Pour le Windows Manager.

L'interface d'administration Windows "OCS Inventory Manager" requiert une version à jour de MDAC et/ou des composants Jet/DAO 3.5.

Les composants DAO 3.5 sont fournis avec Microsft Office 97, Microsoft Visual Basic/C++ 5.0/6.0. ILS NE SONT PAS FOURNIS AVEC WINDOWS MILLENIUM / 2000 / XP, OU AVEC MICROSOFT OFFICE 2000 / XP !

Si vous souhaitez installer DAO 3.5, vous pouvez télécharger et installer Microsoft Jet 3.5 Service Pack 3, disponible à l'adresse suivante  http://www.microsoft.com/technet/archive/default.asp?url=/TechNet/archive/office/office97/support/of97sr2b.asp, puis enregistrer les composants DAO 3.5 en téléchargeant le fichier ZIP "DAO 3.5 for OCS Inventory", en copiant "DAO350.DLL" et "DAO2535.TLB" extraits du ZIP dans le dossier "C:\Program Files\Fichiers communs\Microsoft Shared\DAO" et en exécutant le batch "DAO350.bat".

 

Autre solution, vous devez télécharger et installer au MDAC 2.1 ou supérieur at l'adresse suivante http://www.microsoft.com/data/download.htm.
ATTENTION ! MDAC 2.6 ou + n'inclut pas les composants Jet/DAO. Vous devez les télécharger séparément depuis la même adresse et les installer après avoir installé MDAC 2.6.

Ensuite, vous devez enregistrer les composants DAO 3.5, et peut-être aussi les composants Jet 3.5 comme décrit ci-dessous (une procédure d'installation via InstallShield est disponible en téléchargement sur le site web d'OCS Inventory, mais ne fonctionne pas sur tous les ordinateurs, suivants les composants déjà installés).

Jet 3.5/DAO 3.5 est composé des fichiers suivants. Ces fichiers doivent être installés correctment pour que DAO 3.5 fonctionne (voir  http://support.microsoft.com/support/kb/articles/Q167/5/23.asp):

File Description Installed Registered Directory
DAO350.DLL DAO version 3.5 Shared Yes Program Files\Common Files\Microsoft Shared\DAO
DAO2535.TLB Type Library Companion to DAO350.DLL No Program Files\Common Files\Microsoft Shared\DAO
MSJET35.DLL Microsoft Jet engine version 3.5 System Yes Windows\System or WinNT\System32
MSRD2X35.DLL MDB files from Microsoft Access 97 and earlier Companion to MSJET35.DLL Yes Windows\System or WinNT\System32
MSJTER35.DLL Microsoft Jet 3.5 (and DAO) error message DLL System No Windows\System or WinNT\System32
MSJINT35.DLL Localized Microsoft Jet 3.5 (and DAO) error strings System No Windows\System or WinNT\System32
VBAJET32.DLL VBA-Microsoft Jet Expression service System No Windows\System or WinNT\System32
VBAR332.DLL VBA Runtime System No Windows\System or WinNT\System32
MSVCRT40.DLL Microsoft C Runtime DLL Version 4.0 System No Windows\System or WinNT\System32


Si vous rencontrez une erreur liée à DAO, vérifiez que ces fichiers existent.

  • Si un ou plusieurs fichiers n'existent pas, télécharger MDAC 2.1 ou supérieur (MDAC 2.6 ET les composants Jet 4.0) et installez les sur l'ordinateur. Ensuite, copiez les fichiers manquant depuis le dossier DAO, créé par la décompression du ZIP, dans le dossier approprié et exécutez le batch"DAO350.bat".

    Ceci va supprimer l'inscription de DAO 3.5 dans la base de registre, puis ré-enregistrer les composants DAO 3.5.

    ATTENTION ! Windows 2000/Millenium inclut MDAC 2.5 et les composants Jet 4.0/DAO 3.6, mais pas les composants DAO 3.5. C'est pourquoi vous devez juste copier les fichiers Dao350.dll et Dao2535.tlb et enregistrer DAO 3.5 via le batch.

  • Si tous les fichiers existent, enregistrez juste DAO 3.5 en exécutant le batch "DAO350.bat" extrait du ZIP.

    Ceci va supprimer l'inscription de DAO 3.5 dans la base de registre, puis ré-enregistrer les composants DAO 3.5. Si une erreur survient, celà signifie que vous devez ré-installer MDAC et les composants Jet/DAO.

Un grand à James McClure pour le batch d'enregistrement !

3. Pour le serveur qui héberge le Web Manager.

L'installation ne configure pas automatiquement dans le fichier "includes/config.inc" du dossier WebManager. Ouvrez-le avec un éditeur de texte et modifiez la variableINVENTORY_FOLDER pour indiquer le chemin d'accès du dossier de la base de données.

Si une erreur OLE DB survient lorsque vous ouvrez le Web Manager avec votre navigateur:

  • Assurez-vous que le compte d'exécution du serveur Web (IUSR_MACHINE avec IIS 4+) possède un accès en lecture/écriture dans le dossier "Application".
  • Assurez-vous que MDAC 2.1 ou supérieur est installé sur votre serveur. Vous pouvez télécharger la dernière version de MDAC à l'adresse suivante http://www.microsoft.com/data/download.htm.
    ATTENTION ! MDAC 2.6 ou + n'inclut pas les composants Jet/DAO. Vous devez les télécharger séparément depuis la même adresse et les installer après avoir installé MDAC 2.6.
  • Si celà ne fonctionne toujours pas, regardez le contenu du fichier includes/config.inc. la configuration par défaut utilise le driver OleDB Jet 4.0 pour accéder à la base de données. Cette configuration devrait fonctionner sur la majorité des systèmes, mais, si nécessaire, le fichier de configuration contient des lignes commentées (commencant par un caractère ' pour permettre l'utilisation du driver OleDB Jet 3.5 driver ou une source de données ODBC. Modifiez cette configuration si le driver OleDB Jet 4.0 ne fonctionne pas sur votre système.

Si vous ne pouvez pas exporter la configuration au format CSV, c'est probablement parce que le compte d'exécution du serveur web (IUSR_MACHINE_NAME avec Microsoft IIS) ne peut écrire dans le dossier "Application". Assurez-vous que le compte d'exécution du serveur web possède les permissions d'écriture sur le dossier "Application". En général, le compte d'exécution du serveur web est un compte local qui ne peut accéder au réseau. C'est pourquoi vous ne devez pas installer le Web Manager sur un serveur autre que celui qui héberge la base de données.

 

4. Installer OCS Inventory sur un réseau étendu.

NB: Rappelez-vous que, pour le moement, OCS Inventory utilise uniquement une base de données MS Access. Alors, il peut être trés lent de gérer plus de 1500 machines. Ca marche (quelques utilisateurs m'ont dit gérer plus de 2500 machines dans la base de données), mais ce peut être trés, trés lent ! Ne demandez pas à OCS Inventory d'être aussi performant que MS SMS, ou d'autres produit du même "standing". Peut-être quand il supportera n'importe quel serveur de base de données avec ODBC ou XML-RPC...

Considérons une société avec un réseau étendu composés de plusieurs sites, avec réseau local et un serveur de fichiers (probablement un contrôleur de domaine secondaire) pour chaque site, connectés via des lignes WAN ou VPN.

Si tous les utilisateurs utilisent le même partage pour exécuter l'inventaire, celà va pour le moins considérablement ralentir le réseau, mais plus surement saturer les lignes WAN lorsqu'à 09:00, ils vont tous ouvrir une session !

Pour éviter celà, c'est mieux de faire une installation d'OCS Inventory par site. Oui, mais comment consolider les inventaires pour toute la société s'il y a une base de données Access par site ?

La solution consiste à utiliser le support CSV uniquement sur chaque site, puis à synchroniser les résultats d'inventaires au format CSV avec une seule base de données Access centrale.

Sur chaque site.

Considérons un site X. Nous allons construire le receptacle d'accueil CSV comme suit.

  1. Créer un dossier partager (Inventory$ par exemple) comme pour une installation normale d'OCS Inventory sur le serveur de fichier (appelé SRVSITEX par exemple) et les sous-doosiers suivants.
    • AccessLogs : dossier de stockage des logs d'accès au format CSV.
    • BIOS : dossier de stockage des informations BIOS au format CSV.
    • Drivers : driver WinIO et outils.
    • Graphics : dossier de stockage des informations sur les cartes graphiques au format CSV.
    • Hardware : dossier de stockage des onformations sur les machines au format CSV.
    • LogicalDrives : dossier de stockage des informations sur les lecteurs logiques au format CSV.
    • Network : dossier de stockage des informations sur les cartes réseaux/modems au format CSV.
    • Printers : dossier de stockage des informations sur les imprimantes au format CSV.
    • Results : dossier de stockage des informations sur les logiciels détectés au format CSV.
  2. Copier les fichiers suivants dans le dossier racine Inventory$.
    • OCSInventoryCSV.exe
    • psapi.dll
    • sysinfo.dll
    • winio.dll
    • run_ocs.bat
    • Config.csv
    • Apps.csv
  3. Le fichier de commandes run_ocs.bat contient les commandes suivantes par exemple.

    @echo off
    REM --------------- BEGIN CONFIG ------------------------
    REM Update the following values to match your need
    REM -----------------------------------------------------
    
    REM Set the server network share you are using for OCS Inventory.
    REM This script assume that it is the Application folder which is shared.
    REM So, the Drivers folder is just under the network share.
    SET SERVER_SHARE="\\SRVSITEX\Inventory$"
    
    REM Set the drive letter you want to use to connect the server network share.
    SET DRIVE_LETTER=Z:
    
    REM Update the following destination directory to match your need.
    REM It must be the same directory under Win9X/ME/NT/2000/XP.
    SET DEST_FOLDER=C:\BIOSINFO
    
    REM --------------- END OF CONFIG -----------------------
    REM Do not modify below unless you know what you are doing.
    REM -----------------------------------------------------
    
    REM Test is not already done.
    if exist %DEST_FOLDER%\BiosInfo.exe goto NO_SETUP
    
    REM Setup BiosInfo.exe is required.
    echo.
    echo Setting up BIOSINFO Tool.
    echo BIOSINFO Tool, by Daniel Arbour.
    echo.
    
    REM Connect the server network share to a drive letter.
    net use %DRIVE_LETTER% %SERVER_SHARE% /PERSISTENT:NO
    
    REM Create the destination directory.
    md %DEST_FOLDER%
    
    REM Copy executable to dest dir.
    copy /v %DRIVE_LETTER%\Drivers\BiosInfo.exe %DEST_FOLDER%
    
    REM Disconnect the drive letter from server network share.
    net use %DRIVE_LETTER% /DELETE
    
    echo.
    echo BIOSINFO Tool successfully setup.
    echo.
    
    :NO_SETUP
    
    REM Call BIOSINFO Tool to store results in a file named BIOS.CSV
    %DEST_FOLDER%\BiosInfo.exe BIOS %DEST_FOLDER%\Bios.csv
    
    REM Launch OCS Inventory with import of BIOSINFO results.
    %SERVER_SHARE%\OCSInventoryCSV.exe /BIOS=%DEST_FOLDER%\BIOS.CSV
    
    REM Nothing else to do.
       	

    Il est trés important que le partage soit sur le serveur local SRVSITEX, pour éviter d'utiliser les lignes WAN.
  4. Créer un script de logon pour chaque utilisateurs du site X pour appeler le script run_ocs.bat du serveur SRVSITEX et l'associer à chaque utilisateur du site X.

Sur le site central.

  1. Installez OCS Inventory normalement, avec le Web Manager pour permettre l'accès à l'inventaire aux administrateurs des sites distants via un protocole ustilisant une faible bande passante (see Setup).
    Le dossier Application a le chemin d'accès [Path to OCS Inventory database folder].
  2. Créer un dossier pour stocker les logs de l'outil OCS Inventory Import Utility, par exemple dans [Path to OCS Inventory database folder]\Logs.
  3. Ensuite, deployer OCS Inventory avec support CSV uniquement comme descrit dans le paragraphe précédent.
  4. Enfin, utiliser l'outil OCS Inventory Utility pour synchroniser les réceptacles CSV de chaque site et la base de données centrale avec un script comme le suivant, lancé via le scheduler système quand le traffic réseau WAN est faible (durant la nuit par exemple).

    @echo off
    REM Synchronize CSV files for site 1
    [Path to OCS Inventory database folder]\ImportCSV.exe \\SRVSITE1\Inventory$\ /EXPORT_CONFIG > [Path to OCS Inventory database folder]\Logs\Site1.log
    
    REM Synchronize CSV files for site 2
    [Path to OCS Inventory database folder]ImportCSV.exe \\SRVSITE2\Inventory$\ /EXPORT_CONFIG > [Path to OCS Inventory database folder]\Logs\Site1.log
    
    ....
    
    REM Synchronize CSV files for site N
    [Path to OCS Inventory database folder]\ImportCSV.exe \\SRVSITEN\Inventory$\ /EXPORT_CONFIG > [Path to OCS Inventory database folder]\Logs\Site1.log
        	

    Ce script doit être lancé sous un compte qui posséde les droits de lecture/écriture/suppression de fichiers sur les réceptacles CSV des serveurs de chaque site.
    Comme celà, chaque nuit, il importe les résultats d'inventaire au format CSV et met à jour les fichiers de configuration au format CSV de chaque réceptacle CSV de site.

Vous pouvez aussi utiliser d'autres outils de synchronisation de fichiers, comme par exemple FTp via des scripts ou tout autre moyen. Ceci est une solution, mais ce n'est pas la seule.