Geek School: utilizzo di PowerShell per ottenere informazioni sul computer

Sommario:

Geek School: utilizzo di PowerShell per ottenere informazioni sul computer
Geek School: utilizzo di PowerShell per ottenere informazioni sul computer

Video: Geek School: utilizzo di PowerShell per ottenere informazioni sul computer

Video: Geek School: utilizzo di PowerShell per ottenere informazioni sul computer
Video: TRUCCO INCREDIBILE CHE DEVI SAPERE! - YouTube 2024, Aprile
Anonim
WMI e il suo fratello più recente CIM possono entrambi essere utilizzati per gestire le macchine Windows nel proprio ambiente. Ma conosci la differenza tra loro? Unisciti a noi mentre diamo un'occhiata.
WMI e il suo fratello più recente CIM possono entrambi essere utilizzati per gestire le macchine Windows nel proprio ambiente. Ma conosci la differenza tra loro? Unisciti a noi mentre diamo un'occhiata.

Assicurati di leggere gli articoli precedenti della serie:

  • Scopri come automatizzare Windows con PowerShell
  • Imparare a utilizzare i cmdlet in PowerShell
  • Apprendimento Come utilizzare gli oggetti in PowerShell
  • Apprendimento della formattazione, del filtro e del confronto in PowerShell
  • Impara a utilizzare i servizi remoti in PowerShell

E rimanete sintonizzati per il resto della serie per tutta la settimana.

introduzione

WMI è l'acronimo di Strumentazione gestione Windows. La parola "Strumentazione" si riferisce al fatto che WMI ti consente di ottenere informazioni sullo stato interno del tuo computer, proprio come gli strumenti del cruscotto nella tua auto possono recuperare e visualizzare informazioni sullo stato dei componenti interni della tua auto.

WMI è costituito da un repository che contiene classi che rappresentano componenti che possono essere gestiti all'interno della macchina. Con ciò intendiamo solo perché WMI ha una classe Win32_Battery non significa che la tua macchina contenga una batteria. Queste classi possono quindi essere interrogate per informazioni localmente o anche attraverso una rete utilizzando un linguaggio di query molto simile a SQL chiamato WQL. Tuttavia, WMI è stato conosciuto per essere molto inaffidabile, principalmente per il fatto che è basato su RPC (Remote Procedure Calls), che fanno cose pazze con le porte su cui scelgono di comunicare.

A partire da Windows 8 e Server 2012, WMI viene gradualmente eliminato a favore del Common Information Model o CIM in breve. L'unica differenza tra WMI e CIM sono i protocolli di trasporto che utilizzano. Mentre WMI esegue query utilizzando Remote Procedure Calls, CIM utilizza HTTP, che sembra fare una grande differenza. Sul backend stanno ancora parlando allo stesso repository di informazioni.

Utilizzando WMI

Il modo più rapido e semplice di esplorare le informazioni disponibili tramite WMI è di prendere una copia di qualsiasi WMI Object Browser gratuito. Ci piace questo. Una volta scaricato, attivalo e avrai un'interfaccia grafica per sfogliare le classi WMI.

Se vuoi scoprire qualcosa sulla configurazione del disco di un computer, premi la combinazione di tasti Ctrl + F per visualizzare una casella di ricerca, quindi digita "logicaldisk" e premi invio.
Se vuoi scoprire qualcosa sulla configurazione del disco di un computer, premi la combinazione di tasti Ctrl + F per visualizzare una casella di ricerca, quindi digita "logicaldisk" e premi invio.

Immediatamente questo ti porterà alla classe Win32_LogicalDisk.

Nella metà inferiore dell'applicazione, puoi vedere che abbiamo due istanze della classe.
Nella metà inferiore dell'applicazione, puoi vedere che abbiamo due istanze della classe.
Una volta che abbiamo la classe che stiamo cercando, interrogarla da PowerShell è semplice.
Una volta che abbiamo la classe che stiamo cercando, interrogarla da PowerShell è semplice.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Non ho visto questa sintassi per un po 'con le persone in questi giorni preferendo usare la nuova sintassi parametrizzata.
Non ho visto questa sintassi per un po 'con le persone in questi giorni preferendo usare la nuova sintassi parametrizzata.

Get-WmiObject –Class Win32_LogicalDisk

Se si desidera ottenere le informazioni da un altro computer sulla rete, è sufficiente utilizzare il parametro ComputerName.
Se si desidera ottenere le informazioni da un altro computer sulla rete, è sufficiente utilizzare il parametro ComputerName.

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

Image
Image

Utilizzando CIM

Tenendo presente che CIM è disponibile solo su Windows 8 e Server 2012, andare avanti è sicuramente la strada da percorrere.

Get-CimInstance –ClassName Win32_LogicalDisk

C'è anche il completamento delle schede per il parametro -ClassName quando si utilizza Get-CimInstance, che mostra che in futuro è qui che gli sforzi di Microsoft saranno concentrati.
C'è anche il completamento delle schede per il parametro -ClassName quando si utilizza Get-CimInstance, che mostra che in futuro è qui che gli sforzi di Microsoft saranno concentrati.

In effetti, WMI è stato sviluppato da un team completamente separato all'interno di Microsoft, ma successivamente è stato rilevato dai responsabili di PowerShell. Erano quelli che hanno notato che sarebbe stato molto difficile ripulire il disordine che WMI aveva lasciato dietro di sé. Nel tentativo di rimediare alla situazione, stanno cercando di rendere WMI e CIM più disponibili scrivendo cmdlet wrapper che usano WMI e CIM sotto il cofano. L'unico modo per verificare se un cmdlet è un wrapper è osservare la documentazione. Ad esempio, il cmdlet Get-Hotfix è un wrapper per la classe Win32_QuickFixEngineering, come mostrato nella documentazione.

Ciò significa che è possibile ottenere gli hotfix sulle macchine remote utilizzando il cmdlet Get-HotFix anziché una query WMI.
Ciò significa che è possibile ottenere gli hotfix sulle macchine remote utilizzando il cmdlet Get-HotFix anziché una query WMI.

Get-HotFix –ComputerName localhost

Consigliato: