by Eagle123 by SmokieBlahBlah Создаем меню. Deepai.org/chat/ai-code

grimanfs

Мастер
Команда форума
Чтобы создать меню, похожее по стилю на меню SmokieBlahBlah в WinPE, вам потребуется использовать инструменты для разработки пользовательских интерфейсов и загрузочных меню, такие как WinPE с поддержкой WinBuilder, AeroPE, или заготовки для WinPE с возможностью кастомизации.
Вот примерный подход для создания подобного меню:
  1. Используйте WinBuilder или подобный инструмент для создания WinPE-образа.
  2. Создайте пользовательский скрипт или шаблон меню, который будет отображать список параметров, как в вашем примере.
  3. Для интерфейса используйте инструменты для разработки GUI, например, HTA (HTML Application) или WinAPI, чтобы сделать меню с чекбоксами и выпадающими списками.
  4. Для оформления используйте стили, похожие на Windows, с аккуратным дизайном и шрифтами.
Примерное содержание скрипта для меню (на основе WinBuilder или подобного инструмента):
CopyRun@echo off
title Настройка WinPE

:MENU
cls
echo ============================
echo Настройка WinPE
echo ============================
echo 1. Часовой пояс
echo 2. Пользователь
echo 3. Компьютер
echo 4. Активация
echo 5. Системные параметры
echo 6. Твики, патчи и прочее
echo 0. Выход
set /p choice=Выберите пункт:

if "%choice%"=="1" goto timezone
if "%choice%"=="2" goto user
if "%choice%"=="3" goto computer
if "%choice%"=="4" goto activation
if "%choice%"=="5" goto systemparams
if "%choice%"=="6" goto tweaks
if "%choice%"=="0" goto end
goto MENU

:timezone
echo Настройка часового пояса...
pause
goto MENU

:user
echo Настройка пользователя...
pause
goto MENU

:computer
echo Настройка компьютера...
pause
goto MENU

:activation
echo Настройка активации...
pause
goto MENU

:systemparams
echo Настройка системных параметров...
pause
goto MENU

:tweaks
echo Создание твиков и патчей...
pause
goto MENU

:end
exit

Для более аккуратного и красивого интерфейса рекомендуется использовать WinPE с поддержкой WinForm или HTA, а также добавить стили и графические элементы. В качестве основы можно взять шаблоны и модифицировать их под свои нужды.

Вот пошаговая инструкция по созданию подобного меню для WinPE, которое выглядит и работает похоже на меню SmokieBlahBlah. В этой инструкции я использую WinBuilder — популярный инструмент для кастомизации WinPE. Если у вас другой инструмент, дайте знать, я подстрою ответ.

Шаг 1: Подготовьте рабочую среду
  1. Скачайте WinBuilder
    Перейдите на официальный сайт или trusted-ресурсы и скачайте WinBuilder, например, WinBuilder.
  2. Создайте рабочий каталог
    Создайте папку, например, C:\WinBuilderProjects\MyPE.
  3. Запустите WinBuilder и выберите созданную папку как рабочий проект.
Шаг 2: Создайте новый проект или выберите шаблон
  • Вы можете начать с пустого проекта или выбрать существующий шаблон, например, "Win7PE" или "Win10PE".
Шаг 3: Создайте пользовательское меню
Вариант 1: Использование встроенных скриптов WinBuilder
  1. В редакторе WinBuilder откройте вкладку "Scripts".
  2. Создайте новый скрипт (например, MyMenu.bat), он будет содержать ваш меню-скрипт.
Пример содержимого для меню на батч-скрипте:

CopyRun@echo off
:MENU
cls
echo ============================
echo Настройка WinPE
echo ============================
echo 1. Часовой пояс
echo 2. Пользователь
echo 3. Компьютер
echo 4. Активация
echo 5. Системные параметры
echo 6. Твики, патчи и прочее
echo 0. Выход
set /p choice=Выберите пункт:

if "%choice%"=="1" goto timezone
if "%choice%"=="2" goto user
if "%choice%"=="3" goto computer
if "%choice%"=="4" goto activation
if "%choice%"=="5" goto systemparams
if "%choice%"=="6" goto tweaks
if "%choice%"=="0" goto end
goto MENU

:timezone
echo Настройка часового пояса...
pause
goto MENU

:user
echo Настройка пользователя...
pause
goto MENU

:computer
echo Настройка компьютера...
pause
goto MENU

:activation
echo Настройка активации...
pause
goto MENU

