Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_drsp_09.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
207.87 Кб
Скачать
  1. Класи wmi

Ми розібралися в прийомах роботи з WMI, проте залишилася ще одна важлива тема - а що фізично можна зробити за допомогою WMI, які в WMI передбачені класи, а для класів - які властивості і методи.

Класів в WMI передбачені сотні. Ми розглянемо тільки найважливіші. Усі класи поділені на три великі групи:

  • класи, що відносяться до устаткування;

  • класи, що відносяться до операційної системи;

  • класи, що відносяться до встановлених застосувань.

Ми акцентуватимемо увагу на тих можливостях, які дозволяють нам не лише отримувати пасивну інформацію, але і управляти комп'ютером.

7.1 Класи wmi для роботи з устаткуванням

Класи WMI для роботи з устаткуванням можна розділити на дев'ять великих категорій:

  • класи для роботи з пристроями охолодження (Win32_Fan, Win32_TemperatureProbe і тому подібне)

  • для роботи з пристроями введення (Win32_Keyboard, Win32_PointingDevice)

  • з дисками (Win32_CDROMDrive, Win32_DiskDrive, Win32_FloppyDisk)

  • з материнською платою/контроллерами/портами (Win32_MotherboardDevice, Win32_BIOS, Win32_PhysicalMemory, Win32_Processor і тому подібне)

  • з мережею (головний - Win32_NetworkAdapter)

  • з живленням (Win32_Battery, Win32_PowerManagementEvent)

  • з друком (Win32_Printer, Win32_PrintJob)

  • з модемами (Win32_POTSModem)

  • з відеопідсистемою (Win32_DesktopMonitor, Win32_DisplayConfiguration, Win32_VideoController, Win32_VideoSettings).

Практично усі ці класи призначені для можливості тільки отримання інформації на читання, без можливості внесення змін. Виняток становлять тільки:

  • клас Win32_Fan - можливість програмним чином встановлювати швидкість обертання вентилятора (якщо така можливість підтримується материнською платою);

  • клас Win32_LogicalDisk - за допомогою його можна міняти ім'я тому (властивість Volume Name)

  • клас Win32_NetworkAdapterConfiguration. У цього класу - десятки методів, які дозволяють міняти мережеві налаштування для адаптера програмним чином.

Наприклад, щоб настроїти комп'ютер на використання DHCP, можна використовувати код виду :

Set colNetAdapters = objWMIService.ExecQuery _

    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each objNetAdapter In colNetAdapters

    errEnable = objNetAdapter.EnableDHCP()

     If errEnable = 0 Then

        Wscript.Echo "DHCP has been enabled."

    Else

        Wscript.Echo "DHCP could not be enabled."

    End If

Next

Щоб навпаки, настроїти потрібну нам статичну IP-адресу, можна використати код

Set colNetAdapters = objWMIService.ExecQuery _

    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress = Array("192.168.1.141")

strSubnetMask = Array("255.255.255.0")

strGateway = Array("192.168.1.100")

strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters

    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)

    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)

    If errEnable = 0 Then

        WScript.Echo "The IP address has been changed."

    Else

        WScript.Echo "The IP address could not be changed."

    End If

Next

За допомогою інших методів цього класу ви можете настроювати домен DNS, параметри роботи з серверами DNS і WINS, IPSec і фільтрацію пакетів TCP/IP, додавати додаткові мережеві протоколи, служби і клієнти - загалом, усе, що доступно на графічному екрані або через реєстр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]