Примеры кода в статье приводятся на языке VBScript для административных сценариев Windows. Приведённые ниже примеры не исчерпывают всех возможностей классов, которые в них упоминаются (используются). Для получения полной информации обращайтесь к MSDN. Как правило, поиск в MSDN названия того или иного класса позволяет быстро получить перечень (описание) всех его свойств и методов.
Класс Win32_OperatingSystem
Класс Win32_OperatingSystem представляет операционную систему семейства Windows, установленную на компьютере. Если на компьютере установлено несколько операционных систем, класс возвращают экземпляр только активной в настоящее время операционной системы. Класс позволяет прочитать информацию о версии операционной системы, некоторых настройках и текущем состоянии операционной системы. Приведённый ниже скрипт демострирует получение такой информации:
Класс Win32_ComputerSystem
Класс Win32_ComputerSystem предоставляет некоторые сведения о программно-аппаратной конфигурации компьютера в среде Windows. Пример получения информации:
Класс Win32_BIOS
Класс Win32_BIOS предоставляет информацию об установленной на компьютере BIOS. Пример получения информации:
Класс Win32_StartupCommand
Класс Win32_StartupCommand предоставляет информацию о командах автозагрузки, выполняемых при регистрации пользователей (в частности, из HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run). Пример получения информации:
Класс Win32_Product
Класс Win32_Product предоставляет информацию об установленных с помощью Windows Installer программных продуктах. Пример получения информации:
Класс Win32_SoftwareFeature
Класс Win32_SoftwareFeature предоставляет информацию об установленных с помощью Windows Installer компонентах программ. Пример получения информации:
Класс Win32_ClassicCOMClassSetting
Класс Win32_ClassicCOMClassSetting предоставляет информацию об установленных в системе COM-серверах. Пример получения информации:
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objCOM In objService.ExecQuery("SELECT * FROM Win32_ClassicCOMClassSetting") WScript.Echo objCOM.ComponentId 'GUID WScript.Echo objCOM.Caption 'краткое описание WScript.Echo objCOM.ProgID 'программный идентификатор WScript.Echo objCOM.InprocServer32 'полный путь к библиотеке DLL WScript.Echo Next
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objProduct In objService.ExecQuery("SELECT * FROM Win32_SoftwareFeature") 'наименование (описание) WScript.Echo objProduct.Name WScript.Echo objProduct.Caption WScript.Echo objProduct.Description WScript.Echo objProduct.ProductName 'версия WScript.Echo objProduct.Version 'производитель WScript.Echo objProduct.Vendor 'серийный номер WScript.Echo objProduct.IdentifyingNumber 'состояние установки '-6 Bad Configuration '-2 Invalid Argument '-1 Unknown Package '1 Advertised '2 Absent '3 Local '4 Source WScript.Echo objProduct.InstallState 'количество запусков WScript.Echo objProduct.Accesses 'дата-время последнего использования WScript.Echo objProduct.LastUse WScript.Echo "****************************************" Next
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objProduct In objService.ExecQuery("SELECT * FROM Win32_Product") 'наименование (описание) WScript.Echo objProduct.Name WScript.Echo objProduct.Caption WScript.Echo objProduct.Description 'версия WScript.Echo objProduct.Version 'производитель WScript.Echo objProduct.Vendor 'серийный номер WScript.Echo objProduct.IdentifyingNumber 'дата установки WScript.Echo objProduct.InstallDate WScript.Echo objProduct.InstallDate2 'каталог установки WScript.Echo objProduct.InstallLocation 'состояние установки '-6 Bad Configuration '-2 Invalid Argument '-1 Unknown Package '1 Advertised '2 Absent '5 Installed WScript.Echo objProduct.InstallState 'путь к файлу установки MSI WScript.Echo objProduct.PackageCache WScript.Echo "****************************************" Next
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objSC In objService.ExecQuery("SELECT * FROM Win32_StartupCommand") WScript.Echo objSC.Command 'команда WScript.Echo objSC.Location 'источник (где определена команда) WScript.Echo objSC.User 'пользователь (для которого происходит запуск) WScript.Echo "****************************************" Next
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objBIOS In objService.ExecQuery("SELECT * FROM Win32_BIOS") Exit For Next 'наименование (описание) WScript.Echo objBIOS.Name WScript.Echo objBIOS.Caption WScript.Echo objBIOS.Description 'версия WScript.Echo objBIOS.SMBIOSBIOSVersion WScript.Echo objBIOS.SMBIOSMajorVersion WScript.Echo objBIOS.SMBIOSMinorVersion WScript.Echo objBIOS.Version 'производитель WScript.Echo objBIOS.Manufacturer 'язык WScript.Echo objBIOS.CurrentLanguage 'дата выпуска WScript.Echo objBIOS.ReleaseDate 'серийный номер WScript.Echo objBIOS.SerialNumber
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objOS In objService.ExecQuery("SELECT * FROM Win32_ComputerSystem") Exit For Next 'имя компьютера WScript.Echo objOS.Caption 'домен WScript.Echo objOS.Domain 'роль компьютера в домене '0 Standalone Workstation '1 Member Workstation '2 Standalone Server '3 Member Server '4 Backup Domain Controller '5 Primary Domain Controller WScript.Echo objOS.DomainRole 'входит в домен (булево) WScript.Echo objOS.PartOfDomain 'всего физической памяти (байт) WScript.Echo objOS.TotalPhysicalMemory 'залогиненный в данный момент пользователь WScript.Echo objOS.UserName
On Error Resume Next Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objOS In objService.ExecQuery("SELECT * FROM Win32_OperatingSystem") Exit For Next '************************************************************************************************** 'СВЕДЕНИЯ О ВЕРСИИ ОПЕРАЦИОННОЙ СИСТЕМЫ 'короткое описание версии операционной системы WScript.Echo objOS.Caption 'номер билда операционной системы WScript.Echo objOS.BuildNumber 'номер версии операционной системы WScript.Echo objOS.Version 'имя операционной системы WScript.Echo objOS.Name 'посл. установленный сервис-пак (строка); если никакой сервис-пак не установлен, пустая строка. 'для Windows 95 это свойство содержит произвольную доп. информацию об операционной системе. WScript.Echo objOS.CSDVersion 'версия сервис-пака WScript.Echo objOS.ServicePackMajorVersion 'подверсия сервис-пака WScript.Echo objOS.ServicePackMinorVersion '************************************************************************************************** 'СВЕДЕНИЯ О НАСТРОЙКАХ ОПЕРАЦИОННОЙ СИСТЕМЫ 'язык операционной системы. WScript.Echo objOS.OSLanguage 'тип операционной системы: '16 - WIN95, 17 - WIN98, 18 - WINNT, 19 - WINCE WScript.Echo objOS.OSType 'значение кодовой страницы, которую использует операционная система (до 6 символов); если 'операционная система не использует кодовую страницу ANSI, это свойство содержит 0 (нуль) WScript.Echo objOS.CodeSet 'код региона, который использует операционная система (до 6 символов) WScript.Echo objOS.CountryCode 'идентификатор языка, используемого операционной системой WScript.Echo objOS.Locale 'врменная зона; число минут смещения от времени по Гринвичу (положительное, отрицательное, или нуль). WScript.Echo objOS.CurrentTimeZone 'дата-время установки WScript.Echo objOS.InstallDate 'имя компьютера WScript.Echo objOS.CSName 'организация, на которую зарегистрирована операционная система WScript.Echo objOS.Organization 'зарегистрированный пользователь операционной системы WScript.Echo objOS.RegisteredUser 'серийный номер WScript.Echo objOS.SerialNumber 'директория системных файлов, например, "C:\WINDOWS\SYSTEM32" WScript.Echo objOS.SystemDirectory 'директория WINDOWS, например, "C:\WINDOWS" WScript.Echo objOS.WindowsDirectory '************************************************************************************************** 'СВЕДЕНИЯ О ТЕКУЩЕМ СОСТОЯНИИ ОПЕРАЦИОННОЙ СИСТЕМЫ 'Текущее состояние операционной системы '"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service" WScript.Echo objOS.Status 'дата + время последней загрузки WScript.Echo objOS.LastBootUpTime 'текущая локальная дата + время на компьютере WScript.Echo objOS.LocalDateTime 'количество пользовательских сеансов, 'для которых операционная система сохраняет информацию о состоянии в настоящее время. WScript.Echo objOS.NumberOfUsers 'является ли операционная система загружаемой по умолчанию (булево) WScript.Echo objOS.Primary
Источник: http://www.script-coding.info