:systemparams
echo Настройка системных параметров...
pause
goto MENU

:tweaks
echo Создание твиков и патчей...
pause
goto MENU

:end
exit
  1. Вставьте этот скрипт в ваш проект через интерфейс WinBuilder.
Шаг 4: Интегрируйте меню в WinPE
  1. В настройках проекта укажите скрипт запуска вашего меню (MyMenu.bat) как стартовый или добавьте его в меню загрузки.
  2. Можно добавить запуск меню в Startnet.cmd или создать ярлык, который будет запускать ваше меню при загрузке.
Шаг 5: Настройка внешнего вида (опционально)
  • Для более красивого интерфейса можно использовать HTA или WinForm приложения, если ваша версия WinBuilder их поддерживает.
  • Также можно использовать сторонние скрипты или утилиты, такие как DialogX, для создания графических интерфейсов.
Шаг 6: Построение и тестирование
  1. Нажмите Build (Собрать) проект в WinBuilder.
  2. Получите образ WinPE, запустите его в виртуальной машине или на реальном оборудовании.
  3. Проверьте работу меню.
Итог
  • Вы создали кастомное меню на bat-скрипте.
  • Интегрировали его в WinPE.
  • Настроили запуск при старте.
 

grimanfs

Мастер
Команда форума
Чтобы встроить своё меню в WinPE с использованием DISM (Deployment Image Servicing and Management), вам нужно создать загрузочную среду с кастомным интерфейсом, который запускается при загрузке, и внутри которого реализуется ваше меню. DISM сам по себе — это инструмент для обслуживания образов Windows, а не средство для создания меню или интерфейсов, поэтому для меню вам понадобится использовать скрипты или программы, которые запускаются внутри WinPE.

Вот пошаговая инструкция, как встроить пользовательское меню в WinPE и запускать его автоматически при загрузке:

Шаг 1: Создайте WinPE-образ с помощью DISM
  1. Подготовьте исходный образ Windows (например, Windows ADK):
    Установите Windows ADK и Windows PE Add-on.
  2. Создайте рабочий каталог для WinPE:
CopyRuncopype amd64 C:\WinPE_amd64

или для x86:

CopyRuncopype x86 C:\WinPE_x86
  1. Монтируйте образ WinPE:
  2. Монтируйте образ WinPE:
CopyRunDism /Mount-Image /ImageFile:C:\WinPE_amd64\media\sources\boot.wim /Index:1 /MountDir:C:\WinPE_amd64\mount
  1. Добавьте ваши скрипты или программы в образ:
    Например, скопируйте ваш скрипт меню в C:\WinPE_amd64\mount\Windows\System32.
Шаг 2: Создайте скрипт меню
Создайте файл menu.bat со структурой меню, как я показывал ранее. Например:

CopyRun@echo off
:MENU
cls
echo ============================
echo Меню WinPE
echo ============================
echo 1. Запустить диагностику
echo 2. Восстановить систему
echo 3. Выход
set /p choice=Выберите пункт:

if "%choice%"=="1" goto diag
if "%choice%"=="2" goto restore
if "%choice%"=="3" goto end
goto MENU

:diag
echo Запуск диагностики...
pause
goto MENU

:restore
echo Восстановление системы...
pause
goto MENU

:end
exit
Скопируйте этот файл в C:\WinPE_amd64\mount\Windows\System32.

Шаг 3: Настройте автоматический запуск меню при загрузке
  1. В C:\WinPE_amd64\mount\Windows\System32 создайте или отредактируйте файл Startnet.cmd.
  2. Добавьте в него команду запуска вашего меню. Например:
CopyRunwpeinit
call x:\menu.bat
или прямо:

CopyRunwpeinit
call x:\menu.bat
Если вы скопировали menu.bat в корень образа, разместите его так, чтобы запуск происходил автоматически.

Шаг 4: Включите ваш скрипт в образ
  1. Отмонтируйте образ с сохранением изменений:
CopyRunDism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit
  1. Создайте загрузочный ISO или USB с помощью MakeWinPEMedia:
CopyRunMakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_Custom.iso
или для USB:

CopyRunMakeWinPEMedia /UFD C:\WinPE_amd64 E:
Шаг 5: Тестируйте
Загрузите созданный образ или USB. При запуске должно автоматически запуститься ваше меню.
 

grimanfs

