| ||
извлечение файлов |
обновление общей папки Windows |
завершение интеграции |
[Data] AutoPartition="1" MsDosInitiated="1" UnattendedInstall="Yes" floppyless="1" OriSrc="\\%SERVERNAME%\RemInst\%INSTALLPATH%" OriTyp="4" LocalSourceOnCD=1 [SetupData] ; параметры запуска Windows с tftp OsLoadOptions="/noguiboot /fastdetect" ; откуда будет происходить сетевая установка SetupSourceDevice = "\Device\LanmanRedirector\%SERVERNAME%\RemInst\wxp-pro.rus" [GuiUnattended] AdminPassword=04764ffa20b75a4de8a1028ae36ad3b435b51404e78ddb5d3190aad3b435b514 EncryptedAdminPassword=Yes OEMSkipRegional=1 TimeZone=145 OemSkipWelcome=1 [Unattended] AutoActivate=No CrashDumpSetting=0 ; устанавливать драйвера без подписи DriverSigningPolicy=Ignore UpdateInstalledDrivers=Yes FactoryMode=No FileSystem=LeaveAlone Repartition=Yes ; путь поиска дополнительных драйверов при определении PNP устройств во время установки Windows OemPnPDriversPath="windows\drv\chipset\intel;windows\drv\net\intel;windows\drv\video\intel8;windows\drv\video\intel9;windows\drv\audio" OemPreinstall=Yes OemSkipEula=Yes TargetPath=\windows UnattendMode=FullUnattended UnattendSwitch=Yes WaitForReboot=No NoWaitAfterTextMode=1 NoWaitAfterGUIMode=1 ConfirmHardware=Yes NtUpgrade=No OverwriteOemFilesOnUpgrade=No [Display] BitsPerPel=16 Xresolution=800 YResolution=600 [PCHealth] ; не слать отчеты об ошибках ER_Display_UI=0 ER_Enable_Applications=None ER_Enable_Kernel_Errors=0 ER_Enable_Reporting=0 ER_Enable_Windows_Components=1 ER_Force_Queue_Mode=0 ER_Include_MSApps=0 ER_Include_Shutdown_Errs=0 ; включить удаленный помощник RA_AllowFullControl=1 RA_AllowToGetHelp=1 RA_AllowUnsolicited=1 RA_MaxTicketExpiry=28800 [RegionalSettings] LanguageGroup=1,5,2 Language=00000419 SystemLocale=00000419 UserLocale=00000419 UserLocale_DefaultUser=00000419 InputLocale=0409:00000409,0419:00000419 InputLocale_DefaultUser=0409:00000409 [Shell] DefaultStartPanelOff=Yes DefaultThemesOff=Yes [TapiLocation] CountryCode=7 Dialing=Tone AreaCode=8212 LongDistanceAccess="0" [TerminalServices] ; разрешить RDP AllowConnections=1 [UserData] ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX FullName="anonymous" OrgName="anonymous" ; случайным образом выбирать имя компьютера - мы поменяем его на рельное при окончании установки ComputerName=* [URL] AutoConfig=1 [Identification] JoinWorkgroup=komi [Networking] ProcessPageSections=Yes InstallDefaultComponents=No [NetAdapters] Adapter1=params.Adapter1 [params.Adapter1] ConnectionName="MTS Komi network" INFID=* [NetClients] MS_MSClient=params.MS_MSClient [NetServices] MS_SERVER=params.MS_SERVER [NetProtocols] MS_TCPIP=params.MS_TCPIP [params.MS_TCPIP] ; DNSDomain=komi.mts.ru DNS=Yes UseDomainNameDevolution=No EnableLMHosts=No AdapterSections=params.MS_TCPIP.Adapter1 [params.MS_TCPIP.Adapter1] SpecificTo=Adapter1 DHCP=Yes WINS=No NetBIOSOptions=0 ; компоненты Windows для установки [Components] accessopt=Off calc=On charmap=On chat=Off clipbook=Off deskpaper=Off dialer=On fax=Off freecell=Off hearts=Off hypertrm=On ; спрятать Internet Explorer IEAccess=Off indexsrv_system=Off media_clips=On media_utopia=Off minesweeper=Off mousepoint=Off msnexplr=Off mswordpad=On netcis=Off netoc=Off objectpkg=Off ; спрятать Outlook Express OEAccess=Off paint=On pinball=Off rec=Off solitaire=Off spider=Off ; спрятать Windows Messenger WMAccess=Off templates=Off zonegames=Off [NetOptionalComponents] Beacon=0 [WindowsFirewall] Profiles=WindowsFirewall.Standard LogFile="%WINDIR%\pfirewall.log" LogSize=4096 LogDroppedPackets=1 LogConnections=1 [WindowsFirewall.Standard] Type=3 Mode=1 Exceptions=1 Notifications=1 MulticastBroadcastResponse=0 Services=WindowsFirewall.AllSrv IcmpSettings=WindowsFirewall.EchoRequest ; административная сеть 10.50.0.0/24 имеет полный доступ ко всем компьютерам [WindowsFirewall.AllSrv] Type=5 Mode=1 Scope=2 Addresses=10.50.0.0/24 ; остальным только ping :-) [WindowsFirewall.EchoRequest] Type=8 Mode=1 ; при установке удалять все существующие разделы и использовать весь диск для установки [RemoteInstall] Repartition=Yes UseWholeDisk=Yes [OSChooser] Description="Windows Professional - стандартная установка" Help="Будет выполнена установка Windows Professional в стандартной конфигурации." LaunchFile="%INSTALLPATH%\%MACHINETYPE%\templates\startrom.com" ImageType=Flat ; EOFПро параметры без комментариев читайте в deploy.chm и на сайте технической поддержки Microsoft.
[Commands] "команда_1" "команда_2" . . "команда_x"Где "команда_1", "команда_2" и т. д. это команды, исполняемые в соответствующем порядке на этапе графической установки из файла Cmdlines.txt . Следует обратить внимание на то, что все команды должны быть заключены в кавычки. В отношении файла Cmdlines.txt действует ряд ограничений. При обработке файла Cmdlines.txt не должно быть пользователей, вошедших в систему, а сетевые подключения должны быть отключены. Все данные о пользователе записываются в соответствующий раздел реестра, и все создаваемые впоследствии пользователи наследуют эти данные. Файлы, необходимые для запуска приложения или служебной программы, должны храниться в дистрибутивном общем ресурсе. Кроме того, команды не могут содержать кавычек. Установка приложения с помощью файла Cmdlines.txt должна выполняться в автоматическом режиме таким образом, чтобы пользователю не приходилось указывать сведения о данном приложении. Итак, для установки каких-либо программ сначала необходимо подготовить их дистрибутивы для пакетной установки без взаимодействия с пользователем.
размещение и ключ продукта |
лицензионное соглашение |
ход выполнения установки |
завершение установки |
лицензионное соглашение |
извлечение файлов |
подготовка к установке |
подготовка к установке |
копирование новых файлов |
завершение установки |
custom installation wizard |
select MSI file |
open MST file |
select MST file |
install path |
select install components |
modify shortcuts |
save changes |
finish |
подготовка к установке |
подготовка к установке |
Acrobat Reader setup |
Acrobat Reader last |
Microsoft .NET framework |
лицензионное соглашение |
добро пожаловать! |
тип установки |
информация о пользователе |
информация о пользователе |
каталог установки |
группа программ |
копирование файлов |
конфигурация |
завершение установки |
[Commands] "wscript /B off.vbs" "addon\of\setup.exe TRANSFORMS=addon\of\mtskomi.mst /qn" "addon\mz\mozilla.exe -ma -ms -ira -hideBanner" "msiexec /i addon\ar\ar.msi ALLUSERS=1 /qn" "msiexec /i addon\dn\netfx.msi ALLUSERS=1 /qn" "addon\mz\flash.exe /s" "addon\wr\winrar.exe /s" "addon\or\ora.exe" "wscript /B jdk.vbs" "addon\1c\DISK1\setup.exe /s /sms /f1addon\1c\DISK1\setup.iss" "regedit /s default.reg" "regedit /s mozilla.reg" "wsname /N:%DNS /NOREBOOT" "wscript /B welcome.vbs"Итак, мы создали дистрибутив, содержащий необходимые для работы программные продукты и средства для их автоматической установки.
option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option PXE.discovery-control code 6 = unsigned integer 8; option PXE.discovery-mcast-addr code 7 = ip-address; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; option vendor-class-identifier "PXEClient"; vendor-option-space PXE; option PXE.mtftp-ip 0.0.0.0; option PXE.mtftp-tmout 60; filename "startrom.com"; }В результате, получив запрос от PXE клиента, наш сервер выдаст ему (помимо прочих настроек) имя файла загрузчика: startrom.com
tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -m /usr/local/etc/tftpd.rules -v -s /home/tftpbootв /usr/local/etc/tftpd.rules мы опишем правила преобразование имен файлов:
rg \\ / rg A a rg B b rg C c rg D d rg E e rg F f rg G g rg H h rg I i rg J j rg K k rg L l rg M m rg N n rg O o rg P p rg Q q rg R r rg S s rg T t rg U u rg V v rg W w rg X x rg Y y rg Z zВ результате получив в запросе имя файла \System32\PCpci5.Sys TFTP сервер будет искать файл /system32/pcpci5.sys . Скопируем наш дистрибутив на сервер, в каталог /home/tftpboot/wxp-pro.rus (имя каталога wxp-pro.rus должно совпадать с путевым именем, которое мы описали как SetupSourceDevice секции [SetupData] файла unattend.txt ). Как Вы уже поняли все имена каталогов и файлов в /home/tftpboot/wxp-pro.rus/i386 нужно перевести в нижний регистр. Это можно сделать при помощи FAR Manager или простым shell скриптом:
#!/bin/sh pwd for i in * ; do lower=`echo $i | tr \'[:upper:]\' \'[:lower:]\'` if [ "$lower" != "$i" ] ; then echo "$i -\> $lower" mv -f "$i" "$lower" fi done for i in * ; do test -d "$i" && ( cd "$i" ; $0 ) doneДля сетевой загрузки Windows XP нужно скопировать из дистрибутива в /home/tftpboot следующие файлы: bootfont.bin, ntdetect.com, setupldr.bin и startrom.com . После чего файл setupldr.bin нужно переименовать в ntldr и пропатчить при помощи fixloader.py , который входит в состав binl сервера:
[global] null passwords = true [reminst] path = /home/samba/reminst browseable = no read only = No guest ok = Yes valid users = guest,@admins write list = @adminsТ.к. этот ресурс будет обеспечивать доступ к файлам, которые уже существуют в /home/tftpboot/wxp-pro.rus , создадим символическую ссылку /home/samba/reminst/wxp-pro.rus указывающую на /home/tftpboot/wxp-pro.rus .
меню сетевой загрузки |
DHCP запрос PXE клиента |
Sep 23 08:00:53 server in.tftpd[17998]: RRQ from 10.50.7.77 filename startrom.com Sep 23 08:00:53 server in.tftpd[17998]: tftp: client does not accept options Sep 23 08:00:53 server in.tftpd[17999]: RRQ from 10.50.7.77 filename startrom.comполучит его и передаст ему управление. В дистрибутиве есть два загрузчика: startrom.com и startrom.n12 , различие между которыми состоит в том, что startrom.com в течении 5 секунд просит подтверждения сетевой загрузки у пользователя путем нажатия клавиши F12, а startrom.n12 сразу производит сетевую загрузку Windows без подтверждения пользователя. Кроме того, Вы можете организовать сетевую загрузку при помощи других программ, например, bpbatch или pxelinux, возможности которых намного превышают возможности startrom . Итак, после запуска программа startrom.com в течении 5 секунд ждет нажатия клавиши F12:
startrom.com в ожидании |
завершение работы PXE клиента |
Sep 23 11:09:14 server in.tftpd[25104]: RRQ from 10.50.7.77 filename ntldrntldr загрузит с TFTP сервера файлы bootfont.bin (русский шрифт) и ntdetect.com :
Sep 23 11:09:14 server in.tftpd[25105]: RRQ from 10.50.7.77 filename BOOTFONT.BIN remapped to bootfont.bin Sep 23 11:09:14 server in.tftpd[25106]: RRQ from 10.50.7.77 filename ntdetect.comВ свою очередь, ntdetect.com производит начальную дигностику оборудования, во время которой он выясняет производителя (Vendor ID) и модель (PCI ID) сетевой карты:
ntdetect.com |
Sep 23 11:19:14 server in.tftpd[25542]: RRQ from 10.50.7.77 filename winnt.sifи загрузчик шлет запрос binl серверу в котором сообщает сведения о сетевой карте и ожидает получить ответ, содержащий имя драйвера. binl сервер получает запрос и ищет в devlist.cache указанного производителя и модель карты. Если описание этой карты присутствовало в одном из INF файлов, binl сервер шлет ответ клиенту, в котором содержится имя драйвера сетевой карты:
Recv NCQ len = 48 NCQ Driver request [R] Vid: 0x1022 [R] Pid: 0x2000 [R] rev_u1 = 0x2 [R] rev_u2 = 0x0 [R] rev_u3 = 0x0 [R] rev = 0x10 [R] rev2 = 0x88 [R] subsys = 0x20001022 Checking PCI\VEN_1022&DEV_2000&SUBSYS_20001022 Checking PCI\VEN_1022&DEV_2000 Found PCI\VEN_1022&DEV_2000 in netamd2.inf [S] Packet len = 0xb8 (184) [S] Result code: 0x0 [S] type: 0x2 [S] base offset = 0x24 (36) [S] drv_off = 0x50 (80) [S] srv_off: 0x6a (106) -> 98 from start [S] plen: 0x4a (74) [S] p_off: 0x76 (118) -> 110 from start [S] hid: PCI\VEN_1022&DEV_2000 - Len 0x15 (21) [S] drv: pcntpci5.sys - Len 0xc (12) [S] srv: PCnet - Len 0x5 (5) [S] Description (REG_EXPAND_SZ [2]) = AMD PCNET PCI Ethernet [S] Characteristics (REG_SZ [1]) = 132 [S] BusType (REG_SZ [1]) = 5 [S] Total Params: 3Если описание карты отсутствует, клиент получает ответ "Driver not found":
Recv NCQ len = 48 NCQ Driver request [R] Vid: 0x1022 [R] Pid: 0x2000 [R] rev_u1 = 0x2 [R] rev_u2 = 0x0 [R] rev_u3 = 0x0 [R] rev = 0x10 [R] rev2 = 0x88 [R] subsys = 0x20001022 Checking PCI\VEN_1022&DEV_2000&SUBSYS_20001022 Checking PCI\VEN_1022&DEV_2000 Driver not foundи сетевая загрузка на этом прекращается:
сетевая карта неизвестна |
Sep 23 11:38:24 server in.tftpd[26571]: RRQ from 10.50.7.77 filename \wxp-pro.rus\i386\pcntpci5.sy_ remapped to /wxp-pro.rus/i386/pcntpci5.sy_ Sep 23 11:38:24 server in.tftpd[26572]: RRQ from 10.50.7.77 filename \wxp-pro.rus\i386\pcntpci5.sys remapped to /wxp-pro.rus/i386/pcntpci5.sysНо наш дистрибутив содержит только установочные файлы, а все драйвера содержатся внутри файла wxp-pro.rus/i386/driver.cab . Поэтому необходимо вручную положить в каталог wxp-pro.rus/i386 SYS файлы для каждой сетевой карты. Если этого не сделать, то загрузка прервется с сообщением:
драйвер не найден |
загрузка драйверов устройств |
проверка конфигурации диска |
создание и форматирование раздела |
проверка раздела |
копирование файлов |
первая фаза установки |
начало второй фазы установки |
подготовка к установке |
установка устройств |
установка компонент Windows XP |
регистрация компонентов |
завершение установки |
приглашение |
добавление в домен |
после перезагрузки |
категории политик |
default пользователь |
default пользователь |
default пользователь |
default компьютер |
default компьютер |
default компьютер |
default компьютер |
default компьютер |
скрытые файлы |
профили |
копирование профиля |
OPTION EXPLICIT ON ERROR RESUME NEXT Dim Wsh, Fso, Net, Env, Reg, HKCM, F, Ret, Prn, i, Lnk Dim MyDocuments, UserpPofile, Download, Veda, RegPath, QuickLaunch Dim DiskC, OraPath, XgfPath Set Wsh = CreateObject("WScript.Shell") Set Fso = CreateObject("Scripting.FileSystemObject") Set Net = CreateObject("WScript.Network") Set Env = Wsh.Environment("PROCESS") set Reg = GetObject("winmgmts://./root/default:StdRegProv") UserpPofile = Env("USERPROFILE") DiskC = Env("SystemDrive") MyDocuments = "H:\мои документы" Download = UserpPofile & "\Download" Veda = UserpPofile & "\Veda" OraPath = DiskC & "\opt\ora" XgfPath = DiskC & "\opt\xgf" QuickLaunch = UserpPofile & "\Application Data\Microsoft\Internet Explorer\Quick Launch" HKCM = &H80000001 RegPath = "Software\1C\1Cv7\7.7" ' My Documents if not Fso.FolderExists(MyDocuments) then Set F = Fso.CreateFolder(MyDocuments) end if ' Download dir for Mozilla if not Fso.FolderExists(Download) then Set F = Fso.CreateFolder(Download) end if ' Consultant+ if not Fso.FolderExists(Veda) then Set F = Fso.CreateFolder(Veda) end if Set F = Fso.GetFolder(Veda) F.attributes = F.attributes + 2 ' 1C tree and tip Ret = Reg.CreateKey(HKCM, RegPath) Ret = Reg.CreateKey(HKCM, RegPath & "\Options\TIPOTHDAYGLB") Ret = Reg.CreateKey(HKCM, RegPath & "\Defaults") Ret = Reg.CreateKey(HKCM, RegPath & "\Titles") Ret = Reg.SetStringValue(HKCM, RegPath & "\Options\TIPOTHDAYGLB", "TipOfTheDayGlobal", "0") ' My Documents Ret = Reg.SetStringValue(HKCM, "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Personal", MyDocuments) Ret = Reg.SetStringValue(HKCM, "Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", "Personal", MyDocuments) ' Remove network printer mappings Set Prn = Net.EnumPrinterConnections for i = 0 to Prn.Count - 1 step 2 if Prn.Item(i) = "Samba Printer Port" then Net.RemovePrinterConnection Prn.Item(i+1), true, true end if next if Fso.FolderExists(OraPath) and Fso.FolderExists(XgfPath) then ' CBOSS shortcuts set Lnk = Wsh.CreateShortcut(QuickLaunch & "\CBOSS (Рабочая база).lnk") Lnk.TargetPath = "\\server\cboss\setcboss\setcboss.exe" Lnk.Arguments = "komi" Lnk.WorkingDirectory = "\\server\cboss\setcboss" Lnk.Description = "Не копируйте и не изменяйте этот ярлык!" Lnk.Save end if ' Map network drives if Fso.DriveExists("x:") Then Ret = Net.RemoveNetworkDrive("x:") end if Ret = Net.MapNetworkDrive("x:", "\\server\share") ' Setup 1C bases Ret = Reg.SetStringValue(HKCM, RegPath & "\Titles", "\\server\1c\base1\", "МТС-РК (Коммунистическая 30)") Ret = Reg.SetStringValue(HKCM, RegPath & "\Defaults", "LastTitle", "МТС-РК (Коммунистическая 30)") ' Setup prtinters Net.AddWindowsPrinterConnection("\\server\k30cbabon") Net.AddWindowsPrinterConnection("\\server\k30hpabon") Net.AddWindowsPrinterConnection("\\server\k30hpsales") Net.SetDefaultPrinter("\\server\k30cbabon")
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |