Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

16.8 Классы WMI

Классы WMI для работы с оборудованием в скриптах VBScript, объекты Win32_LogicalDisk, Win32_NetworkAdapterConfiguration, Win32_PrintJob

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

Классов в WMI предусмотрены сотни. Мы рассмотрим только самые важные. Все классы поделены на три большие группы:

  • классы, относящиеся к оборудованию;
  • классы, относящиеся к операционной системе;
  • классы, относящиеся к установленным приложениям.

Мы будем акцентировать внимание на тех возможностях, которые позволяют нам не только получать пассивную информацию, но и управлять компьютером.

16.8.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, добавлять дополнительные сетевые протоколы, службы и клиенты - в общем, все, что доступно на графическом экране или через реестр.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru