3 / 3 / 0
Регистрация: 31.10.2013
Сообщений: 25
1

Изменить Gateway и DNS Server скриптом VBS из-под Windows 10

10.03.2017, 06:25. Показов 679. Ответов 0
Метки нет (Все метки)

Здравствуйте.

Когда-то был написан скрипт для переключения источника интернета. Он прекрасно работал под WinXP, но теперь пришло время пересадить его на Win10, и он ничего не изменяет, хоть и нет сообщений об ошибках.

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
While qqq=""
 
strComputer = "." 
 
Number=""
 
Set objWMIService=GetObject("winmgmts:\"&strComputer&"\root\cimv2")  
Set IPConfigSet=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration")  
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell=CreateObject("Wscript.Shell")
 
ReturnCode = objShell.Run("ping -n 1 www.google.com",0,True)
If ReturnCode = 1 Then
InetWorks=" Не работает"
Else
InetWorks=" Работает"
End If
 
If objFSO.FileExists ("1.txt") Then
    objFSO.DeleteFile ("1.txt"), True
End If
If objFSO.FileExists ("1.bat") Then
    objFSO.DeleteFile ("1.bat"), True
End If
 
objFSO.CreateTextFile ("1.bat",True).WriteLine ("for /f ""tokens=2 delims=="" %%a in ('wmic path Win32_networkadapter where ^""NetConnectionStatus^=2^"" get NetConnectionID /value') do @echo %%a >> 1.txt")
objShell.Run ("1.bat"),0,False
 
While Not objFSO.FileExists ("1.txt")
WScript.Sleep (100)
WEnd
 
k=49
 
Set t_file=objFSO.OpenTextFile("1.txt",1) ' Открываем исходный текст файл для чтения
AllTxt=t_file.ReadAll()                         ' Cчитываем весь файл в строковую переменную
t_file.Close
Massive = Split(AllTxt,vbCrLf)
    If UBound(Massive)=1 Then
        Number="1"
    Else
        Number="More"
    End If
 
For Each IPConfig in IPConfigSet  
 
    If Not IsNull(IPConfig.IPAddress) Then  
 
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
 
            If Not (IPConfig.IPAddress(i)="0.0.0.0") Then
 
                If Not IsNull(IPConfig.DefaultIPGateway) Then
 
                    If Len (IPConfig.IPAddress(i)) < 16 Then
 
                        If IPConfig.DefaultIPGateway(i)="192.168.1.1" Then
                            InetNow="VTRа"
                            InetNew=CHR(9)&CHR(9)&CHR(9)&"                      Оставить"&CHR(10)&"                 Скел                 Рыхлевский                 VTRа"
                        End If
                        If IPConfig.DefaultIPGateway(i)="192.168.1.2" Then
                            InetNow="Скела"
                            InetNew=CHR(9)&CHR(9)&CHR(9)&"                      Оставить"&CHR(10)&"                  VTR                 Рыхлевский                 Скела"
                        End If
                        If IPConfig.DefaultIPGateway(i)="192.168.1.3" Then
                            InetNow="Рыхлевского"
                            InetNew=CHR(9)&CHR(9)&CHR(9)&"                           Оставить"&CHR(10)&"                       VTR                        Скел           Рыхлевского"
                        End If
 
                    End If
 
                End If
 
            End If 
 
        Next 
 
    End If 
 
Next 
 
If objFSO.FileExists ("1.txt") Then
   objFSO.DeleteFile ("1.txt"), True
End If
If objFSO.FileExists ("1.bat") Then
    objFSO.DeleteFile ("1.bat"), True
End If
 
Text=InetNew+"  "+StringsCount
 
    iReturn = objShell.Popup (Text,60,InetWorks&" инет через "+InetNow,vbYesNoCancel+vbDefaultButton3)
 
If Not iReturn=6 And Not iReturn=7 Then
    WScript.Quit ErrorLevel
End If
 
If InetNow="VTRа" Then
    If iReturn=6 Then
        strDNSServerSearchOrder = Array("192.168.1.2")
        strGateway = Array("192.168.1.2")
        strGatewayMetric = Array(1)
    Else
        strDNSServerSearchOrder = Array("192.168.1.3")
        strGateway = Array("192.168.1.3")
        strGatewayMetric = Array(1)
    End If
End If
If InetNow="Скела" Then
    If iReturn=6 Then
        strDNSServerSearchOrder = Array("192.168.1.1")
        strGateway = Array("192.168.1.1")
        strGatewayMetric = Array(1)
    Else
        strDNSServerSearchOrder = Array("192.168.1.3")
        strGateway = Array("192.168.1.3")
        strGatewayMetric = Array(1)
    End If
End If
If InetNow="Рыхлевского" Then
    If iReturn=6 Then
        strDNSServerSearchOrder = Array("192.168.1.1")
        strGateway = Array("192.168.1.1")
        strGatewayMetric = Array(1)
    Else
        strDNSServerSearchOrder = Array("192.168.1.2")
        strGateway = Array("192.168.1.2")
        strGatewayMetric = Array(1)
    End If
End If
 
For Each IPConfig in IPConfigSet
    errGateways = IPConfig.SetGateways(strGateway,strGatewayMetric)
    errDNSServerSearchOrder = IPConfig.SetDNSServerSearchOrder(strDNSServerSearchOrder)
Next 
 
WEnd


Собственно не работает конкретно это:

Visual Basic
1
2
3
4
For Each IPConfig in IPConfigSet
    errGateways = IPConfig.SetGateways(strGateway,strGatewayMetric)
    errDNSServerSearchOrder = IPConfig.SetDNSServerSearchOrder(strDNSServerSearchOrder)
Next
В чём дело, кто знает?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2017, 06:25
Ответы с готовыми решениями:

Нагрузка на DNS сервер. DNS на Windows Server. Мощности оборудования для больших DNS серверов
Приветствую коллеги! Интересно ваше узнать ваше мнение (а может быть у вас есть практика) какие...

Перенос DNS сервера и всех настроек с Windows Server 2003 на Windows Server 2012
Добрый вечер! Прошу помочь с одной проблемой. А именно по поводу миграции c Windows Server 2003 на...

Некорректная работа DNS server на Windows server 2008r2 ad ds
Доброго времени суток, прошу помощи в анализе проблемы, за ранее извиняюсь за ненадлежащего вида...

Каково назначение команд dns server и dns name-server на cisco asa
А каково назначение команд dns server и dns name-server на cisco asa? релеить запросы она как я...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2017, 06:25

Windows Server 2008 R2 - DNS
Проблема следующего характера - сервер днс в последнее время начал как то не правильно работать,...

Windows Server 2008 R2: Как в групповой политике добавить скрипт (.vbs)?
Как в групповой политике добавить скрипт (.vbs)? Скрипт будет на рабочих станциях пользователей ...

DNS сервер на Windows Server 2003
Начал проходить курс веб-мастеринг. Стоит следующая задача. Создать виртуальный компьютер. Это...

Как принудительно установить Gateway и DNS IP?
Уважаемые коллеги! Как мне на компе Линукс Ubuntu установить принудительно Gateway, DNS IP. Чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.