Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[34.239.150.167] |
|
Страницы: (22) « Первая ... 14 15 [16] 17 18 ... 21 22 ( Перейти к последнему сообщению ) |
Сообщ.
#226
,
|
|
|
интересует скриптик для отключения/включения сетевого интерфейса...
|
Сообщ.
#227
,
|
|
|
Здравствуйте!
Поражен вашими знаниями, отличный форум, рад что нашел его... У меня не много вопросов... Код взят с этой темы, он добавляет сетевой диск на основание заметки у групп... on error resume next set objNet=CreateObject("wscript.network") UsrName=objNet.Username strUsrDN=GetUserDN(usrname) dim lst lst=GetMountArray(strUsrDN) for i=1 to ubound(lst) if lst(i,1)="U:" then objNet.MapNetworkDrive lst(i,1), lst(i,2)&UsrName else objNet.MapNetworkDrive lst(i,1), lst(i,2) end if next Function GetUserDN(username) Dim objConnection Dim objCommand Dim objRecordSet Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection objCommand.CommandText="<LDAP://dc=DOMAINNAME,dc=ru>;(&(objectCategory=User)(samaccountname="&username&"));ADsPath;subtree" Set objRecordSet=objCommand.Execute If objRecordSet.RecordCount=0 Then GetUserDN="" Else strADsPath=objRecordset.Fields("ADsPath") Set objUser=GetObject(strADsPath) objUser.GetInfo GetUserDN=objUser.Get("distinguishedName") End If objConnection.Close End Function rem ------------------------------------------------------------ rem GetFreeDrive функция поиска свободной буквы диска по списку. rem Принимает параметр в формате "A,B,C" где A,B,C буквы дисков. rem Выполняет последовательный перебор до первой свободной. rem В случае занятости всех возвращает пустую строку "". rem ------------------------------------------------------------ function GetFreeDrive(DriveList) Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") found="" while (len(DriveList)>0 and found="") drv=left(DriveList,1)&":" Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where DeviceID='"&drv&"'") if (colDisks.Count>0) then if len(DriveList)>2 then DriveList=mid(DriveList,3) else DriveList="" end if else found=drv end if wend GetFreeDrive=found end function rem ------------------------------------------------------------ rem ------------------------------------------------------------ rem GetMountArray Создает массив соответствий диск-путь. rem Принимает параметром пользовательский DistinguishedName. rem Возвращает двумерный массив ("Буква диска", "путь"). rem ------------------------------------------------------------ function GetMountArray(strUserDN) Set objUser=GetObject("LDAP://"&strUserDN) grps=objUser.GetEx("memberOf") dim Groups redim Groups(ubound(grps),2) size=0 for each grp in grps On Error Resume Next Dim objGroup Set objGroup=GetObject("LDAP://"&grp) Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D descr="" descr=objGroup.Get("info") If err.number <> E_ADS_PROPERTY_NOT_FOUND Then if (left(descr,1)="(") then size=size+1 pos=InStr(descr,")") letters=mid(descr,2,pos-2) path=mid(descr,pos+1) drv=GetFreeDrive(letters) Groups(size,1)=drv Groups(size,2)=path end if End If next dim Data redim Data(size,2) for i=1 to size Data(i,1)=Groups(i,1) Data(i,2)=Groups(i,2) next GetMountArray=data end function rem ------------------------------------------------------------ rem ------------------------------------------------------------ rem ParseVariables функция поиска переменных в строке и подстановки значений. rem возвращает обработанную строку rem ------------------------------------------------------------ function ParseVariables(strLine) set objNet=CreateObject("wscript.network") str=replace(lcase(strLine),"%username%",objNet.UserName) str=replace(str,"%computername%",objNet.ComputerName) ParseVariables=str end function Нужно ли в нем еще что то менять? Могу ли я его просто вставить в групповую политику в сценария на пользователя в вход ? Спасибо) |
Сообщ.
#228
,
|
|
|
Цитата mr.Neo @ интересует скриптик для отключения/включения сетевого интерфейса... Здравствуйте.. Вот скрипт который пингует хост и по качеству пинга выключает и включает сеть Прикреплённый файлScripts_for_Alex.7z (3.35 Кбайт, скачиваний: 146) |
Сообщ.
#229
,
|
|
|
Есть у кого внятные примеры работы с ODBC на VBScript/JScript?
|
Сообщ.
#230
,
|
|
|
Цитата mr.Neo @ интересует скриптик для отключения/включения сетевого интерфейса... Сообщение N-22 в этой теме |
Сообщ.
#231
,
|
|
|
Цитата Спящий @ Уже нашел. Не надо. Есть у кого внятные примеры работы с ODBC на VBScript/JScript? |
Сообщ.
#232
,
|
|
|
Есть интересная задача , которую хотелось бы решить централизованно с помощью скриптов , а именно : Создание профиля пользователя на локальной машине.
Скоро у меня грядет перестановка домена , скрипты для выброса машин из домена, переименование профиля пользователя на локальной машине(к сожалению нет возможности использовать перемещаемые профили), создание всей AD, и присоединение всех машин к новому домену с последующей перезагрузкой я худо бедно написал , а с этой задачей даже не знаю с какого конца начать ... Если у кого был опыт разработки подобного или может натолкнете на мысль ... Заранее благодарен . |
Сообщ.
#233
,
|
|
|
Цитата viki1976 @ Есть интересная задача , которую хотелось бы решить централизованно с помощью скриптов , а именно : Создание профиля пользователя на локальной машине. Скоро у меня грядет перестановка домена , скрипты для выброса машин из домена, переименование профиля пользователя на локальной машине(к сожалению нет возможности использовать перемещаемые профили), создание всей AD, и присоединение всех машин к новому домену с последующей перезагрузкой я худо бедно написал , а с этой задачей даже не знаю с какого конца начать ... Если у кого был опыт разработки подобного или может натолкнете на мысль ... Заранее благодарен . Есть утилита от sysinternals называется moveuser.exe. Работает в командной строке, позволяет премещать настроенный профиль пользователя на тот который нужно, проверенно работает корректно. Таким образом переводил своих юзверей на домен с новеля. К сожалению скрипта готового не осталось, было это года 2 назад |
Сообщ.
#234
,
|
|
|
К слову о скриптах, в частности об использовании WMI.
Теперь в дополнение к Scriptomatic2 появился не менее удобный WMICodeCreator. Обе тулзы свободно берутся на сайте Майкрософт. |
Сообщ.
#235
,
|
|
|
Здравствуйте!
Подскажите пожалуйста, как реализовать изменение ip адреса сетевого адаптера через wmi? (на vbs) strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colNetAdapters = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") strIPAddress = Array("192.168.0.3") strSubnetMask = Array("255.255.255.255") strGateway = Array("192.168.1.100") strGatewayMetric = Array(1) For Each objNetAdapter in colNetAdapters errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) arrDNSServers = Array("192.168.1.100", "192.168.1.200") objNetAdapter.SetDNSServerSearchOrder(arrDNSServers) Next Этот скрипт работает, но, он меняет все параметры, маску, шлюз и днс. Как можно сделать чтобы этот скрипт менял ТОЛЬКО ip? Ситуация - машина в сети, только разлилась и получила от dhcp ip,mask,gateway,dns. Нужно при сохранении mask,gateway,dns (выданных dns-ом) изменить в ip адресе последний разряд (пример - 192.168.ххх.ххх - ххх.ххх нужно поменять) |
Сообщ.
#236
,
|
|
|
Цитата Alexsz @ машина в сети, только разлилась и получила от dhcp ip,mask,gateway,dns. Нужно при сохранении mask,gateway,dns (выданных dns-ом) изменить в ip адресе последний разряд Изменить только адрес невозможно - смена dhcp на static делает все параметры соединения невалидными. Следует сохранить полученные по DHCP параметры и затем присвоить весь пакет параметров (изменить адрес, сохранить остальное) в static-конфигурации. |
Сообщ.
#237
,
|
|
|
Цитата Akina @ Цитата Изменить только адрес невозможно - смена dhcp на static делает все параметры соединения невалидными. Следует сохранить полученные по DHCP параметры и затем присвоить весь пакет параметров (изменить адрес, сохранить остальное) в static-конфигурации. ОК, а как реализовать сие? (сохранить и т.д.) Я немного не представляю как Цитата присвоить весь пакет параметров (изменить адрес, сохранить остальное) в static-конфигурации. Help! |
Сообщ.
#238
,
|
|
|
Ну у тебя же всё есть!!! ты же присваиваешь параметры - неужели так сложно сначала считать их значения и сохранить в переменной?
|
Сообщ.
#239
,
|
|
|
Цитата Ну у тебя же всё есть!!! ты же присваиваешь параметры - неужели так сложно сначала считать их значения и сохранить в переменной? Ув Akina! Помогите плз реализовать в скрипте, у меня недостаточно знаний |
Сообщ.
#240
,
|
|
|
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE and DHCPEnabled=TRUE") strIPAddress = Array("192.168.0.3") For Each objNetAdapter in colNetAdapters If Left(objNetAdapter.IPAddress,7) = Left(strIPAddress,7) Then strSubnetMask = objNetAdapter.IPSubnet strGateway = objNetAdapter.DefaultIPGateway strGatewayMetric = objNetAdapter.GatewayCostMetric arrDNSServers = objNetAdapter.DNSServerSearchOrder errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) objNetAdapter.SetDNSServerSearchOrder(arrDNSServers) End If Next |