Мастер
Команда форума
Создание такого сложного меню с графическим интерфейсом внутри WinPE — это вполне реализуемая задача, но требует использования специальных инструментов и подходов. Ниже я предложу вам примерный план и конкретные скрипты для реализации текстового меню с расширенными функциями.
Общая идея
  • Для графического интерфейса можно использовать HTA (HTML Application) или neoficial GUI библиотеки (например, DialogX или утилиты типа WMenu), но для простоты я предлагаю начать с текстового меню на основе BAT или PowerShell.
  • Для автоматизации настроек Windows используем командлеты PowerShell или утилиты командной строки.
  • Для выбора драйверов и программ — реализуем меню с выбором из списка.
Шаги реализации
1. Создать скрипт меню на PowerShell с графическим интерфейсом (например, с помощью WinForms)
2. Встроить функции для каждой задачи

Пример: Основной скрипт меню на PowerShell с WinForms
CopyRun# Save this as menu.ps1
Add-Type -AssemblyName System.Windows.Forms

# Создаем форму
$form = New-Object System.Windows.Forms.Form
$form.Text = "Настройки WinPE"
$form.Size = New-Object System.Drawing.Size(600,600)

# Создаем кнопки
$btnActivateWin = New-Object System.Windows.Forms.Button
$btnActivateWin.Text = "Активировать Windows"
$btnActivateWin.Size = New-Object System.Drawing.Size(180,30)
$btnActivateWin.Location = New-Object System.Drawing.Point(10,10)
$form.Controls.Add($btnActivateWin)

$btnDisableSpy = New-Object System.Windows.Forms.Button
$btnDisableSpy.Text = "Отключить шпионские функции"
$btnDisableSpy.Size = New-Object System.Drawing.Size(180,30)
$btnDisableSpy.Location = New-Object System.Drawing.Point(200,10)
$form.Controls.Add($btnDisableSpy)

$btnDisableUAC = New-Object System.Windows.Forms.Button
$btnDisableUAC.Text = "Отключить контроль учетных записей"
$btnDisableUAC.Size = New-Object System.Drawing.Size(180,30)
$btnDisableUAC.Location = New-Object System.Drawing.Point(10,50)
$form.Controls.Add($btnDisableUAC)

$btnDisableDefender = New-Object System.Windows.Forms.Button
$btnDisableDefender.Text = "Отключить Защитник Windows"
$btnDisableDefender.Size = New-Object System.Drawing.Size(180,30)
$btnDisableDefender.Location = New-Object System.Drawing.Point(200,50)
$form.Controls.Add($btnDisableDefender)

$btnDisableFirewall = New-Object System.Windows.Forms.Button
$btnDisableFirewall.Text = "Отключить брандмауэр"
$btnDisableFirewall.Size = New-Object System.Drawing.Size(180,30)
$btnDisableFirewall.Location = New-Object System.Drawing.Point(10,90)
$form.Controls.Add($btnDisableFirewall)

$btnHiberDisable = New-Object System.Windows.Forms.Button
$btnHiberDisable.Text = "Отключить гибернацию"
$btnHiberDisable.Size = New-Object System.Drawing.Size(180,30)
$btnHiberDisable.Location = New-Object System.Drawing.Point(200,90)
$form.Controls.Add($btnHiberDisable)

$btnUpdateDisable = New-Object System.Windows.Forms.Button
$btnUpdateDisable.Text = "Отключить обновления"
$btnUpdateDisable.Size = New-Object System.Drawing.Size(180,30)
$btnUpdateDisable.Location = New-Object System.Drawing.Point(10,130)
$form.Controls.Add($btnUpdateDisable)

$btnSetUserName = New-Object System.Windows.Forms.Button
$btnSetUserName.Text = "Ввести имя пользователя"
$btnSetUserName.Size = New-Object System.Drawing.Size(180,30)
$btnSetUserName.Location = New-Object System.Drawing.Point(200,130)
$form.Controls.Add($btnSetUserName)

$btnSetFolderName = New-Object System.Windows.Forms.Button
$btnSetFolderName.Text = "Имя папки пользователя"
$btnSetFolderName.Size = New-Object System.Drawing.Size(180,30)
$btnSetFolderName.Location = New-Object System.Drawing.Point(10,170)
$form.Controls.Add($btnSetFolderName)

$btnSetComputerName = New-Object System.Windows.Forms.Button
$btnSetComputerName.Text = "Имя компьютера"
$btnSetComputerName.Size = New-Object System.Drawing.Size(180,30)
$btnSetComputerName.Location = New-Object System.Drawing.Point(200,170)
$form.Controls.Add($btnSetComputerName)

