Sito web di notizie tecnologiche e videogames.

WMI & CIM per gestire al meglio le proprietà del computer

27

Come si recuperano le informazioni, caratteristiche e proprietà di un computer da linea di comando?

Nessun problema, sarà facile, tramite CIM e WMI!

Cos’è il CIM?

Il CIM (Common Information Model) è uno standard orientato agli oggetti per la rappresentazione e la classificazione delle proprietà di un computer.

Il CIM registra ogni elemento hardware e software del pc come un oggetto e ne riconosce gli attributi.

Cos’è il WMI?

Il WMI (Windows Management Instrumentation) non è altro che l’implementazione di Microsoft del CIM.

In ambiente Windows è quindi possibile recuperare e gestire le informazioni del sistema sia tramite CIM, sia tramite WMI.

In questo articolo useremo il linguaggio di scripting  Powershell (v.5.1) per accedere alle classi del CIM e di WMI.

WMI & CIM per gestire al meglio le proprietà del computer
Alcune classi offerte dal CIM

Qualche esempio pratico:

Get-CimInstance -ClassName CIM_OperatingSystem | Format-List version

  • Con l’istruzione ‘Get-CimInstance’ viene presa un’istanza(uno screenshoot) della configurazione corrente del CIM;
  • ‘-ClassName CIM_OperatingSystem’ segnala di prendere le informazioni dalla classe predisposta dal CIM per il sistema operativo;
  • ‘| Format-List version’ filtra le caratteristiche del sistema operativo prendendone solamente la versione;

L’equivalente istruzione usando le classi offerte dal WMI è la seguente:

Get-WmiObject win32_operatingsystem | Format-List version

  • Dove ‘Get-WmiObject’ esegue la stessa funzione di ‘Get-CimInstance’ usato precedentemente.

Entrambe le istruzioni daranno lo stesso risultato: ‘version : 10.0.15063’, per esempio, che indica l’ultima versione di Windows 10 rilasciata nell’Aprile del 2017.

Per ‘killare’ un processo (in questo esempio ‘notepad.exe’) tramite l’uso del CIM è sufficiente eseguire le istruzioni che seguono:

$np = Get-WmiObject -query “SELECT * FROM win32_process WHERE name=’notepad.exe'”

  • In questa riga di codice da un’istanza della corrente configurazione del WMI viene selezionato il processo corrispondente al nome di ‘notepad.exe’ contenuto nella classe ‘win32_process’ e viene associato alla variabile ‘np’.

$np | Remove-WmiObject

  • Tramite questa istruzione viene rimossa l’istanza del processo ‘notepad.exe’ a cui fa riferimento la variabile ‘np’ e viene quindi chiuso notepad.

Ciò che abbiamo appena visto non è che una parte dell’enorme potenziale che questi struementi possono offrire, infatti le classi messe a disposizione dal CIM consentono l’accesso, la gestione e quindi anche l’interazione con ogni proprietà e caratteristica del computer (anche in remoto).

Se ne vuoi sapere di più … introduzione al CIM

Commenti