Показать полную графическую версию : [решено] запуск определенной комманды в зависимости от IP адреса
Нашел скрипт выводящий IP адрес ПК
strcomputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
strCount = 1
For Each objitem in colitems
If strCount = 1 Then
wscript.echo objitem.IPAddress(0)
'strIPAddress = Join(objitem.IPAddress, ",")
IP = stripaddress
strCount = strCount + 1
'wscript.echo IP
Else
End If
next
Имеются IP адреса вида: 10.69.*.*, 10.70.*.*, 10.71.*.*
Требуется чтобы в зависимости от определенного айпи адреса выполнялись комманды: net user username pass1 для 10.69.*.*, net user username pass2 для 10.70.*.*, net user username pass3 для 10.71.*.*
DmitriiV
26-03-2012, 16:52
Пример:
strcomputer = "."
arrPass = Array("pass1", "pass2", "pass3")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem In colItems
Select Case Mid(objItem.IPAddress(0), 4, 2)
Case "69": i = 0
Case "70": i = 1
Case "71": i = 2
Case Else: i = -1
End Select
Next
If i >= 0 Then
Set objWShell = CreateObject("WScript.Shell")
Set objExec = objWShell.Exec("net user username " & arrPass(i))
'...
End If
Уточню, IP адрес может быть 10.69.70.71(10.70.69.71, 10.71.69.70, 10.71.70.69), то что вы предложили сработает в этом случае?
DmitriiV
27-03-2012, 07:02
Сработает, т.к. приведённые Вами конкретные адреса соответствуют указанным ранее шаблонам.
Проверяю у себя на машине вот так:
strcomputer = "."
arrPassUser1 = Array("password1", "password2", "password3")
arrPassUser2 = Array("pass1", "pass2", "pass3")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem In colItems
Select Case Mid(objItem.IPAddress(0), 4, 2)
Case "7": i = 0
Case Else: i = -1
End Select
Next
If i >= 0 Then
Set objWShell = CreateObject("WScript.Shell")
Set objExec = objWShell.Exec("net user user1 " & arrPassUser1(i))
Set objWShell = CreateObject("WScript.Shell")
Set objExec = objWShell.Exec("net user user2 " & arrPassUser2(i))
msgbox "Пароли изменены на актуальные"
Else
msgbox "Ошибка!"
End If
Имею IP адрес 10.7.5.164
Скрипт выдает "Ошибка!", где я чего не усмотрел?
DmitriiV
27-03-2012, 10:23
1. По-вашему, нижний вариант соответствует верхним?
Имеются IP адреса вида: 10.69.*.*, 10.70.*.*, 10.71.*.* »
IP адрес может быть 10.69.70.71(10.70.69.71, 10.71.69.70, 10.71.70.69) »
Имею IP адрес 10.7.5.164 »
2. Почитайте справку по функции Mid().
Прочитал справку, понял в чем ошибка, спасибо.
Работает идеально!
Спасибо огромное!
Ребята, подскажите пожалуйста
если диапазоны вот такие и диапазонов 12 штук:
взависимости от айпишника запустить один из 12 файлов.
как лучше решить этот вопрос?
как лучше решить этот вопрос? »
Для начала перечислить все:
и тд »
поимённо.
диапозоны вот
на каждый диапазон свой скрипт должен срабатывать.
думал например ip перевести в int и как то сравнивать с диапазонами,но пока не догнал как.
конечно как тупой вариант все возможные комбинации последних символов перечислить через mid и case как в примере, но это дур дом.
может у вас есть идеи лучше?
jumpman, возникает закономерный вопрос — поскольку это никак не диапазоны в явном виде — будут ли, например, относиться:
к первому «диапазону» — адрес «10.207.1.0»;
ко второму «диапазону» — адрес «10.207.206.255»?
и т.п.?
Iska, да будут.
не знаю как эти диапазоны по другому показать еще.
все адреса между 10.207.0.1 и 10.207.71.255 это первый диапазон, и тд...
у нас был asp под это заточен, сейчас решили переделывать...вот и вникаю в VBS...
Iska, Спасибо, вроде допер сам, скрипт пустил в тест уже.
если комуто будет нужно решение подобной задачи, обращайтесь)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC