|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Добавление OEM информации - все вопросы |
|
[решено] Добавление OEM информации - все вопросы
|
Ветеран Сообщения: 1007 |
|
|
Отправлено: 16:47, 18-05-2005 |
Ветеран Сообщения: 1417
|
Профиль | Отправить PM | Цитировать Я тут того...
![]() Быстренько скомбинировал "один из двух" (от Sanja Alone и alcos) ![]() @echo off ::Магические слова :) setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION ::<----- ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ -----> ::Расположение временных файлов set HF=%SystemDrive% ::Полный путь и имя файла oeminfo set OEMFILE=%SYSTEMROOT%\system32\oeminfo.ini ::Производитель set MANUFACTURER=YuriPet ::Количество обновлений в одной строке (по ум. 6) set UPMAX=6 ::Вписывать или нет серийник в файл oeminfo (1 - да; 0 - нет) set KEY=1 ::Сделать ли видимым серийник в окне "Сведения о поддержке" (1 - да; 0 - нет) set KEYISVISIBLE=0 ::Маркерный файл для определения CDROM-а set TAGFILE=WIN51 ::Присвоение переменной 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:&& goto metka :metka ::Обеспечение правильности отработки мультизагрузочного CD/DVD if exist %CDROM%\I386\winna.sif ( set WINNTSIF=%CDROM%\I386\winna.sif ) else ( if exist %CDROM%\I386\winnt.sif ( set WINNTSIF=%CDROM%\I386\winnt.sif ) ) ::Определяем язык ОС (419 - рус.) ::!ВАЖНО! - в кач-ве разделителя нужно указать только символ табуляции ::(ASCII-код символа после знака "равно" должен быть 09) for /F "tokens=3 delims= " %%j in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v Locale') do (set lang=%%j) ::<----- ОКОНЧАНИЕ ОБЪЯВЛЕНИЯ ПЕРЕМЕННЫХ -----> ::Удаление существующих файлов с именами, совпадающими с теми, что используются в качестве временных if exist %HF%\Prog.txt del %HF%\Prog.txt if exist %HF%\Updates.txt del %HF%\Updates.txt ::Считываем всю строку (usebackq - без кавычек) ключа "BuildLab" из реестра и присваеваем её переменной "BUILD" FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLab`) do set BUILD=%%i ::Т.к. используется символ ">", то существующий файл oeminfo.ini будет перезаписан; ::т.о. нет нужды его предварительно удалять echo [General]> "%OEMFILE%" if %lang% == 00000419 ( echo Manufacturer=Установил: %MANUFACTURER%>> "%OEMFILE%" echo Model=Сборка: %BUILD:~-21%>> "%OEMFILE%" ) else ( echo Manufacturer=Manufacturer: %MANUFACTURER%>> "%OEMFILE%" echo Model=Build: %BUILD:~-21%>> "%OEMFILE%" ) ::Достаем из winnt.sif (winna.sif) серийный номер ::Это работает независимо от вида записи ProductKey=XXXX или ProductKey = XXXX (с пробелами) ::Если номер не будет виден в окне "Сведения о поддержке" ::то в файле oeminfo.ini номер будет в строке SerialNo=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%" if %lang% == 00000419 ( echo Line1=Ключ продукта: %%j>> "%OEMFILE%" ) else ( echo Line1=Product Key: %%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 ) ::Произвольная информация, для отображения в окне "Сведения о поддержке" echo Line%i%=Установлена операционная система Windows XP Professional>> "%OEMFILE%" set /A i+=1 echo Line%i%=с интегрированным Service Pack 2, и последующиими пакетами>> "%OEMFILE%" set /A i+=1 echo Line%i%=обновлений системы защиты и программного обеспечения.>> "%OEMFILE%" set /A i+=1 echo Line%i%=>> "%OEMFILE%" set /A i+=1 ::Считываем из реестра наименования установленных программ и обновлений и выводим во временный файл Prog.txt for /F "usebackq tokens=7 delims=\" %%z IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"`) do echo %%z >> %HF%\Prog.txt ::Выделяем из файла Prog.txt обновления (с именем "KB*") и выводим во временный файл Updates.txt for /F "usebackq eol=! tokens=*" %%g IN (`find /i "KB" %HF%\Prog.txt`) do echo %%g >> %HF%\Updates.txt ::Считываем из реестра информацию о "DotNetFx 1.1" и дописываем в файл Updates.txt for /F "usebackq eol=! tokens=7* delims=\" %%y IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Updates\.NETFramework\1.1"`) do @call :prov "%%y" ::Считываем из реестра информацию о "DotNetFx 2.0" и дописываем в файл Updates.txt for /F "usebackq eol=! tokens=7* delims=\" %%k IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 2.0"`) do @call :prov1 "%%k" ::Считываем из реестра информацию о "MSXML 6.0 Parser (KB925673)" и дописываем в файл Updates.txt for /F "usebackq tokens=* delims==" %%r IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{031816E0-7ED4-4F9B-986D-CE9E1A1CC6E5}" /v DisplayName`) do set PS=%%r echo %PS:~-9,8% >> %HF%\Updates.txt ::Считываем из реестра информацию о "Клиент управления правами Windows (KB839178)" и дописываем в файл Updates.txt FOR /F "usebackq tokens=* delims==" %%r IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B820A362-C3CF-411F-880B-9BF5E992B25E}" /v HelpLink`) do set CL=%%r echo KB%CL:~-6,8% >> %HF%\Updates.txt ::Определяем общее количество обновлений set numupd=0 for /F "usebackq skip=1 tokens=*" %%n IN (%HF%\Updates.txt) do set /A numupd+=1 ::Дата инсталляции ОС (обновления) в формате DD.MM.YYYY, например 20.05.2005 if %lang% == 00000419 ( echo Line%i%=Дата установки ^(обновления^): %date%>> "%OEMFILE%" ) else ( echo Line%i%=Installation ^(updation^) date: %date%>> "%OEMFILE%" ) set /A i+=1 echo Line%i%=>> "%OEMFILE%" set /A i+=1 if %lang% == 00000419 ( echo Line%i%=Установлены обновления ^(%numupd%^):>> "%OEMFILE%" ) else ( echo Line%i%=Installed Updates ^(%numupd%^):>> "%OEMFILE%" ) set /A i+=1 echo Line%i%=>> "%OEMFILE%" set /A i+=1 ::вспомогательные переменные set l=0 set c=0 ::Считываем с файла "Updates.txt" строки и передаём их переменной "kbname1" в тело цикла через переменную "j" FOR /F "usebackq skip=1 tokens=*" %%j IN (%HF%\Updates.txt) do ((set kbname1=%%j) & (call :myprint)) del /q %HF%\Prog.txt del /q %HF%\Updates.txt goto :EOF :myprint set kbname=%kbname1:~0,8% 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=numupd-l*UPMAX ) else ( if %numupd% LSS %UPMAX% ( if !c! == %numupd% ( echo Line%i%=!str!>> "%OEMFILE%" ) ) if !tmp! LSS %UPMAX% ( if !c! == !tmp! ( echo Line%i%=!str!>> "%OEMFILE%" ) ) ) goto :eof :prov1 set k=%~1 echo %k% >> %HF%\Updates.txt :prov set u=%~1 echo KB%u:~-6% >> %HF%\Updates.txt |
------- Последний раз редактировалось YuriPet, 25-10-2006 в 09:18. Причина: Учтено замечание [b]Sanja Alone[/b] Отправлено: 09:48, 24-10-2006 | #81 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Покинул форум Сообщения: 3254
|
YuriPet
Слушай вот такой прикол сделать чтобы из реестра считывалась инфа например о материнке, о видяхе, то есть об всем оборудывании стоящем на данном компьтере и добавлялась на экран с YuriPet ![]() |
Отправлено: 10:03, 24-10-2006 | #82 |
Ветеран Сообщения: 1417
|
Профиль | Отправить PM | Цитировать prokazzza
Думать надо... ![]() |
------- Отправлено: 10:06, 24-10-2006 | #83 |
Покинул форум Сообщения: 3254
|
YuriPet
Думай ![]() |
Отправлено: 10:10, 24-10-2006 | #84 |
Ветеран Сообщения: 1417
|
Профиль | Отправить PM | Цитировать prokazzza
"вытащить" из реестра информацию о любом устройстве совсем не сложно ![]() Например о видеокарте: FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000" /v DriverDesc`) do set VIDEO=%%i Echo Видео: %VIDEO:~22%>>test.txt Вопросы: ![]() 1. А зачем оно надо? 2. Как ты себе представляешь, это должно выводится? |
------- Отправлено: 23:22, 24-10-2006 | #85 |
Покинул форум Сообщения: 3254
|
YuriPet
Давай попробуем, вместо привычной инфе о проце, будет вся инфа об оборудовании, и большой респект тебе лично ![]() Есть у тя на пробу какой-нить вариант? придется расширять границы CPL системы, места тама не очень много ![]() |
Отправлено: 23:36, 24-10-2006 | #86 |
Ветеран Сообщения: 1417
|
Профиль | Отправить PM | Цитировать Такой путь мне не по силам
![]() Это надо глубоко разобраться со структурой файла sysdm.cpl и затем сильно его "покурочить" ![]() |
------- Отправлено: 23:49, 24-10-2006 | #87 |
Покинул форум Сообщения: 3254
|
YuriPet
Надо посмотреть как туда заноситься инфа о проце, наверняка считывает с реестра, больше не откуда, нужно тут покумекать. ![]() |
Отправлено: 23:52, 24-10-2006 | #88 |
Ветеран Сообщения: 1417
|
Профиль | Отправить PM | Цитировать Нет.
![]() Я за это не берусь. ![]() |
------- Отправлено: 00:02, 25-10-2006 | #89 |
Ищу Человека… Сообщения: 420
|
Профиль | Сайт | Отправить PM | Цитировать prokazzza
Цитата:
![]() Цитата:
![]() Добавлено (2006-10-28): Кого заинтересует упомянутая статья о параметрах реестра, содержащих инфу об оборудовании - скачайте любой из архивов по ссылкам, указанным в посте #98 этой темы. |
||
------- Последний раз редактировалось Sanja Alone, 28-10-2006 в 05:08. Причина: Правка ссылки на статью в связи с удалением последней Отправлено: 05:54, 25-10-2006 | #90 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[статья] Изменение OEM информации и логотипа Windows Vista | Vadikan | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 2 | 20-02-2014 23:53 | |
$OEM$ не копируется на HDD .:[все вопросы]:. | Sparrow | Автоматическая установка Windows 2000/XP/2003 | 104 | 26-10-2010 04:59 | |
Установка - [решено] Добавление OEM-предложений в win7 Welcome Center | borodatiy | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 3 | 06-11-2009 00:04 | |
Vista / 2008 - Добавление OEM логотипов, соглашений, обоев | САШOК | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 7 | 03-06-2009 12:46 | |
Добавление информации на сайт через вэб-интерфейс | Vopros | Вебмастеру | 1 | 26-06-2003 08:50 |
|