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  Cos’è WMI?  Modello dati e Schema CIM  Architettura  Funzioni WMI  Buone Pratiche  Accesso agli oggetti di sistema con WMI  Demo  Risorse

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

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 Sistema Operativo WMI System Policy Device Network Support User Apps Physical Core Schema V2.0 V2.1 V2.2 V2.3 V2.4 Account Utenti Processi Event Log Impostazioni  Computer Configurazione di Boot Memoria File System

6 Architettura di WMI Database application Database application Web Browser Web Browser C/C++ application C/C++ application ActiveX Controls ActiveX Controls ODBC WMI COM API Management Applications Scripts 1.NET Framework System.Management.NET Client Applications System.Management.Instrumentation System.Management.Instrumentation Windows FormsWeb Forms Instrumented Applications Windows FormsWeb Forms CIM Repository CIM Repository CIM Object Manager (CIMOM) CIM Object Manager (CIMOM) Management Instrumentation COM/DCOM 2 SNMP Provider SNMP Provider Win32 Provider Win32 Provider Registry Provider Registry Provider Win32 Objects Win32 Objects SNMP Objects SNMP Objects Registry Objects Registry Objects Providers Managed Objects WDM Provider WDM Provider WDM Driver 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  Tipi di oggetti gestiti  Sotto classi  Proprietà  Chiave  Referenze  Qualificatori  Istanze  Metodi

9 Schema CIM CIM_ManagedSystemElement CIM_LogicalElement CIM_LogicalDevice CIM_MediaAccessDevice CIM_CDRomDriveCIM_DiskDrive WIN32_DiskDriveWIN32_CDRomDrive Core schema Common schema Extensible schema

10 Various Windows components Management and monitoring (events) Windows Applications ExchangeSQLOfficeMOMSMS Windows NT 4.0: ± 15 WMI providers Windows 2000: ±29 WMI providers Windows Server 2003: ± 84 WMI Providers 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 AccessSecurity Terminal Server Cluster IIS RSOP MSI Event Consumers Operating System VSS WMI Provider

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

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

13 WMI Buone Pratiche 1.Capire le tecniche di Scripting!! 2.Capire il modello CIM 3.Quando ci si connette ad un repository CIM remoto: 1.Nessuna credenziale nel codice 2.Usare il contesto di sicurezza corrente o chiedere credenziali 4.Usare WMI CIM Studio per scoprire quali sono i provider e funzionalità utili 5.Evitare le tecniche asincrone: 1.Se si decide di usarle: implementare il meccanismo di lockdown di Windows Server Appoggiarsi alle capacità di WQL quando possibile 7.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 Properties_Methods_Qualifiers_ Connettersi a WMI con un Locator SERVICE OBJECT (SWbemLocator) (SWbemServices) LOCATOR CreateObject( ) ConnectServer( ) Enumerate Retrieve SECURITY (SWbemObject)

16 Properties_Methods_Qualifiers_ Connettersi a WMI con un Locator SERVICE OBJECT (SWbemLocator) (SWbemServices) LOCATOR CreateObject( ) ConnectServer( ) Enumerate Retrieve SECURITY (SWbemObject) 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

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:  Opzionali  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:  Opzionali  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 System Locator vs. Moniker OBJECT SERVICES WinMgmts: Locator ConnectServer Credentials

20 System Locator vs. Moniker OBJECT SERVICES WinMgmts: 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

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

22 System Locator vs. Moniker OBJECT SERVICES WinMgmts: 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

23 Uso dell’oggetto SWbemServices  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 System Applicazioni di gestione Per esempio, Script

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

25 Uso di proprietà e metodi  Scenario Installazione di software 1.Verica della quantità di RAM  Win32_computerSystem 2.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 Get Put_ In memoria

30 Modifica dei valori delle proprietà  Uso del metodo Put_ Win32_LogicalDisk.DriveID=‘C’ Properties Description FileSystem Size FreeSpace VolumeName Methods Reset SetPowerState Get Put_ In memoria Set objSvc = GetObject("WinMgmts:") Set obj = objSvc.Get("Win32_LogicalDisk.DeviceId=’C:’") obj.VolumeName="System" obj.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) us/wmisdk/wmi/wmi_start_page.asp  Management Community Forum ers/management/default.asp 

33 Publicazioni 1  WSH / ADSI / CDO / WMI Compaq Active Answers White Papers on Windows 2000 & Exchange (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  Using WMI to Monitor Trust Status in Windows Server 2003

34 Pubblicazioni 2  Altri articoli:

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

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

37 © 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