23
Introduzione a Introduzione a WMI e WMIC WMI e WMIC per la gestione di per la gestione di sistemi sistemi PierGiorgio Malusardi PierGiorgio Malusardi Evengelist – IT Evengelist – IT Professional Professional Microsoft Microsoft

Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Embed Size (px)

Citation preview

Page 1: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Introduzione a Introduzione a WMI e WMICWMI e WMIC

per la gestione di sistemiper la gestione di sistemi

PierGiorgio MalusardiPierGiorgio MalusardiEvengelist – IT ProfessionalEvengelist – IT ProfessionalMicrosoftMicrosoft

Page 2: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMI OverviewWMI Overview

Obbiettivi di WMIObbiettivi di WMI Cos’è Windows Management Cos’è Windows Management

Instrumentation?Instrumentation? Operazioni di gestioni tipicheOperazioni di gestioni tipiche Architettura di WMIArchitettura di WMI

Page 3: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Obiettivi WMIObiettivi WMI

Gestione dell’EnterpriseGestione dell’Enterprise Controllo e configurazione di sistemi e Controllo e configurazione di sistemi e

applicazioniapplicazioni Implementazione consistenteImplementazione consistente Unico punto di accessoUnico punto di accesso

Page 4: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Cos’è WMI?Cos’è WMI?

Strumento per facilitare la gestione Strumento per facilitare la gestione attraverso l’uso di uno schema attraverso l’uso di uno schema estensibileestensibile

Ricco insieme di eventi di gestione e Ricco insieme di eventi di gestione e di interrogazionedi interrogazione

Gestione da remotoGestione da remoto Gestibile via scriptGestibile via script

Page 5: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Architettura WMIArchitettura WMI

Ogni applicazione che comprende automationEs. C/C++, VB, VBScript, Jscript, VBA, Perl

CIM.REP Windows Management Service%SystemRoot%\System32\WBEM\WinMgmt.exe

COM

Win32 API

RegistryNT event PerfMonActive

Directory

MSIWDM SNMPProviders

CIM

Consumers Applicazioni Applicazioni

MOF

SQL Server

.NET

Exchange

Page 6: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Gestione di Windows con WMIGestione di Windows con WMI

Providers

Oggettogestito

Oggettogestito

Oggettogestito

CIM

SystemSystemSystemSystemSystemSystemSystem

Applicazione di GestioneEs. script

Page 7: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Il Common Information ModelIl Common Information Model

Il modello ad oggettiIl modello ad oggetti Gli schema CIMGli schema CIM Gli spazi dei nomiGli spazi dei nomi I Provider WMII Provider WMI Provider Standard WMIProvider Standard WMI MOFMOF

Page 8: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Modello ad OggettiModello ad Oggetti

ClassiClassi Tipi di oggetti gestitiTipi di oggetti gestiti Sotto classiSotto classi

PropietàPropietà ChiaveChiave ReferenzeReferenze

QualificatoriQualificatori InstanzeInstanze MetodiMetodi

Page 9: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Schema CIMSchema CIM

CIM_ManagedSystemElement

CIM_LogicalElement

CIM_LogicalDevice

CIM_MediaAccessDevice

CIM_CDRomDriveCIM_DiskDrive

WIN32_DiskDrive WIN32_CDRomDrive

Coreschema

Commonschema

Extensibleschema

Page 10: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Spazio dei nomiSpazio dei nomi

\\Server1\Root\Cimv2:Win32_LogicalDisk.DeviceId='C:'

Page 11: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Provider WMIProvider WMI

Ruoli dei ProviderRuoli dei Provider Tipi di ProviderTipi di Provider

Provider specifici per applicazioniProvider specifici per applicazioni Provider BuiltProvider Built--inin

Quali provider sono installati?Quali provider sono installati?

Page 12: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Provider Standard WMIProvider Standard WMIProviderProvider MOFMOF DLLDLL NamespaceNamespace

Win32Win32 cimwin32.mofcimwin32.mof cimwin32.dllcimwin32.dll root\cimv2root\cimv2