$btnDriverAndApps = New-Object System.Windows.Forms.Button
$btnDriverAndApps.Text = "Автоустановка драйверов и ПО"
$btnDriverAndApps.Size = New-Object System.Drawing.Size(180,30)
$btnDriverAndApps.Location = New-Object System.Drawing.Point(10,210)
$form.Controls.Add($btnDriverAndApps)

# Обработчики функций
$btnActivateWin.Add_Click({
# Тут команда активации Windows
Start-Process -FilePath "slmgr.vbs" -ArgumentList "/ato" -Verb runas -NoNewWindow -Wait
[System.Windows.Forms.MessageBox]::Show("Команда выполнена.")
})

$btnDisableSpy.Add_Click({
# Тут команда отключения шпионских функций (пример)
# Например, отключение сбора телеметрии через реестр или службы
# Реальные команды требуют прав администратора
[System.Windows.Forms.MessageBox]::Show("Функция отключена (пример).")
})

# Аналогичные обработчики для других кнопок...
# Например, отключение Defender:
$btnDisableDefender.Add_Click({
# Отключение Windows Defender (пример)
# Можно использовать PowerShell командлеты или изменение реестра
# Замечание: требует прав администратора
Set-MpPreference -DisableRealtimeMonitoring $true
[System.Windows.Forms.MessageBox]::Show("Защитник отключен.")
})

# Запуск формы
$form.Add_Shown({ $form.Activate() })
[void]$form.ShowDialog()
Интеграция в WinPE
  • Скрипт menu.ps1 или menu.bat разместите в образе.
  • В Startnet.cmd добавьте запуск PowerShell с этим скриптом:
CopyRunwpeinit
powershell -ExecutionPolicy Bypass -File x:\menu.ps1
или
CopyRunwpeinit
start /wait powershell -ExecutionPolicy Bypass -File x:\menu.ps1
Автоматизация и расширение
  • Для автоматической активации Windows, отключения служб, изменения реестра используйте PowerShell командлеты или редактирование реестра через reg add.
  • Для выбора драйверов и программ — реализуйте диалоговые окна с списками (например, с помощью ListBox), и по выбранным пунктам запускайте установочные скрипты.
Итог
Это — пример базового графического меню. Для более сложных интерфейсов можно использовать сторонние GUI-библиотеки или создавать полноценные HTA-приложения.
Если хотите я подготовлю для вас конкретный полный скрипт или помогу с автоматизацией конкретных задач — скажите!
Copy
SummarizeDelete

RegenerateDelete

Создание полноценного HTA-приложения для выбора драйверов и программ с диалоговыми окнами и списками — отличный подход для удобного интерфейса внутри WinPE. Ниже я приведу пример базового HTA-приложения, которое включает:
  • список драйверов/программ,
  • возможность выбора нескольких пунктов,
  • кнопки для запуска установки выбранных элементов.
Пример HTA-приложения для выбора драйверов и программ
Сохраните этот код как drivers_software.hta:
CopyRun<html>
<head>
<title>Выбор драйверов и программ</title>
<HTA:APPLICATION
ID="app"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="yes"
CONTEXTMENU="no"
ICON="icon.ico"
INNERBORDER="no"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
SELECTION="none"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
WINDOWSTATE="normal"
/>
<style>
body { font-family: Arial; margin: 10px; }
#list { width: 100%; height: 200px; }
button { margin-top: 10px; width: 150px; }
</style>
<script>
function loadList() {
// Тут можно динамически загрузить список из файла или базы
var listBox = document.getElementById("list");
var items = [
{ text: "Драйвер видеокарты", value: "driver_gpu" },
{ text: "Драйвер звуковой карты", value: "driver_audio" },
{ text: "Антивирусное ПО", value: "antivirus" },
{ text: "Обновление Windows", value: "windows_update" },
{ text: "Программа Office", value: "office" }
];

for (var i=0; i<items.length; i++) {
var option = document.createElement("option");
option.text = items.text;
option.value = items.value;
option.selected = false; // по умолчанию не выделены
listBox.add(option);
}
}

function startInstallation() {
var listBox = document.getElementById("list");
var selectedItems = [];
for (var i=0; i<listBox.options.length; i++) {
if (listBox.options.selected) {
selectedItems.push(listBox.options.value);
}
}
if (selectedItems.length == 0) {
alert("Пожалуйста, выберите хотя бы один элемент для установки.");
return;
}
// Тут вызывайте ваши скрипты или команды для установки выбранных элементов
alert("Выбранные для установки: " + selectedItems.join(", "));

// Например, запуск бат файла или PowerShell для каждого элемента
// window.location.href = "install.bat?items=" + encodeURIComponent(selectedItems.join(","));
}

