Adapters |
При помощи этого объекта возможно получить доступ к сетевым интерфейсам, установленным в системе.
Пример использования:
'netcom.dll содержит 'NetCom.Remote'
Set Remote = CreateObject("NetCom.Remote")
With Remote
.Host = "192.168.0.1"
.Port = 42566
.UserName = "Administrator"
.Password = "mypass"
'подключение к удаленной службе и запрос объекта TrafficFilter
Set TrafficFilter = .CreateRoot
End With
'Проверка на количество интерфейсов
WScript.Echo "Количество интерфейсов: " & TrafficFilter.Adapters.Count
If (TrafficFilter.Adapters.Count = 0) Then
WScript.Echo "Не найдены сетевые интерфейсы"
Set TrafficFilter = Nothing
Remote.Disconnect
Set Remote = Nothing
WScript.Echo vbCrLf & "Нажмите любую клавишу..."
WScript.StdIn.Read(1)
WScript.Quit
End If
'Поиск нужных интерфейсов
WScript.Echo "Поиск интерфейса с именем 'DSL'..."
InterfaceDeviceName = ""
With TrafficFilter.Adapters
For I = 0 To .Count - 1
Set Intf = .Items(I)
If (Intf.Name = "DSL") And (Intf.IsFilterStarted) Then
InterfaceDeviceName = Intf.DeviceName
Exit For
End If
Next
End With
'Если интерфейс не найден или перехват пакетов на нем не включен
If InterfaceDeviceName = "" Then
WScript.Echo "Сетевой интерфейс с именем 'DSL' не найден или на нем отключен перехват пакетов"
Set TrafficFilter = Nothing
Remote.Disconnect
Set Remote = Nothing
WScript.Echo vbCrLf & "Нажмите любую клавишу..."
WScript.StdIn.Read(1)
WScript.Quit
End If
Set Rules = TrafficFilter.Rules
With Rules
'Вставить новое правило первым в списке
.Insert 0, "MyRule"
'Найти добавленное правило
Set Rule = .FindByName("MyRule")
With Rule
.Enabled = False
'Действие над пакетом - "Запретить"
.Action = 2
'Добавить найденный интерфейс (его идентификатор, который хранится в переменной InterfaceDeviceName)
.ConditionInterfaces.Add InterfaceDeviceName
'Установить условие "в списке"
.ConditionInterfacesOperator = 1
.Enabled = True
End With
'Принудительное сохранение конфигурации
TrafficFilter.ForceSaveConfig
WScript.Echo "Добавлено новое правило с именем " & Rule.Name
End With
Set Rule = Nothing
Set Rules = Nothing
Set TrafficFilter = Nothing
Remote.Disconnect
Set Remote = Nothing
WScript.Echo vbCrLf & "Нажмите любую клавишу..."
WScript.StdIn.Read(1)