Smile Опубликовано 30 июля, 2006 Жалоба Share Опубликовано 30 июля, 2006 кто нибудь юзает? есть вопросы по Win32_NetworkAdapter и Win32_NetworkAdapterConfiguration. не могу победить =( Ссылка на комментарий Поделиться на другие сайты More sharing options...
jnc Опубликовано 30 июля, 2006 Жалоба Share Опубликовано 30 июля, 2006 Я юзал, а что именно интересует? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Smile Опубликовано 30 июля, 2006 Автор Жалоба Share Опубликовано 30 июля, 2006 да собственно вот код тот вопрос уже отпал, но появился новый, пустячный =) strComputer = "." Sub ChangeApapterConfiguration(strAdapter,strIP) strRes="" strMask="х.х.х.х" strGateWay="х.х.х.х" strDNS="х.х.х.х" strPrimaryWINS="х.х.х.х" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set objShare = objWMIService.Get("Win32_NetworkAdapterConfiguration.Index='" & strAdapter & "'") strRes=strRes & " IP=" & objShare.EnableStatic(Array(strIP), Array(strMask)) strRes=strRes & " GateWay=" & objShare.SetGateways(Array(strGateWay),Array(1)) strRes=strRes & " DNS=" & objShare.SetDNSServerSearchOrder(Array(strDNS)) strRes=strRes & " WINS=" & objShare.SetWINSServer(strPrimaryWINS,"") If strRes<>" IP=0 GateWay=0 DNS=0 WINS=0" Then Wscript.Echo "Erorr:" & strRes End Sub Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 'получаем все езернетовские адаптеры компа Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter WHERE AdapterType = 'Ethernet 802.3'",,48) 'бежим по езернетовским адаптерам... For Each objAdapter in colAdapters '...получая конфиги поочередно по objAdapter.Index Set colAdapters802_3Config = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index=" & objAdapter.Index,,48) 'бежим по конфигурациям езернетовского адаптера (вроде бы она всегда одна???)... For Each objAdapter802_3Config in colAdapters802_3Config '...перебирая все установленные на адаптере IP-адреса For intIPAdressNo=0 to UBound(objAdapter802_3Config.IPAddress) 'если находим на адаптере хотябы один адрес по списку, то это значит, что нужно изменить всеь конфиг адаптера на новый SELECT Case objAdapter802_3Config.IPAddress(intIPAdressNo) Case "х.х.х.х": ChangeApapterConfiguration objAdapter.Index,"х.х.х.х" Case "х.х.х.х": ChangeApapterConfiguration objAdapter.Index,"х.х.х.х" ......................................................................................................................... End Select Next Next задача такова: перевести сотню дугую компов в домене одним махом на другую подсеть =) код работает, все стандартно, пихаю его в нетлогон и далее прописываю в гпо выполняться скрипту при загрузке вопрос в том, как связать две даблички в одном запросе Win32_NetworkAdapter и Win32_NetworkAdapterConfiguration (у них есть ключ - поле Index) мсдна нет на компе, а ковырять у мс на сайте че-то лениво JOIN этот SQL не понимает =) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Smile Опубликовано 30 июля, 2006 Автор Жалоба Share Опубликовано 30 июля, 2006 короче SELECT * FROM Win32_NetworkAdapter t1 LEFT JOIN SELECT * FROM Win32_NetworkAdapterConfiguration t2 ON t1.Index=t2.Index WHERE t1.AdapterType = 'Ethernet 802.3' не канает SELECT * FROM Win32_NetworkAdapter, Win32_NetworkAdapterConfiguration WHERE Win32_NetworkAdapter.Index=Win32_NetworkAdapterConfiguration.Index AND Win32_NetworkAdapter.AdapterType = 'Ethernet 802.3' не канает тоже: матерится ужасно Ссылка на комментарий Поделиться на другие сайты More sharing options...
jnc Опубликовано 31 июля, 2006 Жалоба Share Опубликовано 31 июля, 2006 Smile В одном запросе никак не связать: FROM Specifies the class that contains the properties listed in a SELECT statement. Windows Management Instrumentation (WMI) supports data queries from only one class at a time. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Smile Опубликовано 31 июля, 2006 Автор Жалоба Share Опубликовано 31 июля, 2006 понятно, придется читать его скл граммар... кстати, странно, на некоторых адаптерах (всякие там минипорт ван и остальная хрень) скрипт не отрабатывал, пришлось немного поправить Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.