Geek School: Utiliser PowerShell pour obtenir des informations sur l'ordinateur

Table des matières:

Geek School: Utiliser PowerShell pour obtenir des informations sur l'ordinateur
Geek School: Utiliser PowerShell pour obtenir des informations sur l'ordinateur

Vidéo: Geek School: Utiliser PowerShell pour obtenir des informations sur l'ordinateur

Vidéo: Geek School: Utiliser PowerShell pour obtenir des informations sur l'ordinateur
Vidéo: Voici Pourquoi ta Batterie de Téléphone Diminue si Rapidement - YouTube 2024, Avril
Anonim
WMI et son nouveau frère CIM peuvent tous deux être utilisés pour gérer les ordinateurs Windows de votre environnement. Mais connaissez-vous la différence entre eux? Rejoignez-nous pour jeter un coup d'œil.
WMI et son nouveau frère CIM peuvent tous deux être utilisés pour gérer les ordinateurs Windows de votre environnement. Mais connaissez-vous la différence entre eux? Rejoignez-nous pour jeter un coup d'œil.

Assurez-vous de lire les articles précédents de la série:

  • Apprenez à automatiser Windows avec PowerShell
  • Apprendre à utiliser les cmdlets dans PowerShell
  • Apprendre à utiliser des objets dans PowerShell
  • Apprentissage du formatage, du filtrage et de la comparaison dans PowerShell
  • Apprendre à utiliser la communication à distance dans PowerShell

Et restez à l’écoute pour le reste de la série toute la semaine.

introduction

WMI signifie Windows Management Instrumentation. Le terme «Instrumentation» fait référence au fait que WMI vous permet d'obtenir des informations sur l'état interne de votre ordinateur, tout comme les instruments du tableau de bord de votre voiture peuvent récupérer et afficher des informations sur l'état des composants internes de votre voiture.

WMI se compose d'un référentiel contenant des classes représentant des composants pouvant être gérés dans votre ordinateur. Par cela, nous entendons simplement par le fait que WMI a une classe Win32_Battery ne signifie pas que votre ordinateur contient une batterie. Ces classes peuvent ensuite être interrogées pour obtenir des informations localement ou même sur un réseau à l'aide d'un langage de requête très similaire à SQL appelé WQL. Cependant, on sait que WMI est très peu fiable, principalement en raison du fait qu’il est basé sur les appels de procédure distante (RPC), qui font des choses folles avec les ports sur lesquels ils choisissent de communiquer.

À partir de Windows 8 et de Server 2012, WMI est progressivement supprimé au profit du modèle commun d'informations ou CIM. La seule différence entre WMI et CIM réside dans les protocoles de transport qu'ils utilisent. Alors que WMI effectue des requêtes à l'aide d'appels de procédure distante, CIM utilise HTTP, ce qui semble faire toute la différence. Sur le backend, ils parlent toujours au même référentiel d'informations.

Utiliser WMI

Le moyen le plus rapide et le plus simple d’explorer les informations disponibles via WMI consiste à récupérer une copie de tout navigateur d’objets WMI gratuit. Nous aimons celui-ci. Une fois téléchargé, lancez-le et vous aurez une interface graphique pour parcourir les classes WMI.

Si vous souhaitez en savoir plus sur la configuration de disque d’un ordinateur, appuyez sur la combinaison de touches Ctrl + F pour afficher un champ de recherche, puis tapez «disque logique» et appuyez sur Entrée.
Si vous souhaitez en savoir plus sur la configuration de disque d’un ordinateur, appuyez sur la combinaison de touches Ctrl + F pour afficher un champ de recherche, puis tapez «disque logique» et appuyez sur Entrée.
Sur la moitié inférieure de l'application, vous pouvez voir que nous avons deux instances de la classe.
Sur la moitié inférieure de l'application, vous pouvez voir que nous avons deux instances de la classe.
Une fois que nous avons la classe que nous recherchons, l'interroger à partir de PowerShell est simple.
Une fois que nous avons la classe que nous recherchons, l'interroger à partir de PowerShell est simple.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Je n’ai pas vu cette syntaxe depuis un moment, les gens préférant utiliser la nouvelle syntaxe paramétrée.
Je n’ai pas vu cette syntaxe depuis un moment, les gens préférant utiliser la nouvelle syntaxe paramétrée.

Get-WmiObject –Class Win32_LogicalDisk

Si vous souhaitez obtenir les informations d'un autre ordinateur de votre réseau, vous pouvez simplement utiliser le paramètre ComputerName.
Si vous souhaitez obtenir les informations d'un autre ordinateur de votre réseau, vous pouvez simplement utiliser le paramètre ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator

Image
Image

Utiliser CIM

Gardant à l’esprit que CIM n’est disponible que sous Windows 8 et Server 2012, c’est définitivement la voie à suivre.

Get-CimInstance –ClassName Win32_LogicalDisk

Lors de l’utilisation de Get-CimInstance, le paramètre –ClassName est également terminé, ce qui indique qu’à présent, les efforts de Microsoft seront concentrés.
Lors de l’utilisation de Get-CimInstance, le paramètre –ClassName est également terminé, ce qui indique qu’à présent, les efforts de Microsoft seront concentrés.

En fait, WMI a été développé par une équipe complètement distincte au sein de Microsoft, mais a ensuite été repris par les responsables de PowerShell. Ce sont eux qui ont remarqué qu'il sera très difficile de nettoyer les dégâts laissés par WMI. Pour tenter de remédier à la situation, ils tentent de rendre WMI et CIM plus accessibles en écrivant des applets de commande wrapper utilisant WMI et CIM sous le capot. La seule façon de vérifier si une applet de commande est un wrapper consiste à consulter la documentation. Par exemple, la cmdlet Get-Hotfix est un wrapper pour la classe Win32_QuickFixEngineering, comme indiqué dans la documentation.

Cela signifie que vous pouvez obtenir les correctifs sur des ordinateurs distants à l'aide de la cmdlet Get-HotFix au lieu d'une requête WMI.
Cela signifie que vous pouvez obtenir les correctifs sur des ordinateurs distants à l'aide de la cmdlet Get-HotFix au lieu d'une requête WMI.

Get-HotFix –ComputerName localhost

Conseillé: