[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Приветствую всех.
Есть запара с автоактивацией Windows 7. Есть сборки 7 состоящие из простых (Retail, ОЕМ) соединённых c корпоративными (Enterprise, Pro VL) редакциями в один Install.wim. В дистрибутив внесён автоактиватор на основе активатора ODIN, а для корпоративных приходится активатор оставлять отдельно в дистрибутиве, но это неудобно. Для корпоративных используется активатор AACT (от Ratiborus). В общем нужно в один SetupComplete прописать так, чтобы и те и те редакции активировались автоматом без бубнов. Если понадобится сам модуль активации, то пришлю папку $OEM$. Вот содержимое скрипта для простых редакций и как здесь, что прописать для активатора AAct?
ОРИГИНАЛ СКРИПТА:
CD /d %~dp0
REGEDIT /s "data\update.reg"
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "89M6G YRYRV XM76F PW487 3MBMV"
IF ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && EXIT
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i STARTER > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 36Q3Y-BBT84-MGJ3H-FT7VD-FG72J
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i BASIC > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 36T88-RT7C6-R38TQ-RV8M9-WWTCY
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i PREMIUM > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 6RBBT-F8VPQ-QCPVQ-KHRB8-RMV82
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i PROFESSIONAL > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 32KD2-K9CTF-M3DJT-4J3WC-733WD
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i ULTIMATE > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 342DG-6YJR8-X92GV-V7DCV-P4K27
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "Licensed Лицензию"
IF NOT ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && EXIT
IF %PROCESSOR_ARCHITECTURE% == AMD64 (
FOR /f "tokens=2" %%i IN ('ECHO LIST DISK ^| DISKPART ^| FINDSTR /r /c:"\*$"') DO ECHO select disk %%i >> "data\diskpart.txt" && ECHO detail disk >> "data\diskpart.txt"
DISKPART /s "data\diskpart.txt" | FINDSTR /e /c:"Boot" /c:"Загрузоч"
IF ERRORLEVEL 1 (
REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisablePCA /t REG_DWORD /d 1 /f
COPY /y "data\oem-drv64.sys" "%windir%\system32\drivers\oem-drv64.sys"
BCDEDIT /set {current} path \Windows\System32\xosload.exe
BCDEDIT /set {current} kernel xntkrnl.exe
BCDEDIT /set {current} nointegritychecks on
REGEDIT /s "data\oem-drv64.reg"
COPY /y "data\winkernel.exe" "%windir%\system32\winkernel.exe"
%windir%\system32\winkernel.exe /install /silent
TIMEOUT /t 10 /nobreak
REG DELETE HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisablePCA /f
) ELSE (
"data\installer_efi_cli.exe"
)
) ELSE (
COPY /y "data\oem-drv86.sys" "%windir%\system32\drivers\oem-drv86.sys"
REGEDIT /s "data\oem-drv86.reg"
)
SHUTDOWN /r /t 50
RD /s /q %windir%\setup\scripts && EXIT
============================================================================
ИЗМЕНЁННЫЙ МНОЮ (но никакой активации у корпоративных редакций не происходит):
CD /d %~dp0
REGEDIT /s "data\update.reg"
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "89M6G YRYRV XM76F PW487 3MBMV"
IF ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && goto :AAct
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i STARTER > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 36Q3Y-BBT84-MGJ3H-FT7VD-FG72J
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i BASIC > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 36T88-RT7C6-R38TQ-RV8M9-WWTCY
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i PREMIUM > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 6RBBT-F8VPQ-QCPVQ-KHRB8-RMV82
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i PROFESSIONAL > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 32KD2-K9CTF-M3DJT-4J3WC-733WD
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i ULTIMATE > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 342DG-6YJR8-X92GV-V7DCV-P4K27
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "Licensed ‹ЁжҐ­§Ёо"
IF NOT ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && EXIT
IF %PROCESSOR_ARCHITECTURE% == AMD64 (
FOR /f "tokens=2" %%i IN ('ECHO LIST DISK ^| DISKPART ^| FINDSTR /r /c:"\*$"') DO ECHO select disk %%i >> "data\diskpart.txt" && ECHO detail disk >> "data\diskpart.txt"
DISKPART /s "data\diskpart.txt" | FINDSTR /e /c:"Boot" /c:"‡ Ја㧮з"
IF ERRORLEVEL 1 (
REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisablePCA /t REG_DWORD /d 1 /f
COPY /y "data\oem-drv64.sys" "%windir%\system32\drivers\oem-drv64.sys"
BCDEDIT /set {current} path \Windows\System32\xosload.exe
BCDEDIT /set {current} kernel xntkrnl.exe
BCDEDIT /set {current} nointegritychecks on
REGEDIT /s "data\oem-drv64.reg"
COPY /y "data\winkernel.exe" "%windir%\system32\winkernel.exe"
%windir%\system32\winkernel.exe /install /silent
TIMEOUT /t 10 /nobreak
REG DELETE HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisablePCA /f
) ELSE (
"data\installer_efi_cli.exe"
)
) ELSE (
COPY /y "data\oem-drv86.sys" "%windir%\system32\drivers\oem-drv86.sys"
REGEDIT /s "data\oem-drv86.reg"
)
SHUTDOWN /r /t 50
RD /s /q %windir%\setup\scripts && EXIT
)
) ELSE (
:AAct
COPY /y "data\aact.exe" "%windir%\setup\scripts\aact.exe"
%windir%\setup\scripts\aact.exe /wingvlk /win=act /taskwin
)
RD /s /q %windir%\setup\scripts && EXIT
====================================================================

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 4 месяца
  • Сообщений: 2295
  • Репутация:92

    [+] [-]
  • Откуда: Админ от сюда