SNMPSNMP snmpreg.mofsnmpreg.mof snmpincl.dllsnmpincl.dll root\snmproot\snmp

Performance Performance countercounter

perf*.mofperf*.mof wbemperf.dllwbemperf.dll root\cimv2root\cimv2

RegistryRegistry *.mof*.mof

regevent.mofregevent.mof

stdprov.dllstdprov.dll root\defaultroot\default

WDMWDM wmi.mofwmi.mof wmiprov.dllwmiprov.dll root\wmiroot\wmi

Page 13: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Provider Standard WMIProvider Standard WMI

ProviderProvider MOFMOF DLLDLL NamespaceNamespace

Directory Directory ServicesServices

dsprov.mofdsprov.mof dsprov.dlldsprov.dll root\directory\ldaproot\directory\ldap

Event LogEvent Log ntevt.mofntevt.mof ntevt.dllntevt.dll root\cimv2root\cimv2

ViewView *.mof*.mof viewprov.dllviewprov.dll root\*root\*

Windows Windows InstallerInstaller

msi.mofmsi.mof msiprov.dllmsiprov.dll root\cimv2root\cimv2

SicurezzaSicurezza secrcw32.mof secrcw32.mof secrcw32.dllsecrcw32.dll root\cimv2root\cimv2

Page 14: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

MOFMOF

Management Object Format LanguageManagement Object Format Language Dichiara i namespaceDichiara i namespace Dichiara le classesDichiara le classes Dichiara le istanzeDichiara le istanze

Mofcomp.exeMofcomp.exe Auto RecoveryAuto Recovery

Page 15: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMI e i Prodotti MicrosoftWMI e i Prodotti Microsoft Microsoft SQL Server 2000/2005Microsoft SQL Server 2000/2005

Qualsiasi cosa si può fare con Enterprise Qualsiasi cosa si può fare con Enterprise ManagerManager

Microsoft Exchange Server 2000/2003Microsoft Exchange Server 2000/2003 2000: monitoring dei server2000: monitoring dei server 2003: gestione del sistema2003: gestione del sistema

Microsoft System Management Server Microsoft System Management Server 20032003 Operations Manager toolOperations Manager tool

Page 16: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMI in Windows XP/2003WMI in Windows XP/2003 Group Policy FilteringGroup Policy Filtering

Applicazione di filtri WMIApplicazione di filtri WMI Nuovi Event CNuovi Event Consumeronsumer WMI WMI

Text log, NT Event log, command-lineText log, NT Event log, command-line Nuovi PNuovi Providerrovider WMI WMI

Disk Quota, DFS, Stampanti, Chkdsk, Disk Quota, DFS, Stampanti, Chkdsk, DNS, Repliche ADDNS, Repliche AD

Funzioni AddizionaliFunzioni Addizionali DateTime, SWbemServices.Put, DateTime, SWbemServices.Put,

Refresher object Refresher object

Page 17: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

L’importanza di .NETL’importanza di .NET

Il Framework .NET fornisce tecniche di Il Framework .NET fornisce tecniche di scripting semplificatescripting semplificate Nuove interfaccie .NETNuove interfaccie .NET

ssystem.ystem.mmanagementanagement

Ancora compatibile con le esistenti Ancora compatibile con le esistenti interfaccie di scriptinterfaccie di script

Tool IDE integratiTool IDE integrati

disk = New ManagementObject("Win32_LogicalDisk.DeviceId='C:'")disk.Get()

Page 18: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Come accedere a WMICome accedere a WMI

Sistemi di ManagementSistemi di Management Scripting (oggetto di un prossimo Live Scripting (oggetto di un prossimo Live

Meeting)Meeting) WMIC (oggetto di questo evento)WMIC (oggetto di questo evento)

Page 19: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMICWMICWindows Management Instrumentation ConsoleWindows Management Instrumentation Console

WMIC fornisce un’interfaccia command-line a WMIWMIC fornisce un’interfaccia command-line a WMI WMIC consente: WMIC consente:

