PDA

Показать полную графическую версию : Установка "Адаптера Microsoft замыкания на себя"


W_W
15-02-2006, 05:54
Пытаюсь заставить сабж установиться в автоматичаском режиме... Спасибо добрым людям, подсказали комманду запуска мастера установки, но все равно не могу его победить. с помощию скрипта

BlockInput(1)
AutoItSetOption("TrayIconHide", 1)
Run ("rundll32 shell32, Control_RunDLL hdwwiz.cpl @1")
WinWait ("Мастер установки оборудования","", 0)
Sleep(500)
send("{ENTER}")
Sleep (8000)
ControlClick ("Мастер установки оборудования", "Это устройство уже подсоединено к компьютеру?", "Button1")
send("{ENTER}")
Sleep(500)
Send ("{down 50}")
send("{ENTER}")
Send ("{down}")
send("{ENTER}")
Send ("{down 30}")
Send ("{up 6}")
send("{ENTER}")
Sleep(500)
send("{ENTER}")
Sleep(100)
send("{ENTER}")
Sleep(1000)
send("{ENTER}")
BlockInput(0)

он у меня все таки устанавливается, но! Его еще надо настроить...
Можно воспользоваться коммандой netsh interface ip set address "Подключение по локальной сети 2" static 192.168.168.168 255.255.255.0, но для этого нужно знать, как будет называться подкличение (Подключение по локальной сети 2, 3, 4, и т.п.) Отсуда вопрос, как можно это определить (автоматически, ессно), можно ли это сделать Автоитом или как установить и настроить девайс автоматом по-другому???

ЗЫ Не сочтите за оффтопик, имхо, сей девайс скорее все же приложение :)

amel27
15-02-2006, 15:12
Через winnt.sif не подойдет? Вот кусок с Win2003 & VirtualServer 2005:

[GuiUnattended]
DetachedProgram="%systemroot%\system32\DevCon.exe install %systemroot%\inf\netloop.inf *msloop"

[Networking]
InstallDefaultComponents=No

[NetAdapters]
Adapter1=params.Adapter1
Adapter3=params.Adapter2

[params.MS_TCPIP]
AdapterSections=params.MS_TCPIP.Adapter1,params.MS_TCPIP.Adapter2

[params.Adapter1]
NetCardAddress=0x000123456789
ConnectionName="LAN"

[params.Adapter2]
InfID="*msloop"
ConnectionName="VLN"

[NetProtocols]
MS_TCPIP=params.MS_TCPIP

[params.MS_TCPIP.Adapter1]
SpecificTo=Adapter1
IPAddress=192.168.0.5
SubnetMask=255.255.255.0

[params.MS_TCPIP.Adapter2]
SpecificTo=Adapter2
IPAddress=192.168.1.5
SubnetMask=255.255.255.0

[NetClients]
MS_MSClient=params.MS_MSClient

[params.MS_MSClient]

[NetServices]
MS_Server=params.MS_Server
MS_RasSrv=params.MS_RasSrv

[params.MS_Server]
BroadcastsToLanman2Clients=No

[params.MS_RasSrv]
ParamsSection = params.MS_RAS

[params.MS_RAS]
RouterType = 2

amel27
16-02-2006, 06:40
Да, совсем забыл - утилиту DEVCON можно выдернуть из DDK. Интересно, что в Win2K для установки через winnt.sif достаточно одной секции params.Adapter, а вот в XP/2000 приходится изголяться... Как видно, установка LoopBack из командной строки:
DevCon.exe install %systemroot%\inf\netloop.inf *msloop

W_W
21-02-2006, 03:10
Я так понял, что winnt.sif - это файл автоматической установки Windows, а мне нужно установить на имеющуюся систему

amel27
21-02-2006, 05:18
Синтаксис одинаков - установить устройство с дефолтовыми настройками можно через DevCon, а настроить параметры через другие командные утилиты - например netsh: "netsh exec config.net", пример config.net:
# -----------------------------------------
# Настройка IP-интерфейсов
# -----------------------------------------
pushd interface ip

# Интерфейс настройки IP для "LAN"

set address name="VLN" source=static addr=192.168.0.157 mask=255.255.255.0
set address name="VLN" gateway=192.168.0.1 gwmetric=0
set dns name="VLN" source=static addr=192.168.0.103 register=PRIMARY
set wins name="VLN" source=static addr=192.168.0.103

popd
# Конец настройки интерфейса IP
P.S. Осталось решить проблему переименования сетевого соединения, чтобы передать его имя в netsh.

W_W
22-02-2006, 22:05
P.S. Осталось решить проблему переименования сетевого соединения, чтобы передать его имя в netsh.

Вот в этом-то как раз и проблема:( А мож неправильно объяснил, но с утановкой вопрос решился (хотя твой способ, имхо, лучше), с подстановкой параметров - оже ясно, а вот как узнать под каким именем создалось соединение и это имя подставить для изменения параметров ?! :(

amel27
24-02-2006, 03:41
Пример AutoIT скрипта, который переименовывает все LoopBack соединения в "VLNx":
$root="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}"
$i=1
While 1
$key = RegEnumKey($root, $i)
If @error Then ExitLoop
$key = $root & "\" & $key & "\Connection"
$val = RegRead($key,"PnpInstanceID")
$dim = StringSplit ($val, "\")
If $dim[1]="ROOT" AND $dim[2]="NET" AND StringIsDigit($dim[3]) Then
$val = RegRead ($key,"Name")
RegWrite ($key,"Name","REG_SZ","VLN" & ($dim[3]+1))
EndIf
$i=$i+1
WEnd

W_W
01-03-2006, 04:14
ГЕНИАЛЬНО! С меня пиво, полюбому :biggrin:

Мои проблемы решены, большое спасибо
Почти все запихнул в один скрипт, правдв почему-то девкон из скрипта не работает, ну и бог с ним


RunWait ("DevCon install %systemroot%\inf\netloop.inf *msloop")
$root="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}"
$i=1
While 1
$key = RegEnumKey($root, $i)
If @error Then ExitLoop
$key = $root & "\" & $key & "\Connection"
$val = RegRead($key,"PnpInstanceID")
$dim = StringSplit ($val, "\")
If $dim[1]="ROOT" AND $dim[2]="NET" AND StringIsDigit($dim[3]) Then
$val = RegRead ($key,"Name")
RegWrite ($key,"Name","REG_SZ","VLN" & ($dim[3]+1))
EndIf
$i=$i+1
WEnd
run ("netsh interface ip set address VLN static 192.168.1.1 255.255.255.0")

amel27
01-03-2006, 05:14
Почти все запихнул в один скрипт, правдв почему-то девкон из скрипта не работаетПопробуй так:
RunWait ("DevCon install " & @WindowsDir & "\inf\netloop.inf *msloop")

amel27
01-03-2006, 12:34
run ("netsh interface ip set address VLN static 192.168.1.1 255.255.255.0")
А почему "VLN"? Скрипт вроде переименовывает по порядку в VLN1, VLN2, ...

W_W
02-03-2006, 10:33
А по барабану :) Переименовывает действительно в 1, 2,3 и т.п., но т.к. мне нужно установить и использовать только 1, то можно и так




© OSzone.net 2001-2012