EdVis, Тут Copy\Paste не прокатывает...
Открываете справку командной строки и изучаете.
Например этот отрывок:
) ELSE (
:AAct
COPY /y "data\aact.exe" "%windir%\setup\scripts\aact.exe"
%windir%\setup\scripts\aact.exe /wingvlk /win=act /taskwin
)
Нет просто слов... не выполнится в данном случае ничего.
Так как вы в начале батника пытаетесь перейти goto AAct
а выполнение не будет, так как переход идёт в никуда.
по моему много ELSE ( условий
Неужели сложно прочитать в справке про команду goto и if

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Прочитать не сложно. Сложно понять. Читал и не раз. Поэтому обратился за помощью на форум, а по разным ссылкам ходил. Непонятно ничего. Думал найдётся человек который выправит скрипт. Раз вы так рассуждаете зная нюансы, так помогли бы переписать как надо.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 4 месяца
  • Сообщений: 2295
  • Репутация:92

    [+] [-]
  • Откуда: Админ от сюда
44233Раз вы так рассуждаете зная нюансы, так помогли бы переписать как надо.
В батниках разбираюсь чуток... Но ума не дам, как это дело тестируется...
Вот нашел темку

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Если найдётся участник который сможет выправить как надо, то хорошо. Если нет, то удалите пост и всё. Ссылок не надо. Уже много видел тем, но тёмный лес со скриптами.

[Цитировать]

    At1ant
  • 15813
  • Стаж: 8 месяцев 20 дней
  • Сообщений: 38
  • Репутация:11

    [+] [-]
Вместо IF ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && EXIT напиши:
IF ERRORLEVEL 1 (
  %windir%\setup\scripts\aact.exe /win=act /taskwin
  RD /s /q %windir%\setup\scripts
  EXIT
)
Ключ /wingvlk ненужен.

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Попробую. Отпишусь. Это строка в верхней части. Да?

[Цитировать]

    At1ant
  • 15813
  • Стаж: 8 месяцев 20 дней
  • Сообщений: 38
  • Репутация:11

    [+] [-]
4-я строка.

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Не хочет.

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Так. Часть сделана. Удалось немного подружить активации (активируются и Retail и Корпоративные выпуски), но теперь появилась новая проблема. Я строку активации не стал усложнять и сделал как в сборках только для Корпоративных выпусков поместив строку вверху. Теперь Корпоративные выпуски активируются нормально, а вот на простых (Retail или ОЕМ) в конце установки в момент отрабатывания активации выдаёт ошибку от активатора AACT и потом в системе сидит сам файл активации ААСТ и образуется расписание переактивации.
Как бы их разделить теперь, чтобы для простых редакций не отрабатывал Корпоративный активатор (ААст)...
Вот так сделал пока (3-я строка сверху, под строкой для твика реестра (Regedit)):
CD /d %~dp0
REGEDIT /s "data\update.reg"
%windir%\setup\scripts\data\aact.exe /wingvlk /win=act /taskwin
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "89M6G YRYRV XM76F PW487 3MBMV"
IF ERRORLEVEL 1 RD /s /q %windir%\setup\scripts && EXIT
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i STARTER > nul
IF NOT ERRORLEVEL 1 cscript %windir%\system32\slmgr.vbs -ipk 36Q3Y-BBT84-MGJ3H-FT7VD-FG72J

[Цитировать]

    At1ant
  • 15813
  • Стаж: 8 месяцев 20 дней
  • Сообщений: 38
  • Репутация:11

    [+] [-]
Попробуй после второй строки вставить:
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "KMS" && (
  %windir%\setup\scripts\aact.exe /win=act /taskwin
  RD /s /q %windir%\setup\scripts
  EXIT
)

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Теперь стало так, что сборка файлов интегрированного аддона NetFrame 4.7 происходит на глазах и в самом конце, когда должен появиться рабочий стол, а вместо нормальной картинки рабочего стола простой голубой экран и тема классическая. Опять вылетает ошибка приложения, но сам файл уже не копируется и расписание не создаётся. Вот что ему не хватает? Так скажем почти уже у цели ))).

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Всё получилось как надо и как было задумано изначально. Ура!
Вот этот вариант прокатил )):
CD /d %~dp0
REGEDIT /s "data\update.reg"
CSCRIPT %windir%\system32\slmgr.vbs -dli | FINDSTR "KMS" && (
%windir%\setup\scripts\data\aact.exe /wingvlk /win=act /taskwin
RD /s /q %windir%\setup\scripts && EXIT
)
Всем спасибо за помощь.

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Если положено удалять пост, то просьба пока подержать. Вдруг ещё, что понадобится узнать по данной теме.
Да ещё из головы вылетело под EFI проверить )).

Информация от SunOK


Пометка [Решено] служит для того, чтобы не было лишних вариантов, если способ уже опробован и работает; но никто не мешает дополнить и переспросить. Тема не закрывается.

[Цитировать]

    EdVis
  • 16733
  • Стаж: 2 месяца 27 дней
  • Сообщений: 40
  • Репутация:0

    [+] [-]
Огромная благодарность форумчанину At1ant за подсказку. На UEFI тоже всё гут.


Показать сообщения:    

Текущее время: 22-Ноя 16:05

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы