Partage via


Gérer la journalisation de l’inventaire logiciel

Ce document explique comment gérer la journalisation de l’inventaire logiciel, une fonctionnalité qui permet aux administrateurs de centres de données de consigner facilement les données de gestion des ressources logicielles Microsoft pour leur déploiement au fil du temps. Ce document explique comment gérer la journalisation de l’inventaire logiciel. Avant d’utiliser la journalisation de l’inventaire logiciel avec Windows Server 2012 R2, vérifiez que les mises à jour Windows KB 3000850 et KB 3060681 sont installées sur chaque système à inventorier. Aucune mise à jour Windows Update n’est nécessaire pour Windows Server 2016. Cette fonctionnalité s’exécute localement sur chaque serveur à inventorier. Elle ne collecte pas de données depuis des serveurs distants.

La fonctionnalité Journalisation de l'inventaire logiciel peut également être ajoutée à deux versions de Windows Server antérieures à Windows Server 2012 R2. Vous pouvez installer les mises à jour suivantes pour ajouter la fonctionnalité Journalisation de l’inventaire logiciel à Windows Server 2012 et Windows Server 2008 R2 SP1 :

  • Windows Server 2012 (Standard ou Datacenter Edition)

Notes

Assurez-vous d’avoir installé WMF 4.0 avant d’appliquer le package de mise à jour ci-dessous.

  • Package de mise à jour de WMF 4.0 pour Windows Server 2012 : KB 3119938

  • Windows Server 2008 R2 SP1

Notes

Assurez-vous d’avoir installé WMF 4.0 avant d’appliquer le package de mise à jour ci-dessous.

Il existe deux méthodes principales pour l’inventaire à l’aide de cette fonctionnalité :

  1. Démarrage de la fonctionnalité de journalisation SIL pour collecter à partir de sources de données SIL et envoyer la charge sur le réseau vers une cible spécifiée (URI) toutes les heures.

  2. Interrogation manuelle des données SIL à l’aide de PowerShell ou WMI à n’importe quel intervalle.

Le démarrage de la journalisation SIL implique une planification et une prévoyance, mais présente des avantages importants par rapport à l’interrogation manuelle des données. L’utilisation de la journalisation SIL présente trois principaux avantages pour les administrateurs de centre de données :

  • Un historique permanent (journal) peut être collecté au fil du temps, générant des rapports flexibles et complets à partir d’une source unique.

  • Les défis relatifs à la découverte des ordinateurs typiques de nombreux outils d’inventaire peuvent être surmontés.

  • Les défis relatifs aux délimitations d’approbation et la nécessité de privilèges utilisateur élevés typiques de nombreux outils d’inventaire peuvent être surmontés tout en conservant un niveau de sécurité, dans la mesure où les données sont chiffrées sur HTTPS avec SSL.

La journalisation de l’inventaire logiciel est installée par défaut, mais elle ne démarre par défaut. La configuration de la journalisation de l’inventaire logiciel est effectuée avec les applets de commande PowerShell. Seules quelques options de configuration sont disponibles pour la journalisation de l’inventaire logiciel. Ce document décrit ces options et leur objectif, ainsi que les applets de commande destinées à la collection de données (si vous utilisez la deuxième méthode ci-dessus).

Dans ce document

Les options de configuration traitées dans ce document incluent :

Notes

Cette rubrique inclut des exemples d'applets de commande Windows PowerShell que vous pouvez utiliser pour automatiser certaines des procédures décrites. Pour plus d'informations, consultez Utilisation des applets de commande.

Démarrage et arrêt de la journalisation de l’inventaire logiciel

La collecte quotidienne de la journalisation de l’inventaire logiciel et son transfert sur le réseau doivent être activés sur un ordinateur exécutant Windows Server 2012 R2 pour journaliser l’inventaire logiciel.

Notes

Vous pouvez utiliser l’applet de commande PowerShell Get-SilLogging pour récupérer des informations sur le service de journalisation de l’inventaire logiciel, notamment s’il est en cours d’exécution ou arrêté.