window.onload = loadList;
</script>
</head>
<body>
<h2>Выберите драйверы и программы для установки</h2>
<select id="list" multiple size="10"></select><br>
<button onclick="startInstallation()">Установить выбранное</button>
</body>
</html>
Как встроить это в WinPE

    • Поместите drivers_software.hta внутрь образа, например, в X:\.
    • В Startnet.cmd добавьте запуск HTA:
CopyRunwpeinit
start /wait mshta.exe x:\drivers_software.hta

    • Можно расширить скрипты, чтобы по нажатию кнопки запускались конкретные установки через PowerShell или батники.
Расширение для автоматической установки
В функции startInstallation() можно реализовать вызов PowerShell или батников для каждого выбранного элемента, например:
CopyRunfunction startInstallation() {
var listBox = document.getElementById("list");
var selectedItems = [];
for (var i=0; i<listBox.options.length; i++) {
if (listBox.options.selected) {
selectedItems.push(listBox.options.value);
}
}
if (selectedItems.length == 0) {
alert("Пожалуйста, выберите хотя бы один элемент для установки.");
return;
}
for (var i=0; i<selectedItems.length; i++) {
var item = selectedItems;
// Пример запуска PowerShell для каждого элемента
var cmd = 'powershell -ExecutionPolicy Bypass -File x:\\install_script.ps1 -Item "' + item + '"';
// Запускаем
var shell = new ActiveXObject("WScript.Shell");
shell.Run(cmd, 0, true);
}
}
И в install_script.ps1 реализуйте логику установки для каждого элемента.



Итоги
  • Такой HTA даст удобный GUI для выбора драйверов и программ.
  • Можно расширять список и автоматизировать установки.
  • В WinPE — это отличный способ сделать интерфейс более дружелюбным.
 

grimanfs

Мастер
Команда форума
Полный пример HTA-приложения для выбора драйверов и программ
Сохраните как drivers_software.hta:

CopyRun<html>
<head>
<title>Выбор драйверов и программ</title>
<HTA:APPLICATION
ID="app"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="yes"
CONTEXTMENU="no"
ICON="icon.ico"
INNERBORDER="no"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
SELECTION="none"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
WINDOWSTATE="normal"
/>
<style>
body { font-family: Arial; margin: 10px; }
#list { width: 100%; height: 200px; }
button { margin-top: 10px; width: 180px; height: 30px; }
</style>
<script>
// Массив элементов для выбора
var items = [
{ text: "Драйвер видеокарты", value: "driver_gpu" },
{ text: "Драйвер звуковой карты", value: "driver_audio" },
{ text: "Драйвер сетевой карты", value: "driver_network" },
{ text: "Антивирусное ПО", value: "antivirus" },
{ text: "Обновление Windows", value: "windows_update" },
{ text: "Программа Office", value: "office" },
{ text: "Драйвер принтера", value: "driver_printer" },
{ text: "Браузер Chrome", value: "chrome" }
];

function loadList() {
var listBox = document.getElementById("list");
for (var i=0; i<items.length; i++) {
var option = document.createElement("option");
option.text = items.text;
option.value = items.value;
listBox.add(option);
}
}

function startInstallation() {
var listBox = document.getElementById("list");
var selectedItems = [];
for (var i=0; i<listBox.options.length; i++) {
if (listBox.options.selected) {
selectedItems.push(listBox.options.value);
}
}
if (selectedItems.length == 0) {
alert("Пожалуйста, выберите хотя бы один элемент для установки.");
return;
}

// Передача выбранных элементов в сценарий установки
for (var i=0; i<selectedItems.length; i++) {
var item = selectedItems;
var cmd = 'powershell -ExecutionPolicy Bypass -File x:\\install_script.ps1 -Item "' + item + '"';
var shell = new ActiveXObject("WScript.Shell");
shell.Run(cmd, 0, true);
}
alert("Установка запущена для выбранных элементов.");
}

window.onload = loadList;
</script>
</head>
<body>
<h2>Выберите драйверы и программы для установки</h2>
<select id="list" multiple size="12"></select><br>
<button onclick="startInstallation()">Установить выбранное</button>
</body>
</html>
Скрипт для установки (install_script.ps1)
Создайте файл install_script.ps1 в корне X:\ (или другом месте, указанном в командной строке) со следующим содержимым:

