La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Scripting WMI per la gestione dei sistemi Windows Server 2003

Presentazioni simili


Presentazione sul tema: "Scripting WMI per la gestione dei sistemi Windows Server 2003"— Transcript della presentazione:

1 Scripting WMI per la gestione dei sistemi Windows Server 2003

2 Agenda Revisione di WMI Risorse Cos’è WMI? Modello dati e Schema CIM
Architettura Funzioni WMI Buone Pratiche Accesso agli oggetti di sistema con WMI Demo Risorse

3 Cos’è WMI ? WMI = Windows Management Instrumentation
Implementazione Microsoft di WBEM WMI è un’estensione di CIM per default

4 Obiettivi WMI Gestione dell’Enterprise
Controllo e configurazione di sistemi e applicazioni Implementazione consistente Unico punto di accesso

5 Modello dati e Schema CIM
Configurazione di Boot Memoria File System V2.0 V2.1 V2.2 V2.3 V2.4 WMI System Policy Device Network Support User Apps Physical Core Schema Account Utenti Processi Event Log Impostazioni ý¨¨ Computer Sistema Operativo

6 .NET Client Applications Instrumented Applications
Architettura di WMI .NET Framework System.Management .NET Client Applications .Instrumentation Windows Forms Web Forms Instrumented Applications Database application Web Browser C/C++ ActiveX Controls ODBC WMI COM API Management Applications Scripts 1 CIM Repository CIM Object Manager (CIMOM) Management Instrumentation COM/DCOM 2 SNMP Provider Win32 Registry Objects Providers Managed WDM Driver COM/DCOM 3

7 Il Common Information Model
Il modello ad oggetti Gli schema CIM Gli spazi dei nomi I Provider WMI Provider Standard WMI MOF

8 Modello ad Oggetti Classi Proprietà Qualificatori Istanze Metodi
Tipi di oggetti gestiti Sotto classi Proprietà Chiave Referenze Qualificatori Istanze Metodi

9 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

10 WMI Provider Various Windows components Windows Applications
Windows NT 4.0: ± 15 WMI providers Windows 2000: ±29 WMI providers Windows Server 2003: ± 84 WMI Providers Various Windows components NT Event Logs Disk Quota Windows Clock Registry Power Management DFS AD replication Trust monitoring Server Session Ping IP Routing SNMP Network Load Balancing High Performance Data Access Security Terminal Server Cluster IIS RSOP MSI Event Consumers Operating System VSS Windows Applications Exchange SQL Office MOM SMS Management and monitoring (events)

11 Spazio dei nomi \\Server1\Root\Cimv2:Win32_LogicalDisk.DeviceId='C:'

12 Relazione tra WMI e AD Top ds_Top abstract Person ds_Person
non-abstract/structural organizationalPerson ds_organizationalPerson user ads_user inetOrgPerson ads_inetOrgPerson ds_user ds_inetOrgPerson

13 WMI Buone Pratiche Capire le tecniche di Scripting!!
Capire il modello CIM Quando ci si connette ad un repository CIM remoto: Nessuna credenziale nel codice Usare il contesto di sicurezza corrente o chiedere credenziali Usare WMI CIM Studio per scoprire quali sono i provider e funzionalità utili Evitare le tecniche asincrone: Se si decide di usarle: implementare il meccanismo di lockdown di Windows Server 2003 Appoggiarsi alle capacità di WQL quando possibile Implementare la gestione degli errori

14 Uso delle API SWbem Il modello ad oggetti dello scripting
SWbemObject, SWbemLocator, SWbemService Le Collection Proprietà (objVolume.DefragAnalysis) e Metodi (objVolume.Caption) Array di Proprietà objVolume.DefragAnalysis(blnRecommended, objReport) If blnRecommended = True Then Wscript.Echo "This volume should be defragged." Else Wscript.Echo _ "This volume does not need to be defragged." End IfFor Each objVolume in colVolumes Next If isArray(obj.IPAddress) Then For i = 0 to Ubound(obj.IPAddress,1) strResult = strResult & " IP: " & obj.Ipaddress(i) & vbcrlf Next Else strResult = strResult & obj.IPAddress & vbcrlf End If Wscript.Echo strResult