Navigare lo schema WMI e interrogare lo schema e le Navigare lo schema WMI e interrogare lo schema e le istanze, normalmente usando degli alias. istanze, normalmente usando degli alias.

Lavorare con il computer locale, con computer remoti Lavorare con il computer locale, con computer remoti singoli o multipli con un singolo comando. singoli o multipli con un singolo comando.

Personalizzazione degli alias e dell’aoutput dei comandi. Personalizzazione degli alias e dell’aoutput dei comandi. Creare ed eseguire script basati su WMIC. Creare ed eseguire script basati su WMIC.

WMI Providers sono disponibili per gestire una WMI Providers sono disponibili per gestire una grande varietà di componenti HW, sistemi operativi grande varietà di componenti HW, sistemi operativi e applicazioni.e applicazioni.

WMIC può essere usato con tutti gli schema WMIC può essere usato con tutti gli schema implementati da questi Provider WMI. implementati da questi Provider WMI.

WMIC può essere usato da ogni computer su cui è WMIC può essere usato da ogni computer su cui è abilitato per gestire remotamente computer con abilitato per gestire remotamente computer con WMI. WMI.

WMIC non deve essere presente sui computer WMIC non deve essere presente sui computer remoti. remoti.

Page 20: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Usare WMICUsare WMIC

Due modi d’uso:Due modi d’uso: C:\> C:\> wmic process wmic process (scripting/batch)(scripting/batch) wmic:root\cli> wmic:root\cli> process process (interattivo)(interattivo)

Esempi del modo interattivo:Esempi del modo interattivo: OS get name, locale, bootdeviceOS get name, locale, bootdevice OS where name=‘sun’ call shutdownOS where name=‘sun’ call shutdown /node:@MyOrg os get /all /format:htable/node:@MyOrg os get /all /format:htable

Page 21: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMIC EsempiWMIC Esempi

PRODUCTS PRODUCTS path win32_<path win32_<namespacenamespace>> path win32_processor get MaxClockSpeed path win32_processor get MaxClockSpeed process where (processID>300) list brief process where (processID>300) list brief /node:"computer1","computer2“ Process /node:"computer1","computer2“ Process

Where Description="WinLogon.exe" Get Where Description="WinLogon.exe" Get VirtualSize /EVERY:5 VirtualSize /EVERY:5

SERVICE WHERE CAPTION='TELNET' CALL SERVICE WHERE CAPTION='TELNET' CALL STARTSERVICE STARTSERVICE

NICCONFIG WHERE index=1 CALL NICCONFIG WHERE index=1 CALL EnableStatic ("10.0.0.2"),("255.0.0.0")EnableStatic ("10.0.0.2"),("255.0.0.0")

NICCONFIG WHERE index=1 CALL NICCONFIG WHERE index=1 CALL SetGateways ("10.0.0.8","10.0.0.9"),(1,2)SetGateways ("10.0.0.8","10.0.0.9"),(1,2)

Page 22: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

WMIC: un esempio complessoWMIC: un esempio complesso

NTEVENT WHERE NTEVENT WHERE "eventtype<3 AND "eventtype<3 AND logfile='Application'"logfile='Application'" GET Logfile, GET Logfile, SourceName, Eventtype, Message, SourceName, Eventtype, Message, TimeGeneratedTimeGenerated /FORMAT:"htable-/FORMAT:"htable-sortby.xsl":"datatype=number":"sortby=Esortby.xsl":"datatype=number":"sortby=EventType"ventType" > c:\applicationlogs.htm> c:\applicationlogs.htm

Page 23: Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft

Automatizzazione di WMIC Automatizzazione di WMIC

WMIC /NODE:@"c:\MyServerList.txt" SERVICE WHERE caption= “telnet" CALL ChangeStartMode "Disabled"

Server1 Server6 Server2 Server7Server3 Server8Server4 Server9Server5 ……….

Server1 Server6 Server2 Server7Server3 Server8Server4 Server9Server5 ……….

MyServerList.txtMyServerList.txt