CopyRunparam(
[string]$Item
)

switch ($Item) {
"driver_gpu" {
# Ваши команды для установки драйвера видеокарты
Write-Output "Установка драйвера видеокарты..."
# например, вызов драйвер-установщика
}
"driver_audio" {
Write-Output "Установка драйвера звуковой карты..."
}
"driver_network" {
Write-Output "Установка драйвера сетевой карты..."
}
"antivirus" {
Write-Output "Установка антивируса..."
}
"windows_update" {
Write-Output "Запуск обновлений Windows..."
# например, Invoke-WUInstall или команда Windows Update
}
"office" {
Write-Output "Установка Office..."
}
"driver_printer" {
Write-Output "Установка драйвера принтера..."
}
"chrome" {
Write-Output "Установка браузера Chrome..."
# Можно запускать установочные файлы
}
default {
Write-Output "Неизвестный элемент: $Item"
}
}
Этот скрипт — шаблон. Вставьте реальные команды установки драйверов, программ или вызовы установщиков.

Как использовать
  1. Поместите drivers_software.hta и install_script.ps1 в образ WinPE.
  2. В Startnet.cmd добавьте запуск HTA:
CopyRunwpeinit
start /wait mshta.exe x:\drivers_software.hta
  1. При запуске интерфейс позволит выбрать элементы и запустить автоматическую установку.
Итог
Это полноценное решение для выбора и автоматической установки драйверов и программ в WinPE с помощью удобного графического интерфейса.
 

grimanfs

Мастер
Команда форума
Отлично! Давайте я покажу, как можно дополнительно настроить конкретные команды для установки драйверов и программ, а также расскажу, где и как лучше их располагать внутри образа WinPE.

1. Расположение установочных файлов
Для удобства и организации рекомендуется создать структуру папок внутри образа WinPE, например:

CopyRunX:\Installers\
├── drivers\
│ ├── gpu_driver.exe
│ ├── audio_driver.exe
│ └── network_driver.exe
└── programs\
├── chrome_installer.exe
└── office_installer.exe
Вы можете подготовить эти файлы заранее и поместить их в соответствующие папки.

2. Обновленный скрипт установки (install_script.ps1)
Пример с конкретными командами для установки драйверов и программ:

CopyRunparam(
[string]$Item
)

# Путь к папке с установщиками
$installersPath = "X:\Installers"

switch ($Item) {
"driver_gpu" {
Write-Output "Установка драйвера видеокарты..."
& "$installersPath\drivers\gpu_driver.exe" /silent
}
"driver_audio" {
Write-Output "Установка драйвера звуковой карты..."
& "$installersPath\drivers\audio_driver.exe" /silent
}
"driver_network" {
Write-Output "Установка драйвера сетевой карты..."
& "$installersPath\drivers\network_driver.exe" /silent
}
"antivirus" {
Write-Output "Установка антивируса..."
# Пример установки антивируса
& "$installersPath\programs\antivirus_installer.exe" /silent
}
"windows_update" {
Write-Output "Запуск обновлений Windows..."
Start-Process "wuauclt.exe" -ArgumentList "/detectnow" -NoNewWindow -Wait
}
"office" {
Write-Output "Установка Office..."
& "$installersPath\programs\office_installer.exe" /quiet
}
"driver_printer" {
Write-Output "Установка драйвера принтера..."
& "$installersPath\drivers\printer_driver.exe" /silent
}
"chrome" {
Write-Output "Установка Chrome..."
& "$installersPath\programs\chrome_installer.exe" /silent
}
default {
Write-Output "Неизвестный элемент: $Item"
}
}
Важно: В командах используйте правильные параметры для тихой установки ваших приложений или драйверов (/silent, /quiet, /S, /verysilent, зависит от конкретных установщиков).
3. Обновление HTA для вызова команд
Ваш скрипт install_script.ps1 уже готов к вызову из HTA. В startInstallation() убедитесь, что командная строка правильно передает параметры.

4. Итоговые советы
  • Расположение файлов: подготовьте все необходимые драйверы и программы в папках внутри образа WinPE.
  • Параметры установки: узнайте у производителей, как правильно запускать их установщики в тихом режиме.
  • Автоматизация: после установки можно запускать перезагрузку или дополнительные скрипты.
 
Верх