Pour démarrer la journalisation de l’inventaire logiciel

  1. Connectez-vous au serveur avec un compte disposant des privilèges d’administrateur local.

  2. Ouvrez PowerShell en tant qu’administrateur.

  3. À l’invite de PowerShell, tapez Start-SilLogging

Notes

Il est possible de définir la cible sans définir d’empreinte de certificat, mais si vous le faites, les transferts échoueront et les données seront stockées localement pour une durée par défaut maximale de 30 jours (après quoi elles sont supprimées). Une fois qu’un hachage de certificat valide a été défini pour la cible (et qu’un certificat valide correspondant a été installé dans le magasin LocalMachine/Personal), les données stockées localement sont transmises à la cible, tant que celle-ci est configurée pour accepter ces données avec ce certificat (pour plus d’informations, voir Software Inventory Logging Aggregator ).

Pour arrêter la journalisation de l’inventaire logiciel

  1. Connectez-vous au serveur avec un compte disposant des privilèges d’administrateur local.

  2. Ouvrez PowerShell en tant qu’administrateur.

  3. À l’invite de PowerShell, tapez Stop-SilLogging

Configuration de la journalisation de l’inventaire logiciel

Il existe trois étapes de configuration de la journalisation de l’inventaire logiciel pour transmettre des données à un serveur d’agrégation dans le temps :

  1. Utilisez Set-SilLogging –TargetUri pour spécifier l’adresse web de votre serveur d’agrégation (elle doit commencer par « https:// »).

  2. Utilisez Set-SilLogging –CertificateThumbprint pour spécifier le hachage d’empreinte de votre certificat SSL valide à utiliser pour authentifier les transmissions de données vers votre serveur d’agrégation (celui-ci devra être configuré pour accepter le hachage).

  3. Installez un certificat SSL valide (pour votre réseau) dans le magasin Local Machine/Personal (ou /LocalMachine/MY) du serveur local à partir duquel transférer des données.

Il est préférable d’effectuer ces étapes avant d’utiliser Start-SilLogging. Si vous souhaitez les utiliser après l’utilisation de Start-SilLogging, vous devez simplement arrêter et redémarrer SIL. Vous pouvez également utiliser l’applet de commande Publish-SilData pour vérifier que le serveur d’agrégation dispose d’un ensemble complet des données pour ce serveur.

Pour obtenir un guide complet sur la configuration de l’infrastructure SIL dans son ensemble, voir Software Inventory Logging Aggregator. En particulier, si Publish-SilData génère une erreur ou que la journalisation SIL échoue par ailleurs, voir la section de dépannage.

Journalisation de l’inventaire logiciel au fil du temps

Si un administrateur a démarré la journalisation de l’inventaire logiciel, la collection toutes les heures et le transfert des données vers le serveur d’agrégation (URI cible) commencent. Le premier transfert est un jeu de données complet des mêmes données que Get-SilData récupère et affiche sur la console à un moment donné. Par la suite, à chaque intervalle, SIL crée une vérification des données et transfère uniquement un petit accusé de réception d’identification au serveur cible d’agrégation si les données n’ont pas été modifiées depuis la dernière collection. Si une valeur a changé, SIL envoie à nouveau un jeu de données complet.

Important

Si, à n’importe quel intervalle, l’URI cible est inaccessible ou le transfert des données sur le réseau a échoué pour une raison quelconque, les données collectées sont stockées localement pour une durée par défaut maximale de 30 jours (après quoi elles sont supprimées). Lors du transfert suivant des données au serveur cible d’agrégation, toutes les données stockées localement sont transférées et les données mises en cache locales sont supprimées.

Affichage des données de journalisation de l’inventaire logiciel

Outres les applets de commande PowerShell décrites dans la section précédente, six autres applets de commande peuvent être utilisées pour collecter des données de journalisation de l’inventaire logiciel :

  • Get-SilComputer : affiche les valeurs à un moment donné pour des données relatives à un serveur et à un système d’exploitation spécifiques, ainsi que le nom de domaine complet ou le nom de l’hôte physique, si disponible.

  • Get-SilComputerIdentity (KB 3000850) : affiche les identificateurs utilisés par SIL pour des serveurs individuels.

  • Get-SilData : affiche une collection à un moment donné de toutes les données de journalisation de l’inventaire logiciel.

  • Get-SilSoftware : affiche l’identité à un moment donné de tous les logiciels installés sur l’ordinateur.

  • Get-SilUalAccess : affiche le nombre total de demandes de périphérique client et de demandes d’utilisateur client uniques au serveur à partir de deux jours antérieurs.

  • Get-SilWindowsUpdate : affiche la liste à un moment donné de toutes les mises à jour de Windows installées sur l’ordinateur.

Un scénario typique d’utilisation d’applets de commande de la journalisation de l’inventaire logiciel consisterait en un administrateur qui interrogerait la journalisation de l’inventaire logiciel à un moment donné de la collection de toutes les données de journalisation de l’inventaire logiciel à l’aide de Get-SilSoftware.

Exemple de sortie

PS C:\> Get-SilData

ID                 : 961FF8A1-8549-4BEC-8DF6-3B3E32C26FFA
UUID               : B49ACB4C-7D9C-4806-9917-AE750BB3DA84
VMGUID             : E84CCCBD-0D0F-486B-A424-9780C7CF92E4
Name               : Server01Guest.Test.Contoso.com
HypervisorHostName : Server01.Test.Contoso.com

ID          : {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
Name        : Microsoft Visual C++ 2010  x86 Redistributable - 10.0.40219
InstallDate : 12/5/2013
Publisher   : Microsoft Corporation
Version     : 10.0.40219

ID          : {89F4137D-6C26-4A84-BDB8-2E5A4BB71E00}
Name        : Microsoft Silverlight
InstallDate : 3/20/2014
Publisher   : Microsoft Corporation
Version     : 5.1.30214.0

ChassisSerialNumber       : 4452-0564-0284-2290-0113-6804-05
CollectedDateTime         : 10/27/2014 4:01:33 PM
Model                     : Virtual Machine
Name                      : Server01Guest.Test.Contoso.com
NumberOfCores             : 1
NumberOfLogicalProcessors : 1
NumberOfProcessors        : 1
OSName                    : Microsoft Windows Server 2012 R2 Datacenter
OSSku                     : 8
OSSuite                   : 400
OSSuiteMask               : 400
OSVersion                 : 6.3.9600
ProcessorFamily           : 179
ProcessorManufacturer     : GenuineIntel
ProcessorName             : Intel(R) Xeon(R) CPU           E5440  @ 2.83GHz
SystemManufacturer        : Microsoft Corporation

Notes

La sortie de cette applet de commande est la même que celle de toutes les autres applets de commande Get-Sil pour cette fonctionnalité combinée, mais elle est fournie à la console de façon asynchrone. De ce fait, l’ordre des objets peut ne pas toujours être le même.

Il n’est pas nécessaire d’avoir commencé à utiliser la journalisation de l’inventaire logiciel pour utiliser les applets de commande Get-Sil.

Suppression des données consignées par la journalisation de l’inventaire logiciel

La journalisation de l’inventaire logiciel n’est pas destinée à être un composant essentiel. Elle a été conçue pour affecter le moins possible les opérations système locales tout en maintenant un haut niveau de fiabilité. Elle permet également à l’administrateur de supprimer manuellement la base de données de la journalisation de l’inventaire logiciel et les fichiers associés (chaque fichier présent dans le répertoire \Windows\System32\LogFiles\SIL) pour répondre aux besoins opérationnels.

Pour supprimer les données consignées par la journalisation de l’inventaire logiciel

  1. Dans PowerShell, arrêtez la journalisation de l’inventaire logiciel avec la commande Stop-SilLogging .

  2. Ouvrez l’Explorateur Windows.

  3. Accédez au dossier \Windows\System32\Logfiles\SIL\.

  4. Supprimez tous les fichiers de ce dossier.

Sauvegarde et restauration des données consignées par la journalisation de l’inventaire logiciel

La journalisation de l’inventaire logiciel stocke temporairement les collections de données effectuées toutes les heures si le transfert sur le réseau échoue. Les fichiers journaux sont stockés dans le répertoire \Windows\System32\LogFiles\SIL\. Les sauvegardes des données de journalisation de l’inventaire logiciel peuvent être effectuées avec vos sauvegardes planifiées du serveur.

Important

Si, pour une raison quelconque, une réparation de l’installation ou une mise à niveau du système d’exploitation est nécessaire, tous les fichiers journaux stockés localement seront perdus.  Si ces données sont importantes pour les opérations, il est recommandé de les sauvegarder avant l’installation du nouveau système d’exploitation. Après la réparation ou la mise à niveau, restaurez simplement les données au même emplacement.

Notes

Si, pour une raison quelconque, la gestion de la durée de rétention des données enregistrées localement par SIL devient importante, elle peut être configurée en modifiant la valeur de Registre : \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\SoftwareInventoryLogging. La valeur par défaut est « 30 » pour 30 jours.

Lecture des données consignées et publiées par la journalisation de l’inventaire logiciel

Les données enregistrées par SIL mais stockées localement (si le transfert vers l’URI cible échoue) ou les données transférées au serveur cible d’agrégation sont stockées dans un fichier binaire (pour les données de chaque jour). Pour afficher ces données dans PowerShell, utilisez l’applet de commande Import-BinaryMiLog.

Sécurité de la journalisation de l’inventaire logiciel

Des privilèges d’administrateur sur le serveur local sont requis pour récupérer les données à partir des API WMI et PowerShell de la journalisation de l’inventaire logiciel.

Pour exploiter correctement la fonctionnalité complète de journalisation de l’inventaire logiciel afin de transférer des données vers un point d’agrégation en permanence au fil du temps (à des intervalles d’une heure), un administrateur doit utiliser des certificats clients pour garantir des sessions SSL sécurisées pour le transfert de données via le protocole HTTPS. Vous trouverez ici une vue d’ensemble de l’authentification HTTPS : Authentification HTTPS.

Toutes les données stockées localement sur un serveur Windows (se produit uniquement si la fonctionnalité est démarrée mais la cible est inaccessible pour une raison quelconque) ne sont accessibles qu’avec des privilèges d’administrateur sur le serveur local.

Utilisation des paramètres de date et d’heure dans la journalisation de l’inventaire logiciel Windows Server 2012 R2

  • Lorsque vous utilisez Set-SilLogging - TimeOfDay pour définir le moment auquel la journalisation SIL s’exécute, vous devez spécifier une date et une heure. La date du calendrier est définie et la journalisation n’a pas lieu tant que la date n’est pas atteinte, en heure locale du système.

  • Lorsque vous utilisez Get-SilSoftware ou Get-SilWindowsUpdate, « InstallDate » affiche toujours 12:00:00 AM, une valeur sans signification.

  • Lorsque vous utilisez Get-SilUalAccess, « SampleDate » affiche toujours 11:59:00 PM, une valeur sans signification.  La date est la donnée pertinente pour ces requêtes d’applet de commande.

Activation et configuration de la journalisation de l’inventaire logiciel dans un disque dur virtuel monté

La journalisation de l’inventaire logiciel prend également en charge la configuration et l’activation sur des ordinateurs virtuels hors connexion. Les utilisations pratiques couvrent les paramètres « d’image gold » pour le déploiement à grande échelle entre les centres de données, ainsi que la configuration des images des utilisateurs finals, qu’il s’agisse d’un déploiement de site local ou de cloud.

Pour prendre en charge ces utilisations, la journalisation de l’inventaire logiciel comporte des entrées de Registre associées à chaque option configurable. Vous trouverez ces valeurs de Registre sous \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\SoftwareInventoryLogging.

Fonction Nom de la valeur Données Applet de commande correspondante (disponible uniquement dans le système d’exploitation en cours d’exécution)
Fonctionnalité de démarrage/d’arrêt CollectionState 1 ou 0 Start-SilLogging, Stop-SilLogging
Spécifie le point d’agrégation cible sur le réseau TargetUri string Set-SilLogging - TargetURI
Spécifie l’empreinte du certificat ou le hachage du certificat utilisé pour l’authentification SSL pour le serveur web cible CertificateThumbprint string Set-SilLogging -CertificateThumbprint
Spécifie la date et l’heure auxquelles la fonctionnalité débute (si la valeur définie est dans le futur selon l’heure système locale) CollectionTime Par défaut : 2000-01-01T03:00:00 Set-SilLogging -TimeOfDay

Pour modifier ces valeurs sur un disque dur virtuel hors connexion (système d’exploitation de l’ordinateur inactif), un disque dur virtuel doit tout d’abord être monté, et ensuite les commandes suivantes peuvent être utilisées pour apporter des modifications :

La journalisation de l’inventaire logiciel vérifie ces valeurs lorsque le système d’exploitation démarre et s’exécute en conséquence.

Vue d’ensemble de l’utilisation de la journalisation de l’inventaire logiciel dans Windows Server 2012 R2 sans KB 3000850

Les modifications suivantes des paramètres par défaut et de la fonctionnalité de journalisation de l’inventaire logiciel ont été effectuées avec KB 3000850:

  • L’intervalle par défaut pour la collection et le transfert sur le réseau au démarrage de la journalisation SIL a été remplacé par toutes les heures à la place de quotidien (au hasard dans chaque heure).

  • La charge utile de données par défaut a été réduite pour inclure uniquement les objets provenant de SilComputer, Get-SilComputerIdentity et Get-SilSoftware.

  • L’invité pour la communication de canal hôte dans les environnements Hyper-V a été supprimé.

Utilisation de la journalisation de l’inventaire logiciel dans un environnement Windows Server 2012 R2 Hyper-V sans KB 3000850

Notes

Cette fonctionnalité est supprimée avec l’installation de la mise à jour KB 3000850 .

Lorsque vous utilisez la journalisation de l’inventaire logiciel sur un hôte Hyper-V Windows Server 2012 R2, il est possible d’extraire des données SIL des invités Windows Server 2012 R2 qui s’exécutent localement, si la journalisation SIL a été démarrée dans le ou les invités. Cependant, cette possibilité n’existe que lorsque vous utilisez les applets de commande Powershell Get-SilData et Publish-SilData, et seulement avec Windows Server 2012 R2 dans l’hôte et l’invité.  Cette fonctionnalité vise à permettre aux administrateurs de centre de données qui fournissent des ordinateurs virtuels invités aux locataires ou autres entités d’une grande entreprise, de capturer des données d’inventaire logiciel sur l’hôte hyperviseur et, par la suite, de transférer toutes ces données à un agrégateur (ou un URI cible).

Voici deux exemples reflétant l’aspect de la sortie dans la console PowerShell (très abrégés) sur un hôte Hyper-V Windows Server 2012 R2 exécutant une machine virtuelle invitée Windows Server 2012 R2 avec la journalisation SIL lancée.  Vous remarquerez que le premier exemple, qui utilise Get-SilData seul, affiche toutes les données de l’hôte comme prévu.  Toutes les données SIL de l’invité sont également incluses, mais dans un format réduit.  Pour développer et afficher ces données à partir de l’invité, coupez et collez simplement l’extrait de code utilisé dans le deuxième exemple ci-dessous.  Les objets de données SIL de l’invité auront toujours le GUID de l’ordinateur virtuel associé au sein de l’objet.

Notes

Les données SIL étant une sortie sur la console, lors de l’utilisation de l’applet de commande Get-SilData, dans des flux de données, les objets ne sortiront pas systématiquement dans l’ordre prévu.  Dans les deux exemples ci-dessous, le texte a été codé par couleur (bleu pour les données de l’hôte physique et vert pour les données de l’invité virtuel) uniquement comme outil d’illustration de ce document.

Exemple de sortie 1

Capture d’écran du premier exemple de rapport de sortie.

Exemple de sortie 2 (fonction w/Expand-SilData)

Capture d’écran du second exemple de rapport de sortie qui inclut la fonction Expand-SilData.

Voir aussi

Prise en main de la journalisation de l’inventaire logicielAgrégateur de la journalisation de l’inventaire logicielApplets de commande de la journalisation de l’inventaire logiciel dans Windows PowerShellImport-BinaryMiLogExport-BinaryMiLog