TERMINAL
29-12-2010, 14:27
Добрый день !
Есть несколько видов сетевого подключения с разными названиями :
1. Подключение по локальной сети
2. Подключение по локальной сети 2
3. Подключение по локальной сети 3
Задача такая, нужно переименовать сетевое подключение с наименованием Подключение по локальной сети 2 в сетевое подключение с наименованием Internet.
madmasles
29-12-2010, 15:26
TERMINAL,
Когда- то давно нашел такой скрипт. Он у меня на Windows XP SP3 работает.
#RequireAdmin (http://www.autoitscript.com/autoit3/docs/keywords.htm##requireadmin)
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $Reg_Net_Devices = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\"
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $Reg_Network_Names = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\"
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $Reg_Network_Names2 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\"
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $n = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) 9999
;формат названия ветки реестра
$nn = StringFormat (http://www.autoitscript.com/autoit3/docs/functions/StringFormat.htm)("%04d", Int (http://www.autoitscript.com/autoit3/docs/functions/Int.htm)($n))
;проверяем значение в реестре Characteristics
$Is_Ethernet = RegRead (http://www.autoitscript.com/autoit3/docs/functions/RegRead.htm)($Reg_Net_Devices & $nn, "Characteristics")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $Is_Ethernet = 132 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
;выясняем имя ветки реестра
$reg_adapter_ID = RegRead (http://www.autoitscript.com/autoit3/docs/functions/RegRead.htm)($Reg_Net_Devices & $nn, "NetCfgInstanceId")
;Имя подключения
$def_name = RegRead (http://www.autoitscript.com/autoit3/docs/functions/RegRead.htm)($Reg_Network_Names & $reg_adapter_ID & "\Connection", "Name")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $def_name <> "" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$iMsgBoxAnswer1 = MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(36, "Сетевые подключения.", "Найдено подключение по имени:" & @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf) & "<" & $def_name & ">" & @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf) & "Изменить имя?")
Select (http://www.autoitscript.com/autoit3/docs/keywords.htm#Select)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer1 = 6 ;Yes
$nameNew = InputBox (http://www.autoitscript.com/autoit3/docs/functions/InputBox.htm)("Сетевые подключения.", "Введите новое имя:", "")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) @error (http://www.autoitscript.com/autoit3/docs/macros.htm#@error) And (http://www.autoitscript.com/autoit3/docs/keywords.htm#And) $nameNew Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names & $reg_adapter_ID & "\Connection", "Name", "REG_SZ", $nameNew)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names2 & $reg_adapter_ID & "\Connection", "Name", "REG_SZ", $nameNew)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer1 = 7 ;No
ContinueLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ContinueLoop)
EndSelect (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSelect)
$iMsgBoxAnswer2 = MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(36, "Сетевые подключения.", "При подключении вывести значок в области уведомлений?")
Select (http://www.autoitscript.com/autoit3/docs/keywords.htm#Select)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer2 = 6 ;Yes
$pod = 1
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer2 = 7 ;No
$pod = 0
EndSelect (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSelect)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names & $reg_adapter_ID & "\Connection", "ShowIcon", "REG_DWORD", $pod)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names2 & $reg_adapter_ID & "\Connection", "ShowIcon", "REG_DWORD", $pod)
$iMsgBoxAnswer3 = MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(36, "Сетевые подключения.", "Уведомлять при ограниченном или отсутствующем подключении?")
Select (http://www.autoitscript.com/autoit3/docs/keywords.htm#Select)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer3 = 6 ;Yes
$uv = 1
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $iMsgBoxAnswer3 = 7 ;No
$uv = 0
EndSelect (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSelect)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names & $reg_adapter_ID & "\Connection", "IpCheckingEnabled", "REG_DWORD", $uv)
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)($Reg_Network_Names2 & $reg_adapter_ID & "\Connection", "IpCheckingEnabled", "REG_DWORD", $uv)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
TERMINAL
29-12-2010, 16:53
madmasles, мне только одно показывает, а может поиск как-то можно организовать по реестру?
TERMINAL, попробуйте с помощью Проводника:
AutoItSetOption("MustDeclareVars", 1)
Local $oShell = ObjCreate("Shell.Application")
Local $oFolder = $oShell.NameSpace("shell:ConnectionsFolder")
If IsObj($oFolder) Then
For $oFolderItem In $oFolder.Items
If $oFolderItem.Name = "Подключение по локальной сети 2" Then
$oFolderItem.Name = "Internet"
$oFolderItem = 0
ExitLoop
EndIf
Next
$oFolder = 0
Else
ConsoleWriteError("Can't find folder [Сетевые подключения]")
EndIf
$oShell = 0
Exit(0)
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC