====== Fiche Activité A6 - La collecte d’informations pour OCS Inventory-NG ====== ===== Présentation ===== La **collecte automatisée d'informations** passe par **l'installation** sur les postes clients de l'**agent ocs**. Il existe un (ou plusieurs) agent(s) pour chaque système d'exploitation. L’installation de l’agent peut être **automatisé** notamment si cela doit être fait sur de nombreux postes. Ce déploiement de l’agent peut se faire avec une **stratégie de groupe (GPO**) dans un domaine **Active Directory** de Microsoft. Pour cette activité, vous utiliserez l’installation manuelle pour un client Windows. ===== Installation de l'agent sous Windows ===== Pour cette installation, vous utiliserez une **machine virtuelle Windows 7** sur laquelle vous disposez des **droits d'administration**. L'agent OCS Inventory NG pour Windows peut fonctionner : * en tant que **service** Windows automatiquement au démarrage ; * en tant **qu'application** qui peut être lancée à l'aide d'un script de login, d'une GPO sous Active Directory, d'une tâche planifiée, ou d'un raccourci dans le menu Démarrer. Il est **recommandé d’utiliser l'agent en tant que service**, notamment pour la fonctionnalité de déploiement de paquets. **Téléchargez** depuis le dossier partagé **Progs\OCS_GLPI** la dernière version de l'agent Windows **OCSNG-Windows-Agent-2.1.zip**. Ce fichier est disponible depuis la section de téléchargement du site web **http://www.ocsinventory-ng.org/**. Ce paquet contient 2 fichiers : * **OCS-NG_Windows_Agent_Setup.exe** : installe l'agent Windows, soit en tant que service Windows, soit en tant qu'application tierce. C’est l’agent que vous allez utiliser. * **OcsLogon.exe** : installe l'agent en téléchargeant les binaires depuis le serveur de communication (ocsagent.exe), ou lance l'agent si ce dernier est déjà installé sans utilisation du service Windows. OcsLogon installera l'agent en tant que service ou en tant qu'application en se basant sur les commutateurs de ligne de commande. **Décompressez** l’archive pour extraire et exécuter **OCS-NG-Windows-Agent-Setup.exe**. Un fichier de log (**OcsAgentSetup**) rendant compte de l'installation (à consulter en cas de problème ou par curiosité) est créé dans le répertoire où se trouve l'exécutable **OCS-NG-Windows-Agent-Setup.exe** que l'on vient de lancer. Après validation de la licence, vous choisissez le type d’installation : * **Network inventory** : l'ordinateur client peut joindre via le réseau le **serveur OCS Inventory NG**, et de ce fait, il est possible de lancer régulièrement l'agent via un service Windows, ou une GPO, voire une script de login. * **Local inventory** : l'ordinateur n'est pas connecté au réseau ou ne pourra jamais communiquer avec le serveur OCS Inventory NG. Vous pouvez manuellement générer un fichier d'inventaire et l'importer plus tard sur le serveur (voir le chapitre Génération d'inventaire de machines non connectées au réseau ci-dessous). Choisissez le type d’installation **Network inventory** : {{ :si7:configuration:ocs_08.png |}} Puis configurez le client de votre ordinateur Windows : Précisez l'URL de votre serveur de communication OCS Inventory NG, sous la forme **%%http://10.187.36.203/ocsinventory%%**. Vous pouvez aussi spécifier une adresse en **https** si **SSL** est activé et configuré sur votre serveur afin de sécuriser les communications. {{ :si7:configuration:ocs_09.png |}} Ne précisez pas de proxy : {{ :si7:configuration:ocs_10.png |}} Par défaut, l'agent OCS Inventory écrit quelques informations dans les fichiers de log. Vous pouvez améliorer la verbosité des logs en activant l'option **Verbose log**. Précisez aussi comme TAG le type d’OS de votre ordinateur client : **Windows7** (sans espace). Pour finir, indiquez de **lancer immédiatement** l’inventaire : {{ :si7:configuration:ocs_11.png |}} Le répertoire d'installation est, par défaut, **C:\Program Files\OCS Inventory Agent\**. Gardez ce choix par défaut et terminez l'installation. {{ :si7:configuration:ocs_12.png |}} Il vous sera proposé de lancer imédiatement l'**Applet Systray OCS Inventry NG**. Une îcone est alors installée dans la bare des tâches et vous permet : * d'exécuter immédiatement l'agent, * d'afficher les informations d'inventaire récoltées sur votre ordinateur et qui seront transmises au server OCS Inventory NG. Une fois l'agent installé sur le client, le service OCSinventory est configuré pour être lancé automatiquement en tant que service au démarrage. La gestion du parc se réalise via la console web d'administration. Connectez-vous à l’interface d’administration (console d’administration) avec l'URL suivante : **http://10.187.36.203/ocsreports/** et le compte **btssio** : {{ :si7:configuration:ocs_04.png |}} Vous pouvez visualiser l’inventaire et voir votre nouvel ordinateur client. Pour visualiser l'inventaire, cliquez sur cette icône : {{ :si7:configuration:ocs_14.png |}} A chaque fois qu'un inventaire est effectué, l'agent enregistre sur le poste client, des informations dans le répertoire **C:\ProgramData\OCS Inventory NG\Agent**. Pour visualisez ce dossier caché **C:\ProgramData**, à patir de l'Explorateur Windows : * choisir le menu **Organiser** puis **Option des dossiers et de recherche**, * dans l'onglet **Affichage**, cochez** Afficher les fichiers, dossiers et lecteurs cachés**. Ce dossier contient au minimum les fichiers suivants : * **ocsinventory.ini**: tous les paramètres de configuration de l'agent (l'adresse du serveur et ses paramètres d'authentification, l'adresse du proxy et ses paramètres d'authentification, les propriétés du service...), * **ocsinventory.dat** : le fichier d'identité unique de l'ordinateur, basé sur l'adresse MAC et le nom d'hôte, * ** last_state** : l'état du dernier inventaire afin de détecter les changements entre deux inven-taires, * **history** : l'historique des paquets déployés, * Tous les fichiers de log créés par l'agent OCS Inventory NG. **Note**: Vous devez arrêter le service **OCS Inventory Service** pour effectuer des modifications dans ces fichiers car ils sont protégés en écriture durant leur exécution. Exemple de fichier ocsinventory.ini d’un client Windows 7 : [OCS Inventory Agent] ComProvider=ComHTTP.dll Debug=1 Local= NoSoftware=0 HKCU=0 NoTAG=0 IpDisc= [HTTP] Server=http://10.187.36.203/ocsinventory SSL=1 CaBundle=cacert.pem AuthRequired=0 User= Pwd= ProxyType=0 Proxy= ProxyPort=0 ProxyAuthRequired=0 ProxyUser= ProxyPwd= [OCS Inventory Service] PROLOG_FREQ=24 OLD_PROLOG_FREQ=24 TTO_WAIT=2160 **PROLOG_FREQ** contient la valeur synchronisée à chaque connexion au serveur. **OLD_PROLOG_FREQ** contient la valeur par défaut puis ensuite même valeur que **PRO-LOG_FREQ**. La variable **TTO_WAIT** représente en secondes le nombre d'heures d'attente ; elle est décrémentée de **1** à chaque seconde par le service (le fichier **service.ini** est réécrit toutes les minutes). Lorsqu'elle arrive à **0**, l'agent exécute la commande **OCSinventory.exe** suivi des options contenues dans le fichier **ocsinventory.ini**. Cet agent va générer un fichier de log **OCSInventory.log** dans le répertoire **C:\ProgramData\OCS Inventory NG\Agent** et transmettre la remontée d'inventaire au serveur si l'inventaire est plus vieux que le nombre de jours spécifiés dans la variable **FREQUENCY**. Une fois que le service a lancé l'agent, il recalcule de manière aléatoire le **TTO_WAIT** compris entre **1 et la valeur de PROLOG_FREQ** (convertie en secondes) synchronisée avec la variable correspondante sur le serveur OCSinventory. À chaque installation, le contenu de la variable **TTO_WAIT** est différent mais inférieur à **3 600 secondes** (correspondant à 1 h qui est le contenu par défaut de la variable PROLOG_FREQ). Pour forcer l'inventaire d'une machine immédiatement, il suffit d'exécuter la commande : OCSInventory.exe /SERVER=http://10.187.36.203/ocsinventory Pour forcer l'inventaire d'une machine dans un temps défini : * Arrêt du service **OCS INVENTORY SERVICE** * Édition du fichier **C:\ProgramData\OCS Inventory NG\Agent\ocsinventory.ini** * Affectation d'une faible valeur à **TTO_WAIT** (30 par exemple). * Redémarrage du service **OCS INVENTORY SERVICE** Ainsi, après 30 secondes le client doit être mis à jour dans l'inventaire. Vous avez utilisé la procédure d'installation interactive de l'agent. Cette méthode oblige à effectuer ce processus sur chaque poste de votre réseau. Il est possible de scripter cette installation avec les options de la ligne de commande d'installation de l'agent OCS Inventory NG en mode service Voici quelques paramètres qui peuvent être appelés en ligne de commande : * **/S** pour lancer l'installeur en mode silencieux, sans interaction de l'utilisateur * **/NOSPLASH** désactive les fenêtres d'affichage lorsque l'installeur est lancé * **/NO_SYSTRAY** Pour ne pas créer un raccourci dans le dossier de démarrage "All Users" pour démarrer l'applet du **systray** quand l'utilisateur ouvre une session. * **/NOW** pour lancer un premier inventaire à la fin de l'installation * **/NOSOFTWARE** pour ignorer les logiciels installés Vous pouvez aussi passer les paramètres de ligne de commande suivants à l'installeur * **/SERVER=** (adresse IP ou nom DNS du serveur de Communication OCS Inventory) * **/PROXY_TYPE=** * **/PROXY=** * **/DEBUG=** (un fichier de log au nom de la machine est créé dans le répertoire d'installation à chaque remontée d'inventaire) * **/TAG=** **Exercice Installation de l'agent OCS Inventory en ligne de commande :** En vous aidant des informations disponibles sur la liste des arguments et leur signification à l’adresse : http://wiki.ocsinventory-ng.org/index.php/Documentation:Main/fr, écrivez la commande avec les paramètres nécessaires pour l’installation d’un client Windows sans interface graphique et sans intervention de l’utilisateur. Indiquez dans le champ TAG la bonne version de votre client Windows (7, 8, 8.1, Server 2008, etc.). ===== Les possibilités de gestion des informations collectées ===== ==== Présentation ==== Une fois les inventaires transmis au serveur par les agents et intégrés à la base de données, l'ensemble des machines peut être visionné. Des requêtes de restrictions pourront également être effectuées permettant ainsi d'avoir une vue précise et ciblée des éléments informatiques présents dans l'entreprise. Pour plus de détails sur les éléments inventoriés, vous pouvez consulter la page suivante : http://www.ocsinventory-ng.org/fr/a-propos/fonctionnalites/inventaire.html {{ :si7:configuration:ocs_15.png |}} Il suffit de passer la souris sur les icônes de la barre d’outils pour avoir une explication générale. Sur le site http://wiki.ocsinventory-ng.org/index.php/Documentation:Main/fr vous trouverez de la documentation sur les fonctionnalités du logiciel. ==== Présentation de quelques possibilités de gestion des informations : ==== * personnaliser la vue en ajoutant ou supprimant des colonnes, en changeant le nombre de lignes par page à afficher ; * rechercher selon de multiples critères * créer des groupes statiques ou dynamiques de machines, le groupe dynamique se mettant à jour automatiquement ; aussi il n'est possible de **créer un groupe dynamique** que sur la base d'une recherche par critère(s) et toutes les machines trouvées actuelles et futures intègrent automatiquement le groupe. L'intérêt est multiple : * avoir une vue permanente des machines répondant à un ou plusieurs critères sans avoir à chaque fois à refaire la même recherche (exemple : repérer les machines ayant Microsoft Office alors qu'il n'existe pas de licence, identifier les machines qui vont faire l'objet d'un déploiement, etc) ; * appliquer une configuration différente à un groupe de machine (par exemple une valeur de PROLOG_FREQ plus forte ou plus faible) ; * documentation ici : http://wiki.ocsinventory-ng.org/index.php/Documentation:Groups/fr. * **visualiser** et **catégoriser** les logiciels présents sur les machines : icones {{ :si7:configuration:ocs_16.png |}} {{ :si7:configuration:ocs_17.png |}} Cette dernière icône (Dictionnaire) servant notamment pour la gestion des logiciels avec GLPI * visualiser et gérer les **doublons** * ajouter des **informations administratives** (date de fin de garantie, etc) * réaliser des requêtes sur le registre ; ===== Gérer des groupes===== ==== Gérer des groupes dynamiques ==== **Exercice Gestion des groupes dynamiques :** Pour cet exercice, aidez-vous de l’aide disponible sur OCS Inventory NG à l’adresse http://wiki.ocsinventory-ng.org/index.php/Documentation:Groups/fr * Qu’est-ce qu’un groupe dynamique ? Vous allez **créer un groupe dynamique** qui sera basé sur recherche des postes ayant le système d’exploitation **Windows 7**. Les postes actuellement renseignés dans OCS seront mis dans ce groupe mais aussi, et automatiquement, tous les postes qui feront plus tard partie de l’inventaire. Recherchez les postes ayant le système d’exploitation **Windows 7** et mettez-les dans un groupe dynamique appelé **nom.prenom_OS_Windows_7**. Attention, préfixez votre nom de groupe dynamique par vos nom et prénom. * cliquer sur la **loupe** (Recherche multicritères), * sélectionner **Système** dans la liste déroulante **Choisissez un paramètre** ; * sélectionner **RESSEMBLE** dans la liste déroulante et **Microsoft Windows 7 Professional**. * Cliquez sur **rechercher**. {{ :si7:configuration:ocs_18.png |}} La liste des ordinateurs qui répondent aux **critères** s’affiche. * **Cliquez** ensuite sur le lien **groupe** et créez un groupe (création d’un groupe dynamique) dans la partie gauche du tableau pour la requête en précisant le nom et la description du groupe : {{ :si7:configuration:ocs_19.png |}} A partir du module **Groupe **, visualisez votre groupe dynamique {{ :si7:configuration:ocs_20.png |}} {{ :si7:configuration:ocs_21.png |}} En cliquant sur le nom du groupe, vous pouvez voir la **requête SQL** qui gère le contenu du groupe. {{ :si7:configuration:ocs_22.png |}} Pour visualisez la liste des machines : {{ :si7:configuration:ocs_23.png|}} {{ :si7:configuration:ocs_24.png|}} ==== Gérer des groupes statiques ==== Vous souhaitez avoir un groupe constitué uniquement avec les ordinateurs portables de la salle B5051. * cliquer sur la **loupe** (Recherche multicritères), * sélectionner **nom machine** dans la liste déroulante **Choisissez un paramètre** ; * sélectionner **RESSEMBLE** dans la liste déroulante et **btssio_**. * Cliquez sur **rechercher**. {{ :si7:configuration:ocs_25.png |}} Le résultat n’est pas satisfaisant car il y a d’autres machines que** BTSSIO-xx**. Créez alors un groupe statique **nom.prenom_portable_b5051** à partir du résultat de la recherche afin de sélectionner uniquement les machines voulues en cochant les ordinateurs à prendre en compte et en choisissant de renseigner la partie gauche du tableau (**Pour la sélection**). Vous ne pouvez pas les ajoutez tous en même temps ; utilisez dans la liste déroulante **Ajouter statistiquement** le nom de votre groupe. Créer les groupes suivants en choisissant autant que possibles des groupes dynamiques et à défaut des groupes statiques * **Portable_B5051_complet** : contient les ordinateurs portables de la salle B5010 avec les logiciels OpenOffice , Project Professional 2010, SQL Server 2008 R2 SP1, Visual Studio, Packet Tracer, DAEMON Tools Lite, PicPick, Antivirus Microsoft Essentials, Notepad++, lecteur PDF, Wamp * **Portable_B5051_Disque** contenant les portable dont l’espace disdque est supérieur à 230 Go * **NoTag** contenant les ordinateurs pour lesquels le champ TAG n’est pas renseigné Accédez à PHPmyadmin vec le compte btssio à l’adresse http://10.187.36.203/phpmyadmin/ Visualiser les requêtes qui correspondent à vos groupes dans la table groups. Créez directement en SQL la requête permettant d’obtenir la liste des ordinateurs portables ne faisant pas partie du groupe **Portable_B5051_complet**. ===== Récupération des clés de registre ===== Une des fonctionnalités intéressantes de la gestion d'un parc est de permettre la gestion des licences logicielles ; pour cela certaines clés de registres (sur les systèmes Windows uniquement) doivent être récupérées. Par défaut, aucune clef de registre n’est récupérée par les agents OCSinventory. C'est donc à l'administrateur du service d'inventaire de définir celles qui doivent l'être. L'Agent OCS Inventory NG pour Windows est capable **d'interroger** la **base de registre** des ordinateurs inventoriés pour obtenir la valeur d'une clé ou de toutes les clés des registres intitulés HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG. ==== Démarche à suivre : ==== * Activer l'option dans la configuration générale (menu **configuration**, onglet **registre**, mettre le paramètre à **on**) si cela n’est pas déjà fait. {{ :si7:configuration:ocs_26.png |}} * Définir les clés avec le module **registre** dans la barre d'outils en cliquant sur le bouton **Ajouter** : **Exemple** avec la clé de la base de registre permettant de récupérer la licence de Microsoft Office 2013 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Registration\{90150000-0011-0000-1000-0000000FF1CE} {{ :si7:configuration:ocs_27.png |}} {{ :si7:configuration:ocs_28.png |}} Vous pouvez ensuite visualiser le résultat, lors de la vue de chaque poste via l'icône : {{ :si7:configuration:ocs_29.png |}} Si nécessaire forcez la remontée d’inventaire à partir du poste client. **Exercice Gestion des clés de registre :** * Remontez de la base de registre la clé indiquant l'ensemble des processus lancés automatiquement au démarrage de la machine : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. * Quel peut être l'intérêt de connaître ces informations ? ===== Correction des exercices ===== === Exercice Installation de l'agent OCS Inventory en ligne de commande === Pour un client **Windows 7**, cela donne la commande suivante à exécuter dans le dossier ou se trouve **OCS-NG-Windows-Agent-Setup.exe**. OCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /NOW /SERVER=http://192.168.1.27/ocsinventory /PROXY_TYPE=NONE /TAG=Windows_7 === Exercice Gestion des groupes dynamiques === Pour cet exercice, aidez-vous de l’aide disponible sur **OCS Inventory NG** à l’adresse http://wiki.ocsinventory-ng.org/index.php/Documentation:Groups/fr * Qu’est-ce qu’un groupe dynamique ? Les groupes dynamiques de machines correspondent ordinateurs sélectionnés durant une recherche multicritères. Pour cet exercice, le critère est d’avoir un système d’exploitation Windows. Si, plus tard, un nouvel ordinateur répond aux critères de recherche (nouvel ordinateur Windows), il REJOINDRA automatiquement le groupe dynamique lors de son nouvel inventaire. De la même manière, si un ordinateur du groupe de répond plus aux critères, il sera automatiquement supprimé du groupe dynamique à l'occasion d'un nouvel inventaire (changement d’OS). === Exercice Gestion des clés de registre === * Remontez de la base de registre la clé indiquant l'ensemble des processus lancés automatiquement au démarrage de la machine : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. * Quel peut être l'intérêt de connaître ces informations ? Pour la remontée de la clé de registre voir les informations précédentes. L’intérêt de connaître les processus automatiquement lancés au démarrage : * S’assurer de l’installation des services nécessaires et prévus par l’organisation ; * Détecter des programmes dangereux, des installations qui n’ont pas lieu d’être, etc.