15 Connettersi a WMI con un Locator
(SWbemLocator) LOCATOR SECURITY CreateObject( ) (SWbemServices) SERVICE SECURITY ConnectServer( ) (SWbemObject) SECURITY Enumerate OBJECT Retrieve Properties_ Qualifiers_ Methods_

16 Connettersi a WMI con un Locator
(SWbemLocator) LOCATOR SECURITY CreateObject( ) Set objLocator = CreateObject("wbemscripting.SwbemLocator") Set objSvc = objLocator.ConnectServer() Set objDisk_C = objSvc.Get("Win32_LogicalDisk.DeviceID=’C:’") freeSpace = objdisk_C.freeSpace Wscript.echo "The Free Space on C: is " & freeSpace (SWbemServices) SERVICE SECURITY ConnectServer( ) (SWbemObject) SECURITY Enumerate OBJECT Retrieve Properties_ Qualifiers_ Methods_

17 Connetersi a WMI con un Moniker
Un Moniker è un concetto COM che nasconde la complessità di connessione agli oggetti COM WMI usa il prefisso WinMgmts: Un moniker WMI deve contenere: WinMgmts: Impostazioni di sicurezza: Opzionali Racchiuse tra parentesi grafe Set objSvc = GetObject("WinMgmts:{impersonationLevel=impersonate}") Impostazioni relative alla lingua: Racchiuse tra parentesi quadre 2 Per definire un server/servizio/oggetto Set objLogicalDisk = GetObject("WinMgmts:Win32_LogicalDisk.DeviceId=’C:’")

