Upload
caprice-baldini
View
217
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
Gestione di Windows con WMIGestione di Windows con WMI
Providers
Oggettogestito
Oggettogestito
Oggettogestito
CIM
SystemSystemSystemSystemSystemSystemSystem
Applicazione di GestioneEs. script
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
Modello ad OggettiModello ad Oggetti
ClassiClassi Tipi di oggetti gestitiTipi di oggetti gestiti Sotto classiSotto classi
PropietàPropietà ChiaveChiave ReferenzeReferenze
QualificatoriQualificatori InstanzeInstanze MetodiMetodi
Schema CIMSchema CIM
CIM_ManagedSystemElement
CIM_LogicalElement
CIM_LogicalDevice
CIM_MediaAccessDevice
CIM_CDRomDriveCIM_DiskDrive
WIN32_DiskDrive WIN32_CDRomDrive
Coreschema
Commonschema
Extensibleschema
Spazio dei nomiSpazio dei nomi
\\Server1\Root\Cimv2:Win32_LogicalDisk.DeviceId='C:'
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?
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
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
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
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
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
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()
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)
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.
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
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)
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
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