
- •Экзаменационные вопросы и задачи по дисциплине «Системное программирование» (спо)
- •Теоретические вопросы
- •Ответы на теоретические вопросы
- •Опишите назначение и механизм действия системы прерываний компьютера
- •Опишите смысл, назначение и механизм действия процессов
- •Файловая подсистема. Основные понятия. Виды файловых систем
- •Виды файловых систем
- •Управление процессами
- •Файловые системы fat32 и ntfs
- •Сервер сценариев Windows Script Host (wsh). Назначение и возможности
- •Возможности сценариев wsh
- •Объекты wsh: Методы и свойства объекта Wscript
- •Объекты wsh: Методы и свойства объекта WshShell
- •Объекты wsh: Методы и свойства объекта WshNetwork
- •Инструментарий управления Windows wmi – назначение и возможности
- •Использование технологии wmi для сбора сведений об аппаратной конфигурации компьютера
- •Практические задания по системному программированию
- •Решения практических заданий (используйте файлы «Automation.Chm» и «Рецепты wmi.Doc»)
Инструментарий управления Windows wmi – назначение и возможности
Windows Management Instrumentation (WMI), или инструментарий управления Windows – это промышленная инициатива по разработке стандартизированной технологии по доступу к информации управления в корпоративных средах. Эта информация включает в себя состояние памяти системы, информацию об установленных клиентских приложениях и другие данные о статусе клиента. Кроме того, WMI может использоваться для построения приложений, которые позволяют отслеживать и соответствующим образом реагировать на события системы.
Доступ к WMI может осуществляться через интерфейсы COM+ и .NET Framework. Таким образом, любой язык программирования, который поддерживает взаимодействие с COM+ и .NET Framework, может использоваться для работы с WMI.
Технология WMI реализована для всех 32-разрядных версий Windows, начиная с Windows 95 OSR 2 и заканчивая Windows Server 2003. В операционных системах Windows Me/2000/XP и Windows Server 2003 никакой дополнительной установки WMI не требуется, так как здесь уже функционирует ядро WMI версии 1.5. Для операционных систем Windows 9x/NT необходимо обновить ядро WMI до версии 1.5. Необходимый для этого инсталляционный файл wmicore.exe можно скачать с сервера Microsoft. Структура WMI
Структуру WMI составляют:
• Менеджер объектов общей информационной модели, или Common Information Model Object Manager (CIMOM). Он обеспечивает обработку всех запросов к WMI и доставку информации в ответ на этот запрос. • Репозиторий CIM. Представляет собой хранилище классов. Все классы, составляющие CIM, группируются в пространства имён (namespaces). Таким образом пространство имён WMI – это ни что иное как раздел (директория) репозитория WMI, которая призвана группировать классы и объекты WMI по назначению, а также определять атрибуты безопасности при доступе к классам и объектам в каждом таком контейнере. • Провайдеры WMI. Представляют собой COM-серверы, которые обеспечивают возможность получения системных данных из различных источников, таких как журнал событий, системны реестр и т.д. • Библиотека поддержки сценариев (WMI scripting library).
Подключение к WMI Для подключения к WMI в своей программе можно использовать WMI-моникер (WMI moniker) или объект SWbemLocator. Независимо от того, каким способом осуществляется подключение, возвращается объект SWbemServices. Подключение с помощью WMI-моникер Моникер – это строка определённой структуры, задающая путь к классу, экземпляр которого должен быть создан. Моникер состоит из следующих частей:
• Обязательный префикс "winmgmts:". • Настройки безопасности WMI. Необязательный параметр, указывается после префикса “winmgmts:” в скобках {}. • Путь к нужному объекту WMI. Необязательный параметр, указывается после “!” или, в случае отсутствия настроек безопасности, сразу после префикса “winmgmts:”. Полный путь к классу CIM имеет следующую структуру: \\ComputerName\Namespace:ClassName.KeyProperty1=Value1, KeyProperty2=Value2 ... , где: ComputerName - сетевое имя компьютера. Для задания локального компьютера необходимо использовать символ ".". Namespace - название пространства имён. ClassName - имя класса. KeyProperty1=Value1, KeyProperty2=Value2 ... - список ключевых свойств объекта и их значений.
Примером моникера может служить следующая строка: "winmgmts:{impersonationLevel=Impersonate, authenticationLevel=PktPrivacy, (Shutdown)}!\\ .\ROOT\CIMV2" В этой строке impersonationLevel=Impersonate – уровень имперсонации, authenticationLevel=PktPrivacy – уровень аутентификации, (Shutdown) – привилегия.