18 Connetersi a WMI con un Moniker
Un Moniker è un concetto COM che nasconde la complessità di connessione agli oggetti com WMI usa il prefisso WinMgmts: Un moniker WMI deve contenere: WinMgmts: Impostazioni di sicurezza: Opzionali Racchiuse tra parentesi grafe Set objSvc = GetObject("WinMgmts:{impersonationLevel=impersonate}") Impostazioni relative alla lingua: Racchiuse tra parentesi quadre 2 Per definire un server/servizio/oggetto Set objLogicalDisk = GetObject("WinMgmts:Win32_LogicalDisk.DeviceId=’C:’") GetObject(“WinMgmts:{impersonationLevel=impersonate}[locale=ms_409]! //Instructor/root/cimv2: Win32_LogicalDisk”)

19 Locator vs. Moniker SERVICES SERVICES OBJECT System Locator
ConnectServer Credentials SERVICES WinMgmts: OBJECT System

20 Locator vs. Moniker SERVICES SERVICES OBJECT System Locator
ConnectServer Credentials Set objLocator = CreateObject("wbemscripting.SwbemLocator") Set objSvc = objLocator.ConnectServer() Set objDisk_C = objSvc.Get("Win32_LogicalDisk.DeviceID=’C:’") freeSpace = objdisk_C.freeSpace Wscript.echo "The Free Space on C: is " & freeSpace SERVICES WinMgmts: OBJECT System

21 Locator vs. Moniker SERVICES SERVICES OBJECT System Locator
Set objDisk_C = _ GetObject("WinMgmts:Win32_LogicalDisk.DeviceID=’C:’") freeSpace = objdisk_C.freeSpace Wscript.echo "The Free Space on C: is " & freeSpace SERVICES Locator ConnectServer Credentials SERVICES WinMgmts: OBJECT System

22 Locator vs. Moniker SERVICES SERVICES OBJECT System Locator
ConnectServer Credentials Set objLocator = CreateObject("wbemscripting.SwbemLocator") Set objSvc = _ objLocator.ConnectServer("Server1",,"sysAdmin","password",,,) Set objDisk_C = objSvc.Get("Win32_LogicalDisk.DeviceID=’C:’") freeSpace = objdisk_C.freeSpace Wscript.echo "The Free Space on C: is " & freeSpace SERVICES WinMgmts: OBJECT System

23 Uso dell’oggetto SWbemServices
System Applicazioni di gestione Per esempio, Script Oggetto chiave per acedere alle funzionalità di WMI objSvc = GetObject(“WinMgmts:”) Proprietà Istanze Set obj = objSvc.Get("Win32_process.handle=764") Classi Set obj = objSvc.Get("Win32_process") Result = obj.Create("calc.exe", null, null, processID) Metodi

24 Uso di proprietà e metodi
Scenario installazione di software Verifica della quantità di RAM Win32_computerSystem Installazione di un pacchetto Windows Installer Win32_Product

25 Uso di proprietà e metodi
Scenario Installazione di software Verica della quantità di RAM Win32_computerSystem Installazione di un pacchetto Windows Installer Win32_Product Set objSvc = GetObject("winmgmts:\\Server1") Set obj = objSvc.Get("Win32_computerSystem.name=.Server1.") If obj.TotalPhysicalMemory > Then WScript.Echo “Devono esserci almeno 256 MB di RAM” WSCript.Quit Else Set objProduct = objSvc.Get("Win32_Product") VLocationPath = "C:\source\scriptApp.msi" retVal = objProduct.Install(VLocationPath) End If

26 Uso di proprietà e metodi
Scenario: gestione dei client DHCP Metodo EnableStatic Metodo EnableDHCP Metodi Get e InstancesOf

27 Uso di proprietà e metodi
Scenario: gestione dei client DHCP Metodo EnableStatic Metodo EnableDHCP Metodi Get e InstancesOf Set objSvc = GetObject("WinMgmts:") Set obj = objSvc.Get("Win32_NetworkAdapterConfiguration.index=0") ipaddr = Array(" ") subnet = Array(" ") RetVal = obj.EnableStatic(ipaddr,subnet)

28 Uso di proprietà e metodi
Scenario: gestione dei client DHCP Metodo EnableStatic Metodo EnableDHCP Metodi Get e InstancesOf Set objSvc = GetObject("WinMgmts:") Set obj = objSvc.Get _ ("Win32_NetworkAdapterConfiguration.index=0") RetVal = obj.EnableDHCP()

29 Modifica dei valori delle proprietà
Uso del metodo Put_ Win32_LogicalDisk.DriveID=‘C’ Properties Description FileSystem Size FreeSpace VolumeName Methods Reset SetPowerState In memoria Get Put_

30 Modifica dei valori delle proprietà
Uso del metodo Put_ Win32_LogicalDisk.DriveID=‘C’ Properties Description FileSystem Size FreeSpace VolumeName Methods Reset SetPowerState Set objSvc = GetObject("WinMgmts:") Set obj = objSvc.Get("Win32_LogicalDisk.DeviceId=’C:’") obj.VolumeName="System" obj.Put_ In memoria Get Put_

31 Microsoft TechNet Esempi di WMI :
TechNet Script Center: Servono maggiori informazioni sui tool di Windows Server 2003? hh.exe %SystemRoot%\System32\NTCmds.chm (DS*.*, Event*.* BootCfg.*, Prn*.*, …)

32 Microsoft MSDN Microsoft WMI MSDN Library (SDK)
Management Community Forum

33 Publicazioni 1 WSH / ADSI / CDO / WMI Compaq Active Answers White Papers on Windows 2000 & Exchange 2000 (in basso nella pagina) Secure Script Execution with WSH 5.6 Security Changes in Windows Server 2003 WMI Using WMI to Manage AD Replication in Windows Server 2003 Using WMI to Monitor Trust Status in Windows Server 2003

34 Pubblicazioni 2 Altri articoli: http://www.winnetmag.com

35 Libri su WMI per Windows Server 2003
Understanding WMI Scripting (Volume 1) ISBN – Digital Press (Alain Lissoir – Hewlett Packard) Maggiori info su Leveraging WMI Scripting (Volume 2) ISBN – Digital Press

36 Community Microsoft Community Resources Non-Microsoft Community Resources Newsgroups User Groups Chat libera Webcast Most Valuable Professional (MVP)

37 © 2003-2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Scaricare ppt "Scripting WMI per la gestione dei sistemi Windows Server 2003"

Presentazioni simili


Annunci Google