Introduzione a WMI e WMIC per la gestione di sistemi PierGiorgio Malusardi Evengelist – IT Professional Microsoft
WMI Overview Obbiettivi di WMI Cos’è Windows Management Instrumentation? Operazioni di gestioni tipiche Architettura di WMI
Obiettivi WMI Gestione dell’Enterprise Controllo e configurazione di sistemi e applicazioni Implementazione consistente Unico punto di accesso
Cos’è WMI? Strumento per facilitare la gestione attraverso l’uso di uno schema estensibile Ricco insieme di eventi di gestione e di interrogazione Gestione da remoto Gestibile via script
Architettura WMI Ogni applicazione che comprende automation Es. C/C++, VB, VBScript, Jscript, VBA, Perl Consumers Applicazioni Applicazioni CIM COM CIM.REP Windows Management Service %SystemRoot%\System32\WBEM\WinMgmt.exe MOF Providers .NET MSI SNMP Win32 API WDM Active Directory PerfMon NT event Exchange SQL Server Registry
Gestione di Windows con WMI Applicazione di Gestione Es. script System Providers Oggetto gestito CIM
Il Common Information Model Il modello ad oggetti Gli schema CIM Gli spazi dei nomi I Provider WMI Provider Standard WMI MOF
Modello ad Oggetti Classi Propietà Qualificatori Instanze Metodi Tipi di oggetti gestiti Sotto classi Propietà Chiave Referenze Qualificatori Instanze Metodi
Schema CIM Core schema Common schema Extensible schema CIM_ManagedSystemElement CIM_LogicalElement Common schema CIM_LogicalDevice CIM_MediaAccessDevice Extensible schema CIM_DiskDrive CIM_CDRomDrive WIN32_DiskDrive WIN32_CDRomDrive
Spazio dei nomi \\Server1\Root\Cimv2:Win32_LogicalDisk.DeviceId='C:'
Provider WMI Ruoli dei Provider Tipi di Provider Provider specifici per applicazioni Provider Built-in Quali provider sono installati?
Provider Standard WMI Provider MOF DLL Namespace Win32 SNMP cimwin32.mof cimwin32.dll root\cimv2 SNMP snmpreg.mof snmpincl.dll root\snmp Performance counter perf*.mof wbemperf.dll Registry *.mof regevent.mof stdprov.dll root\default WDM wmi.mof wmiprov.dll root\wmi
Provider Standard WMI Provider MOF DLL Namespace Directory Services dsprov.mof dsprov.dll root\directory\ldap Event Log ntevt.mof ntevt.dll root\cimv2 View *.mof viewprov.dll root\* Windows Installer msi.mof msiprov.dll Sicurezza secrcw32.mof secrcw32.dll
MOF Management Object Format Language Mofcomp.exe Auto Recovery Dichiara i namespace Dichiara le classes Dichiara le istanze Mofcomp.exe Auto Recovery
WMI e i Prodotti Microsoft Microsoft SQL Server 2000/2005 Qualsiasi cosa si può fare con Enterprise Manager Microsoft Exchange Server 2000/2003 2000: monitoring dei server 2003: gestione del sistema Microsoft System Management Server 2003 Operations Manager tool
WMI in Windows XP/2003 Group Policy Filtering Nuovi Event Consumer WMI Applicazione di filtri WMI Nuovi Event Consumer WMI Text log, NT Event log, command-line Nuovi Provider WMI Disk Quota, DFS, Stampanti, Chkdsk, DNS, Repliche AD Funzioni Addizionali DateTime, SWbemServices.Put, Refresher object
L’importanza di .NET Il Framework .NET fornisce tecniche di scripting semplificate Nuove interfaccie .NET system.management Ancora compatibile con le esistenti interfaccie di script Tool IDE integrati disk = New ManagementObject("Win32_LogicalDisk.DeviceId='C:'") disk.Get()
Come accedere a WMI Sistemi di Management Scripting (oggetto di un prossimo Live Meeting) WMIC (oggetto di questo evento)
WMIC Windows Management Instrumentation Console WMIC fornisce un’interfaccia command-line a WMI WMIC consente: Navigare lo schema WMI e interrogare lo schema e le istanze, normalmente usando degli alias. Lavorare con il computer locale, con computer remoti singoli o multipli con un singolo comando. Personalizzazione degli alias e dell’aoutput dei comandi. Creare ed eseguire script basati su WMIC. WMI Providers sono disponibili per gestire una grande varietà di componenti HW, sistemi operativi e applicazioni. WMIC può essere usato con tutti gli schema implementati da questi Provider WMI. WMIC può essere usato da ogni computer su cui è abilitato per gestire remotamente computer con WMI. WMIC non deve essere presente sui computer remoti.
Usare WMIC Due modi d’uso: Esempi del modo interattivo: C:\> wmic process (scripting/batch) wmic:root\cli> process (interattivo) Esempi del modo interattivo: OS get name, locale, bootdevice OS where name=‘sun’ call shutdown /node:@MyOrg os get /all /format:htable
WMIC Esempi PRODUCTS path win32_<namespace> path win32_processor get MaxClockSpeed process where (processID>300) list brief /node:"computer1","computer2“ Process Where Description="WinLogon.exe" Get VirtualSize /EVERY:5 SERVICE WHERE CAPTION='TELNET' CALL STARTSERVICE NICCONFIG WHERE index=1 CALL EnableStatic ("10.0.0.2"),("255.0.0.0") NICCONFIG WHERE index=1 CALL SetGateways ("10.0.0.8","10.0.0.9"),(1,2)
WMIC: un esempio complesso NTEVENT WHERE "eventtype<3 AND logfile='Application'" GET Logfile, SourceName, Eventtype, Message, TimeGenerated /FORMAT:"htable-sortby.xsl":"datatype=number":"sortby=EventType" > c:\applicationlogs.htm
Automatizzazione di WMIC WMIC /NODE:@"c:\MyServerList.txt" SERVICE WHERE caption= “telnet" CALL ChangeStartMode "Disabled" Server1 Server6 Server2 Server7 Server3 Server8 Server4 Server9 Server5 ………. MyServerList.txt