![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Маленькие хитрости автоустановки |
|
Маленькие хитрости автоустановки
|
(*.*) Сообщения: 36572 |
Маленькие хитрости автоустановки Доброго времени суток! Предлагаю собирать в этой теме маленькие хитрости, которые мы используем при создании диска автоустановки Windows (и приложений). Это могут быть скрипты или их элементы, утилиты с очень кратким описанием и примерами использования и т.д. Короче, всякие мелочи, которые упрощают вам жизнь и используются для оригинального решения различных задач во время автоустановки. Если у вас есть под рукой источник, из которого вы почерпнули трюк, опубликуйте его - возможно, кто-то захочет получить дополнительную информацию из первоисточника. Если речь идет об утилите, то желательно дать ссылку на домашнюю страницу или любую другую страницу, откуда можно загрузить последнюю версию. На сайте (new!):
Локальные правила темы
|
|
------- Отправлено: 06:26, 22-12-2005 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать SAOPP А что смущает?
|
Отправлено: 11:04, 29-05-2006 | #61 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Прочитал про Sleep.exe.
Подскажите, куда закинуть эту утилитку? В $OEM$\$$\System32\...? |
Отправлено: 16:17, 29-05-2006 | #62 |
Ветеран Сообщения: 916
|
Профиль | Отправить PM | Цитировать LeoRush
? |
------- Отправлено: 19:11, 29-05-2006 | #63 |
(*.*) Сообщения: 36572
|
Профиль | Сайт | Отправить PM | Цитировать SAOPP
Цитата:
maugli Цитата:
|
||
------- Отправлено: 20:12, 29-05-2006 | #64 |
Ветеран Сообщения: 916
|
Профиль | Отправить PM | Цитировать Vadikan
Спасибо, я просто не отписался в этой теме... я давно уже всё перепробовал и отписывался в другой теме на соответствующий вопрос ![]() |
------- Отправлено: 20:15, 29-05-2006 | #65 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Часто при автоустановке желательно знать наличие модема, пишущего CD или DVD, ноутбук ли это, или стационарная машина, а иногда и просто требуется определить наличие конкретной железки!
Лень заморачиваться, поэтому привожу оригинальные autoit-скрипы, идею которых при желании всегда можно реализовать с помощью обычных батников. Наличие модема RegRead('HKLM\SYSTEM\CurrentControlSet\Services\Modem\Enum','0') If Not @error Then ;настройка соединений, установка download'еров и т.д. … EndIf ;Наличие CD-RW If RegRead('HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning','DriveIndex')='' Then Exit ;Наличие DVD-RW (проверен недостаточно) If RunWait('@ComSpec@ /C reg query "HKLM\SYSTEM\CurrentControlSet\Enum\IDE" /s | find "-RW"','',0)<>0 Then Exit ;установка Nero… If FileExists('%WINDIR%\system32\drivers\CmBatt.sys') Then RunWait('regedit /s nast_powerNB.reg') If FileExists('%WINDIR%\system32\drivers\asacpi.sys') Then RunWait('regedit /s nast_powerAMD.reg') $net=RegRead('$HKLM_CC$\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001','NetCfgInstanceId') If Not @error Then ;настройка сети Else ;убрать значок "Сетевое окружение" с Рабочего стола RegWrite('HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer','NoNetHood','REG_BINARY','00000000') EndIf [S]Изюм в том, что заданные в unattend.txt параметры разрешения могут быть избыточными, или же могут "не подхватиться" драйвера…[/S] $screen=1024 If RunWait('@ComSpec@ /C reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses" /s | find "DefaultSettings.XResolution" | find "500"','',0)=0 Then $screen=1280 |
Отправлено: 00:26, 19-06-2006 | #66 |
Старожил Сообщения: 387
|
Профиль | Отправить PM | Цитировать Sanja Alone
К сожалению не получается сделать, чтобы Ваш файл корректно работал у меня. Не работает список апдейтов и не извлекает серийник Тестировал на дистрибутиве лежащем на винте D:\XPCD\WINDISTRIB\WINXPU\ Вот слегка отредактированный вариант (поменял пути) @echo off rem <--- ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ ---> rem полный путь и имя файла oeminfo set OEMFILE=%SYSTEMROOT%\system32\oeminfo.ini rem маркерный файл для определения cdrom-а set TAGFILE=WIN51 rem производитель set MANUFACTURER=Ivan rem модель set MODEL=Unattended XP DVD rem кол-во апдейтов в одной строке set UPMAX=6 rem вписывать или нет серийник в файл oeminfo (1 - да; 0 - нет) set KEY=1 rem сделать ли видимым серийник в окне "Сведения о поддержке" (1 - да; 0 - нет) set KEYISVISIBLE=0 rem присвоение переменной CDROM буквы cdrom-а, определенной по маркерному файлу for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%d:\%TAGFILE% set CDROM=%%d: rem каталог с апдейтами set UPDATESDIR=d:\XPCD\WINDISTRIB\WINXPU\I386\SVCPACK rem маска для отбора файлов в каталоге апдейтов (*.* - все; *.cat - только каталоги безопасности; KB*.* - только начинающиеся с KB и т.п.) set UPDATESMASK=*.* rem Обеспечение правильности отработки мультизагрузочного CD/DVD set WINNTSIF=d:\XPCD\1xpu\winnt.sif rem <--- ОКОНЧАНИЕ ОБЪЯВЛЕНИЯ ПЕРЕМЕННЫХ ---> rem Т.к. используется символ ">", то существующий файл oeminfo.ini будет перезаписан; rem т.о. нет нужды его предварительно удалять echo [General]> "%OEMFILE%" echo Manufacturer=%MANUFACTURER%>> "%OEMFILE%" echo Model=%MODEL%>> "%OEMFILE%" rem Достаем из winnt.sif (winn1.sif) серийный номер rem Это работает независимо от вида записи ProductKey=XXXX или ProductKey = XXXX (с пробелами) if defined WINNTSIF ( if %KEY% == 1 ( for /F "tokens=3 delims==] " %%j in ('find /I /N "ProductKey" %WINNTSIF%') do ( if %KEYISVISIBLE% == 1 ( echo [Support Information]>> "%OEMFILE%" echo Line1=ProductKey: %%j>> "%OEMFILE%" echo Line2=>> "%OEMFILE%" set i=3 ) else ( echo [OEMSpecific]>> "%OEMFILE%" echo SerialNo=%%j>>"%OEMFILE%" echo [Support Information]>> "%OEMFILE%" set i=1 )) ) else ( echo [Support Information]>> "%OEMFILE%" set i=1 ) ) else ( echo [Support Information]>> "%OEMFILE%" set i=1 ) rem Дата и время инсталляции ОС в формате DD.MM.YYYY (hh:mm), например 20.05.2005 (14:37) echo Line%i%=Installation Date and Time: %date% (%time:~0,-6%)>> "%OEMFILE%" set /A i+=1 echo Line%i%=>> "%OEMFILE%" set /A i+=1 echo Line%i%=Installed Components and Updates:>> "%OEMFILE%" set /A i+=1 echo Line%i%=>> "%OEMFILE%" set /A i+=1 rem Определение общего кол-ва файлов в каталоге апдейтов соотв-щих маске (для рус. и англ. Винды) for /F "usebackq tokens=1" %%m in (`dir %UPDATESDIR%\%UPDATESMASK% ^| find /i "file(s)"`) do (set numfiles=%%m) if not defined numfiles ( for /F "usebackq tokens=1" %%m in (`dir %UPDATESDIR%\%UPDATESMASK% ^| find /i "файлов"`) do (set numfiles=%%m) ) rem вспомогательные переменные set l=0 set c=0 rem Список апдейтов (имена всех файлов без расширений) rem (без ключевого слова usebackq команда dir будет воспринята как rem имя файла для подстановки в цикл FOR с последующей выдачей сообщения rem об отсутствии такого файла в текущем каталоге). for /F "usebackq tokens=1 delims=." %%j in (`dir /B %UPDATESDIR%\%UPDATESMASK%`) do ((set kbname=%%j) & (call :myprint)) rem Выход из этого пакетного файла. rem Команда GOTO принимает в качестве метки перехода строку :EOF, которая вызывает rem передачу управления в конец текущего пакетного файла. Это позволяет легко rem выйти из пакетного файла без определения каких-либо меток. (из справки по goto) goto :EOF :myprint if %c% == 0 ( set str=%kbname% ) else ( set str=%str% %kbname% ) set /A c+=1 if %c% == %UPMAX% ( echo Line%i%=%str%>> "%OEMFILE%" set /A i+=1 set /A l+=1 set str= set c=0 set /A tmp=numfiles-l*UPMAX ) else ( if %numfiles% LSS %UPMAX% ( if %c% == %numfiles% ( echo Line%i%=%str%>> "%OEMFILE%" ) ) if %tmp% LSS %UPMAX% ( if %c% == %tmp% ( echo Line%i%=%str%>> "%OEMFILE%" ) ) ) |
Отправлено: 11:04, 14-08-2006 | #67 |
Ищу Человека… Сообщения: 420
|
Профиль | Сайт | Отправить PM | Цитировать qeraser
Цитата:
Цитата:
|
||
------- Отправлено: 09:40, 15-08-2006 | #68 |
Старожил Сообщения: 387
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось qeraser, 15-08-2006 в 10:36. Отправлено: 09:58, 15-08-2006 | #69 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Можно ли в завершении процесса установки, проиграть любимый музыкальный файл на заднем плане???
Т.е. чтобы играла музыка, а проигрыватель был невидим??? |
------- Отправлено: 19:52, 24-08-2006 | #70 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Маленькие скрипты на каждый день | [mzd] | Общий по Linux | 26 | 09-03-2009 20:09 | |
Прочее - Хитрости с сетью! <попытка отъесть полосу пропускания> | Martion | Сетевые технологии | 8 | 11-12-2008 17:26 | |
Разное - Хитрости Windows Vista | Ydav | Microsoft Windows Vista | 1 | 05-04-2008 20:09 | |
Internet Explorer 7 - "Советы и маленькие хитрости" | OSZone News | Новости и события Microsoft | 3 | 02-04-2008 09:10 | |
Маленькие окна браузера | 4ay-nik | Microsoft Windows 2000/XP | 1 | 31-01-2007 22:25 |
|