Инструменты пользователя

Инструменты сайта


Боковая панель

Главная страница


Часто задаваемые вопросы


Astra Linux Embedded


Windows IoT - общие вопросы


Windows 11 IoT Enterprise


Windows 10 IoT Enterprise


Windows 10 IoT Core


Windows Embedded Standard 8


Windows Embedded Standard 7


Windows Embedded POSReady


Windows Embedded Standard 2009


Windows XP Embedded


Windows Embedded Compact

автоматизация_win_10_iot_enterprise

Содержание

Скрипты для автоматизации настройки Windows

Скрипты созданы для упрощения и ускорения настройки системы.
Сведения о наборе:

  • Используемый язык: PowerShell
  • Форма распространения:
    • Самораспаковывающийся архив
    • zip-архив

Версия набора скриптов обозначается следующим образом – (версия ОС).(номер сборки)

Страница загрузки набора скриптов

Демонстрацию возможностей скриптов можно посмотреть здесь
Подробное пошаговое описание настройки системы с помощью скриптов можно найти в статьях:

История версий

Особенности набора

Отдельный скрипт посвящен отдельной настройке, все скрипты разложены по папкам, которые названы в соответствии с настройкой. Папки однотипных настроек сгруппированы в общие папки с соответствующим названием.
Каждая папка со скриптом содержит:

  • Скрипт для настройки - файл «PS1»
  • Скрипт для запуска скрипта «PS1» - «JS»

Типовые настройки

Скрипты отвечающие за типовые настройки могут работать в группе. За групповую настройку отвечает скрипт «SettingsGroup». С помощью групповой настройки можно:

  • Посмотреть текущее состояние настроек
  • Посмотреть какой конкретный скрипт отвечает за конкретную настройку
  • Установить типовые значения для выбранной группы настроек или вернуть настройки по умолчанию

Скрипт «SettingsGroup.ps1» вызывает функцию «SettingsMenu» из модуля «MessageAndMenu.psm1». Данная функция позволяет работать с группой скриптов, которые находятся в подкаталогах, каталога, в котором находится скрипт «SettingsGroup.ps1» и содержат функцию «Lockdown»

При запуске скрипта отдельно у большинства скриптов возможности будут шире чем при работе в группе.

Работа скрипта запуска - "JS"

«JS»-файл запускает файл «PS1», который соответствует началу названия «JS» файла, при поиске файла для запуска найденные файлы будут отсортированы по имени и будет запущен последний файл. Пример:
При наличии файлов: «Test_01.PS1», «Test_02.PS1», «Test_03.PS1».
«JS» файл с именем «Test.JS» запустит файл «Test_03.PS1». Данная возможность позволяет в одной папке сохранять разные версии скриптов и запускать только последнюю версию.

Если сохранить множество версий скрипта, который может работать в группе, при групповой работе отработают все версии. Чтобы этого избежать внесите изменение в начало или середину имени функции «Lockdown». Поиск скриптов групповой работы осуществляется по наличию строки «^Function Lockdown».

Работа скрипта - "PS1"

Для работы скриптов «PS1» требуются модули, которые находятся в папке «Tools\PSM1» и утилита «LGPO», которая находится в папке «Tools\LGPO\LGPO.exe». Без данных составляющих набора скрипты работать не будут.

Функционал скриптов

Sysprep

Подробнее об утилите Sysprep и запечатывании можно прочитать здесь
Возможности скрипта:

  • Отображение текущего состояния ключа продукта (скрыт/открыт)
  • Скрытие ключа продукта с сохранением возможности активации
  • Добавление / удаление команды автоматического закрытия программы «Sysprep» при загрузке системы
  • Подготовка системы с возможностью выбора файла ответов

При подготовке системы скрипт всегда использует режим обобщения «generalize»
В скрипте файл ответов для подготовки системы можно выбирать не в консольном меню, а в стандартном диалоговом окне «FileOpenDialog». Для изменения режима выбора файла необходимо для функции «Select-File» указать ключ «-d»
Действия скрипта при подготовке системы в режиме (указание режима):

  • Замена битностей всех разделов на текущую битность системы (OOBE и Audit)
  • Проверка наличия учетной записи в системе, которая указана в файле ответов для автовхода (OOBE и Audit)
  • Проверка настроек Shell Launcher’а на прохождение стадии «OOBE» и опциональная временная перенастройка (OOBE)
  • Проверка настроек AppLocker’а на прохождение стадии «OOBE» и опциональная временная перенастройка (OOBE)

Временная перенастройка - настройки будут изменены перед запечатыванием и возвращены в исходное состояние после первой загрузки системы.
Скрипт автоматически меняет разрядность, указанную в файле ответов на текущую разрядность системы.

Локализация

В скрипте есть два варианта автоматической локализации:

  • Без установки языкового пакета
  • Полная локализация системы

Без установки языкового пакета - изменение местоположения, добавление клавиатурной раскладки, корректное отображение кириллицы.
Будет выполнена российская локализация.

Особенности

Для каждой версии и разрядности системы нужен определенный языковой пакет. Скрипт не определяет подходит ли языковой пакет для текущей системы.
При выборе локализации с установкой языкового пакета скрипт будет искать языковой пакет «ru-ru» в папке «LangPack». В папке «LangPack» языковой пакет должен находиться в иерархии каталогов, которые определят определяющим выпуск ОС «Win10» или «Win11» с подкаталогом версии «1809» или «21H2», например «Win10 \ 21H2».
Скрипт может установить языковой пакет с диска, поэтому можно просто подключить диск с языковыми пакетами.
В скрипте нет возможности автоматизированного создания локализованного дистрибутива, как создать локализованный дистрибутив вручную описано здесь

Пользователи

  • Создание перечня пользователя с именами, которые указаны в текстовом файле «CreateUserList.txt»
  • Переброс выбранного пользователя между группами «Пользователи» и «Администраторы»

Все создаваемые пользователи перемещаются в группу «Администраторы» и у них не будет ограничен срок действия пароля.

Электропитание

  • Создание схемы питания «Always On»
  • Переключение между схемами питания «Always On» и «Сбалансированная»
  • Экспорт/импорт схем питания

В схеме питания «Always On» будут отключены все энергосберегающие функции и запрос пароля при выходе из режима гибернации.

Сообщения и уведомления

«Сообщения и уведомления» - папка с группой настроек

Сообщения об ошибках

Скрипт включает / отключает отображение диалоговых окон уведомляющих об ошибке.
Для проверки настройки отключения ошибок можно воспользоваться утилитой «ShowError.com», эта утилита работает только в DOS’е, а в Windows выдает ошибку.

Запросы об отправке отчетов об ошибках

Скрипт включает / отключает отображение диалоговых окон с запросом на подтверждение отправки отчета об ошибках

Всплывающие уведомления

Скрипт включает / отключает всплывающие уведомления.

Политика диагностики

Скрипт включает / отключает политику диагностики.

Отображение ошибок при загрузке

Скрипт включает / отключает отображение ошибок при загрузке системы.

Отображение синего экрана

Скрипт включает / отключает отображение синего экрана.
Поведение системы при синем экране можно проверить с помощью ручного вызова синего экрана

Уведомления об обновлениях

Скрипт включает / отключает уведомления об обновлениях.

Обновления

Включение / отключение получения всех обновлений.

Режимы киоска

«Режимы киоска» - папка с группой однотипных настроек:

  • Shell Launcher V1
  • Ограниченный доступ
  • Мультикиоск

Shell Launcher V1

  • Включение / отключение Shell Launcher’а
  • Настройка запуска приложения для пользователя или группы.
  • Открытие настроек Shell Launcher’а

При включении Shell Launcher’а скрипт автоматически добавляет компонент Shell Launcher’а, включает его запуск и настраивает запуск оболочки системы как приложения по умолчанию и для группы «Администраторы».
При настройке запуска приложения для пользователя или группы скрипт предложит выбрать запускаемый файл. После выбора файла скрипит пропишет в настройки Shell Launcher’а запуск выбранного файла для выбранного пользователя или группы и установит перезапуск приложения при его закрытии.
Открытие настроек Shell Launcher’а запускает редактор реестра с позиционированием на ветке с настройками Shell Launcher’а.

Shell Launcher V2

  • Включение / отключение Shell Launcher’а
  • Применение файлов конфигурации
  • Отображение текущей конфигурации
  • Удаление настроек

Ограниченный доступ

  • Открытие окна «Настройка киоска»
  • Отключение режима ограниченного доступа
  • Переход к настройке времени ожидания на экране блокировки.

Переход к настройке времени ожидания на экране блокировки - запускает редактор реестра с позиционированием на ветке, в которой можно указать время ожидания.

Мультикиоск

Отдельный скрипт «ExportTiles.bat» для экспорта конфигурации настройки меню «Пуск».
Возможности основного скрипта:

  • Применение конфигурации мультикиоска из файла настройки - «XML»
  • Отображение текущей конфигурации настройки
  • Удаление конфигурации мультикиоска

При применении конфигурации мультикиоска скрипт берет содержимое указанного XML файла и меняет одинаковые значения указанные как параметр ID на созданные GUID, в сам файл изменения не вносятся. Поэтому для связки профиля и конфигурации в ID можно указать имя пользователя.

Открытие приложений после перезапуска

Некоторые приложения могут быть восстановлены после загрузки системы, если они были открыты до перезагрузки системы. Такое поведение системы будет мешать если для приложения настроен автозапуск, в таком случае одно приложение будет запущено с помощью автозапуска, а второе будет восстановлено.
Скрипт отключает восстановление работы приложений, работавших на момент перезагрузки.

AUMID

Отображает AUMID (Application User Model ID) приложений

Устройства ввода

«Устройства ввода» - папка с группой однотипных настроек:

  • Отключение экранных жестов
  • Фильтр клавиатуры

Сенсорный экран

Включение / отключение прокрутки от краев.
Включение / отключение чувствительности экрана.

Фильтр клавиатуры

  • Включение / отключение фильтра клавиатуры
  • Включение / отключение действия фильтра на группу «Администраторы»
  • Включение / отключение горячих клавиш специальных возможностей
  • Разрешение / блокировка горячих клавиш «Ctrl + Alt + Del»
  • Переход к настройкам фильтра клавиатуры

При включении фильтра клавиатуры скрипт добавляет необходимый компонент системы и запускает службу фильтра клавиатуры.
Включение / отключение в других пунктах - изменения настроек в реестре.
Переход к настройкам фильтра клавиатуры - запускает редактор реестра с позиционированием на ветке с настройками фильтра клавиатуры и добавляет разделы для блокировки указанных сочетаний клавиш (CustomFilters) и блокировки кнопок по скан-коду (CustomScancodes).

Экран входа в систему

«Экран входа в систему» - папка с группами настроек связанных с экраном входа в систему:

  • Действия по Alt + Ctrl + Del (подгруппа)
  • Элементы BrandingNeutral
  • Иконка выбора сетевого подключения
  • Быстрое переключение пользователей
  • Отображение учетных записей (подгруппа)

Действия по Alt + Ctrl + Del

«Действия по Alt + Ctrl + Del» - группами настроек связанных с экраном вызываемому по «Alt+Ctrl+Del»

  • Запрет изменение пароля
  • Запрет блокировки компьютера
  • Удаление диспетчера задач
  • Запрет выхода из системы

Запрет изменение пароля

Скрывает кнопку «Изменить пароль» на экране, вызываемом по «Alt + Ctrl + Del» для текущего пользователя или для всех пользователей.

Запрет блокировки компьютера

Запрещает блокировать систему для текущего пользователя или для всех пользователей.
Блокировка будет недоступна:

  • В меню «Пуск»
  • На экране, вызываемом по «Alt + Ctrl + Del»
  • По горячим клавишам «Win+L»
  • После пробуждения системы

Удаление диспетчера задач

Запрещает запуск диспетчера задач для текущего пользователя или для всех пользователей.
Запуск диспетчера задач будет недоступен:

  • Через панель задач
  • На экране, вызываемом по «Alt + Ctrl + Del»
  • По горячим клавишам «Ctrl + Shift + Esc»
  • С помощью команды «taskmgr»

Запрет выхода из системы

Скрывает кнопку «Выйти» на экране, вызываемом по «Alt + Ctrl + Del» для текущего пользователя или для всех пользователей.

Элементы BrandingNeutral

Включение / отключение элементов экрана входа в систему, кроме иконки выбора сетевого подключения. А также можно отключение экрана блокировки при завершении работы системы, при этом все приложения, блокирующие завершение работы системы, будут закрыты принудительно.

Иконка выбора сетевого подключения

Включение / отключение иконки выбора сетевого подключения на экране входа в систему.

Быстрое переключение пользователей

Данная настройка убирает возможность быстрого переключения между пользователями. При включении данной настройки:

  • Будут скрыты другие учетные записи в меню «Пуск»
  • Будет скрыт перечень пользователей на экране входа в систему при блокировке системы
  • Будет скрыта кнопка «Сменить пользователя» на экране, вызываемом по «Alt + Ctrl + Del»

Отображение учетных записей

Отображение имени последнего вошедшего пользователя

При включении данной настройки:

  • При блокировке системы: перечень пользователей для входа в систему заменяется кнопкой «Сменить пользователя»
  • При выходе из учетной записи скрывается: перечень пользователей для входа в систему; имя пользователя, который входил в систему последним

Скрыть пользователя

Скрывает конкретную учетную запись из:

  • Перечня учетных записей в меню «Пуск»
  • Перечня учетных записей на экране входа в систему (при блокировке или выходе из системы)

WDAC

  • Конвертация политики в бинарный файл
  • Применение политик из файла
  • Очистка журнала
  • Установка «WDACWizard»

AppLocker

Настройка ограничений запуска приложений с помощью AppLocker’а:

  • Отображение текущего состояния работы AppLocker’а
  • Экспорт / импорт правил
  • Демонстрация текущих правил в виде таблицы
  • Изменение политики применения правил
  • Настройка правил для пользователя или группы на основании результатов аудита
  • Очистка журнала AppLocker’а
  • Включение / отключение AppLocker’а

Настройка правил по результатам аудита делает очень простым настройку по белому списку.

Блокировка устройств

Скрипт находится в папке «Ограничение установки драйверов»
Запрет установки драйверов по ID или GUID’у класса устройства

  • Отображение текущий правил в виде таблицы с возможностью удаления выбранных правил
  • Выбор блокируемых устройств из таблицы с отображением имени и описания устройств
  • Блокировка работы уже установленных драйверов

Отображение устройств при добавлении правила

В списке будут отображены только те устройства, которые отсутствуют в списке изменяемого правила.
У отображаемых ID устройств будут обрезаны окончания по маскам:

  • &SUBSYS.*
  • &REV.*
  • &CC.*

Т.е. в из ID будет удален указанный фрагмент и все, что за ним.
ID устройств будут добавлены в правила в обрезанном виде.

После исключения устройства из черного списка скрипт включит ранее запрещенное устройство, после ручного исключения из черного списка необходимо задействовать устройство вручную.

Отображение устройств при просмотре / изменении правил

В колонке «Param» отображаются названия параметров политики, в поле «ParamNum» отображаются номера конкретных значений параметров.

После применения правил будут отображены текущие настройки. Для завершения корректировки настроек необходимо закрыть окно.

Фильтр записи

Общее описание возможностей:

  • Отображение настроек для текущей и следующей сессии
  • Настройка параметров оверлея
  • Добавление задачи на включении фильтра записи при активации системы
  • Создание задачи на гибернацию с указанием времени запуска задачи

«VirusEmulator.vbs» - создает на рабочем столе столько ярлыков, сколько указано в поле ввода

Автоматический вход пользователя

  1. В версии Windows после 1903 скрипт включит возможность отключения требования пароля в оснастке учетных записей пользователя
  2. Скрипт запустит оболочку, которую можно вызывать по команде «Netplwiz»

Отображение загрузки системы и входа пользователя

«Отображение загрузки системы и входа пользователя» - папка с группами настроек связанных с отображением загрузки системы:

  • Отображение процесса загрузки системы (подгруппа настроек)
  • Отображение входа пользователя в систему - включение / отключение

Отображение процесса загрузки системы

«Отображение процесса загрузки системы» - группа настроек BCDEdit:

  • Включение / отключение логотипа Windows 10 при загрузке
  • Включение / отключение анимации в виде крутящихся шариков при загрузке

Тиражирование

Подготовка загрузочного носителя

Возможности

  • Подготовка загрузочного носителя с WinPE
  • Запись установочного образа на USB-носитель

Требования

  • Подключенный установочный образ Windows
  • Подключенный USB накопитель, который может быть отформатирован

Результат подготовки загрузочного носителя WinPE

На выбранном носителе для подготовки будет:

  1. Основной раздел с файловой системой NTFS
  2. Загрузочный раздел с файловой системой FAT32

Раздел для хранения образов будет первым т.к. версии Windows 10 до 1703 не видят второго раздела на флэш-диске.
На основной раздел будет скопирован файл «Menu.js» - скрипт с меню, отвечающий за создание и развертывание образов.
На загрузочный раздел будут скопированы файлы, необходимые для загрузки WinPE. В образ «boot.wim» будут помещены файлы из папки «Menu»:

  • Windows\System32\Winpeshl.ini
  • Windows\System32\Winpeshl.vbs

В файле «Winpeshl.ini» указана информация о запускаемом файле вместо стандартной оболочки. Файл «Winpeshl.vbs» отвечает за поиск и запуск файла «Menu.js», который находится на основном разделе.

Результат записи установочного образа

Скрипт выполнит все действия, как и для подготовки загрузочного носителя WinPE. А затем скопирует на основной раздел NTFS файлы, необходимые для запуска штатного установщика Windows и пропишет необходимые настройки для автоматического запуска «setup.exe» скриптом «Menu.js» при загрузке WinPE.
Если в WinPE закрыть штатный установщик Windows, то можно использовать меню скрипта. Автоматический запуск установщика Windows при необходимости можно отключить.

Возможности скрипта тиражирования «Menu.js»

Действия по снятию и развертыванию системы необходимо выполнять в WinPE

Общие возможности скрипта:

  • Снятие образа системного тома - автоматическое создание образа при выборе пункта
  • Развертывание образа - возможность выбора WIM файла образа, а затем индекса образа
  • Подключение \ отключение сетевого диска
  • Экспорт драйверов развернутой системы
  • Импорт необходимых драйверов в развернутую систему на основании подготовленной базы скриптом для работы с драйверами
  • Установка необходимых драйверов в среду WinPE на основании подготовленной базы скриптом для работы с драйверами
  • Автоматическое выполнение любой функции скрипта тиражирования до запуска меню скрипта

Создание образа

При выборе пункта меню создания образа скрипт снимет образ первого найденного тома с системой. Образ будет сохранен в папке «Images» рабочего каталога. Название файла образа будет сформировано автоматически с добавлением даты и времени.

Развертывание образа

Начальная директория выбора файла образа – папка «Images» рабочего каталога. Перед развертыванием образа диск будет очищен и отформатирован. По умолчанию выполняется быстрое форматирование, для выполнения полного форматирования необходимо создать файл «Config.ini» в рабочем каталоге, а в нем создать секцию «Config» с ключом «FullFormat», значение которого будет «1». Пример:

[Config]
FullFormat = 1

Подключение / отключение сетевого диска

Для подключения сетевого диска необходимо указать параметры подключения в файле «Config.ini», который должен находиться в каталоге скрипта. При подключении сетевого диска рабочий каталог будет автоматически изменен на подключенную сетевую папку. При отключении сетевого диска рабочий каталог будет автоматически изменен на каталог расположения скрипта. Пример указания параметров подключения:

[MapNetDrive]
LanPath = \\PCName\d ; (сетевая папка)
User = UserName ; (имя пользователя для подключения к папке)
Password = Password ; (пароль для подключения к папке)

Автоматическое выполнение команд до отображения меню

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

Любую функцию скрипта «Menu.js» можно выполнить автоматически при запуске скрипта, так же можно выполнить любую команду JScript. Для автоматического выполнения функции или команды необходимо их прописать в файл «AutoRun.txt», который должен находиться в рабочем каталоге. Файл «AutoRun.txt» необходимо сохранить в кодировке «ANSI», если файл будет сохранен в кодировке «UTF-8», то первая команда должна находится на второй строке. Для включения режима автоматического выполнения необходимо создать файл «Config.ini» в рабочем каталоге, а в нем создать секцию «Config» с ключом «AutoRun», значение которого будет «1». При изменении значения на «0» автоматическое выполнение будет отключено. Пример:

[Config]
AutoRun = 1

Команды будут выполнены до отображения основного меню. Выполнение команд будет построчным, поэтому многострочные конструкции не будут работать.

Всё, что находится за двойной косой чертой будет проигнорировано

// Текст, который будет проигнорирован

Пример файла «AutoRun.txt» в формате «ANSI» и пример файла «Config.ini» находятся в папке «Menu»

Запуск выполнения команд

В пути к имени файла все косые черты должны быть задвоенными.

Если настроено выполнение функции «AutoRun», то функция выполняется однократно. Но можно запустить ее повторное выполнение.

AutoRun([File], [ShowAllErrors], [ShowErr])

  • File – относительный путь к файлу с перечнем команд. По умолчанию – «AutoRun.txt»
  • ShowAllErrors – если при выполнении команд, указанных в текстовом файле, будут ошибки, то после выполнения всех команд скрипт будет остановлен для отображения ошибок. Допустимые значения:
    • 0 - не отображать ошибки
    • 1 - отображать ошибки (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Пример:

AutoRun("Run.txt") //Выполнение команд из файла «Run.txt», который находится в рабочем каталоге

Подключение сетевого диска

Автоматическое подключение сетевого диска до появления основного меню.
MapNetDrive([Section], [ShowErr])

  • Section – имя секции в файле «Config.ini» с настройками для подключения. По умолчанию – «MapNetDrive»
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Настройки подключения будут использоваться те же, что и при ручном подключении.

MapNetDrive() //Подключение сетевого диска с получением настроек подключения из секции «MapNetDrive» с остановкой при наличии ошибок

Создание образа системного тома

Автоматическое создание образа системного тома до появления основного меню.
CaptureSystemVolume([Confirm], [ShowMsg], [ShowErr])

  • Confirm – определяет требуется ли подтверждение для выполнения действия
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowMsg – определяет требуется ли отображать уведомления о завершении действия с остановкой скрипта
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Примеры:

CaptureSystemVolume() //Создание образа с запросом подтверждения на создание образа и с остановкой для демонстрации результатов или отображения ошибок.
CaptureSystemVolume(0) //Создание образа без запроса на подтверждение создания образа.
CaptureSystemVolume(0, 0, 0) //Создание образа без остановок. 

Развертывание образа системного тома

Автоматическое развертывание образа системного тома до появления основного меню.

В пути к имени файла все косые черты должны быть задвоенными.

DeployImage([ImageFile], [ImageIndex], [DiskNum], [Confirm], [ShowMsg], [ShowErr])

  • ImageFile – путь к WIM-файлу относительно рабочего каталога. (строковое значение)
  • ImageIndex – индекс образа в указанном WIM-файле. (положительное целое число)
  • DiskNum – номер диска, на который будет развернут образ (положительное целое число)
  • Confirm – определяет требуется ли подтверждение для выполнения действия
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowMsg – определяет требуется ли отображать уведомления о завершении действия с остановкой скрипта
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Примеры:

DeployImage("Images\\Image.wim", 2, 1) //Развертывание образа из файла «Image.wim» с индексом «2» на диск «1» с запросом на подтверждение развертывания и остановкой для отображения ошибок и сообщений.
DeployImage("Images\\Image.wim", 2, 1, 0) //Развертывание образа из файла «Image.wim» с индексом «2» на диск «1» без запроса на подтверждение.
DeployImage("Images\\Image.wim", 2, 1, 0, 0, 0) //Развертывание образа из файла «Image.wim» с индексом «2» на диск «1» без запроса на подтверждение, и без остановки для отображение сообщений и ошибок.

Экспорт драйверов из развернутой ОС

Автоматический экспорт драйверов из развернутой ОС до появления основного меню.
ExportDrivers([Source], [Destination], [Confirm], [ShowMsg], [ShowErr])

  • Source – полный путь к образу, из которого будут извлечены драйверы. По умолчанию – первый найденный том с установленной системой.
  • Destination – полный путь или путь относительно рабочего каталога, куда будут сохранены драйверы. По умолчанию «Drivers\(YYYY.MM.DD_HH.MM.SS)». Если указанного каталога не существует, то он будет создан
  • Confirm – определяет требуется ли подтверждение для выполнения действия
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowMsg – определяет требуется ли отображать уведомления о завершении действия с остановкой скрипта
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Пример:

ExportDrivers(0, "SystemDrivers", 0) //Экспорт драйверов из первого найденного тома с установленной системой в каталог "SystemDrivers", который будет создан в рабочем каталоге. Запрос на подтверждение экспорта отключен.

Импорт драйверов в развернутую ОС

Автоматический импорт драйверов в развернутую ОС до появления основного меню.

В указанном пути все косые черты должны быть задвоенными.

ImportDrivers([Source], [Destination], [Confirm], [ShowMsg], [ShowErr])

  • Source – путь к папке с драйверами, inf-файлу или базе данных со сведениями о драйверах. При указании папки будут импортированы драйверы из всех подпапок. Если путь не будет указан, то будет предоставлен выбор папки или файла. При указании пути к базе, будут импортированы только подходящие драйверы для развернутой системы. Как создать базу данных описано в разделе Драйверы.
  • Destination – путь к развернутой системе. По умолчанию – первый найденный том с установленной системой.
  • Confirm – определяет требуется ли подтверждение для выполнения действия
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowMsg – определяет требуется ли отображать уведомления о завершении действия с остановкой скрипта
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Примеры:

ImportDrivers("Drivers", 0, 0) //Импорт всех драйверов без подтверждения из папки "Drivers" в развернутую систему, которая будет найдена автоматически.
ImportDrivers("Drivers\\Base.db", 0, 0) //Импорт подходящих драйверов в развернутую систему, которая будет найдена автоматически.

Установка драйверов в среду WinPE

Автоматическая установка драйверов в среду WinPE до появления основного меню.
InstallDriverWinPE([Source], [Confirm], [ShowMsg], [ShowErr])

  • Source – путь к папке с драйверами, inf-файлу или базе данных со сведениями о драйверах. При указании папки будут установлены драйверы из всех подпапок. Если путь не будет указан, то будет предоставлен выбор папки или файла. При указании пути к базе, будут установлены только подходящие драйверы для текущей системы. Как создать базу данных описано в разделе Драйверы.
  • Confirm – определяет требуется ли подтверждение для выполнения действия
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowMsg – определяет требуется ли отображать уведомления о завершении действия с остановкой скрипта
    • 0 – не требуется
    • 1 – требуется (значение по умолчанию)
  • ShowErr - определяет требуется ли отображение ошибок с остановкой действия во время исполнения. Допустимые значения:
    • 0 - не требуется
    • 1 - требуется (значение по умолчанию)

Пример:

InstallDriverWinPE("Drivers\\Base.db", 0, 0, 0) //Установка подходящих драйверов в текущую среду с отключением: подтверждения на установку, сообщения о завершении действия, отображения ошибок.

Возможные проблемы и решения

Система не загружается после развертывания образа

Для загрузки в UEFI режиме требуется инициализация загрузочного раздела. Инициализацию можно выполнить с помощью различных команд. Для решения проблемы попробуйте использовать разные команды инициализации загрузочного раздела.

  • bcdboot W:\Windows /s S: /f ALL – используется в скрипте
  • bcdboot W:\Windows /s S:
  • bcdboot W:\Windows

W – буква тома, куда была развернута система
S – буква загрузочного раздела

Драйверы

Скрипт позволяет:

  • Экспортировать драйверы из текущей системы
  • Импорт всех драйверов из указанной папки в хранилище текущей системы
  • Установка подходящих драйверов в текущую систему
  • Собрать сведения о драйверах из указанной папки в единую базу данных
  • Отображение всех драйверов в базе
  • Отображение только драйверов из базы, которые подходят для текущей системы
  • Автоматическая установка необходимых драйверов, на основании сведений базы с соблюдением очередности

Автоматическая установка драйверов

При автоматической установке драйверов, с помощью скрипта, будут установлены только те драйверы, которые подходят для текущей системы. Определение необходимости установки драйвера производится по «ID» оборудования. Установка драйверов будет производится по очереди в соответствии с номерами очередности, которые будут присвоены inf-файлам.

Сбор сведений о драйверах

Перед использованием автоматического поиска необходимо собрать сведения об используемом наборе драйверов.

  1. Поместите все драйверы, которые хотите использовать для установки, в единую папку
  2. Запустите скрипт и выберите пункт, который отвечает за сбор сведений о драйверах
  3. Укажите папку, в которой размещены драйверы.

Скрипт создаст базу данных в корне указанного каталога. В базе будут сохранены сведения о драйверах и относительные пути к inf-файлам драйверов. Каждому inf-файлу будет присвоен номер очередности, который будет определять очередность установки драйвера. Номера очередности присваиваются в соответствии с очередностью результатов поиска inf-файлов. Т.е. порядок очередности драйверов будет влиять на порядок установки драйверов.

Установка драйверов

Выполнить установку драйверов можно выбрав соответствующий пункт меню скрипта и указав базу данных, которая была создана при сборе сведений о драйверах.

Для автоматической установки необходимо запустить скрипт и в качестве аргумента указать полный путь к созданной базе данных. Пример:

powershell -command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Unrestricted -Command C:\Script\16.Драйверы\Drivers.ps1 C:\Script\16.Драйверы\Drivers\Base.db'"

Tools

В папке «Tools» находятся модули (PSM1) и утилиты необходимые для работы скриптов «PS1». А также некоторые вспомогательные скрипты.

LGPO

В данной папке находится сама утилита «LGPO.exe» и скрипт для автоматизации экспорта и импорта настроек локальной групповой политики. Подробности о работе с локальной групповой политикой можно прочитать здесь.

Ручной вызов синего экрана

Для включения / отключения ручного вызова синего экрана скрипт меняет значения в реестре для обоих типов клавиатур

Брендирование

С помощью скрипта можно добавлять группу заранее указанных параметров, которые указаны здесь.
В файле «Config\Config.ini» создайте секцию с любым названием и введите необходимые данные, как в примере секции «Кварта Технологии».

Скопируйте логотип в формате «bmp» в папку «Config\Logo».

Запустите скрипт и выберите пункт внесения сведений о производителе, если в конфигурационном файле будет более одной секции, то скрипт предложит выбрать из какой секции будут добавлены данные.

Контроль времени выключения пробной версии

Пробная версия Windows выключается каждый час. Скрипт уведомляет о выключении системы за пять минут.

Политика выполнения сценариев PowerShell

Скрипт упрощает настройку политики выполнения сценариев PowerShell.

Установка универсальных приложений

  1. Загрузите компоненты универсального приложения, как описано здесь
  2. Скопируйте все необходимые компоненты приложения в папку
  3. При необходимости установить более одного приложения создайте папку в которой будут находится папки с компонентами приложений
  4. Запустите скрипт установки универсальных приложений и укажите папку с компонентами универсального приложения

Скрипт установит компоненты универсальных приложений, которые будут находится в указанном каталоге и всех его подкаталогах

Освобождение места

Скрипт помогает использовать возможности освобождения места перечисленные здесь
Удаление:

  • Пакетов приложений
  • Возможностей системы

Сжатие:

  • Перевод ОС в режим сжатия
  • Сжатие dll файлов на системном томе

PSM1

Модули, используемые в наборе скриптов

Модуль "FileAndDir"

Функция «Open-File» служит для диалога выбора файлов. Вы можете изменить способ в консоли или в окне с помощью параметра «D». Без данного параметра выбор файла будет в консоли, а с параметров в стандартной форме «OpenFileDialog»

Многоязычность

В скриптах две независимых системы поддержки множества языков

  • Для скриптов PowerShell - для настройки Windows
  • Для скрипта JScript - скрипт тиражирования запускаемый в WinPE

Скрипты настройки Windows

В самих скриптах указаны ключи, по которым берутся значения из json файлов, которые находятся в папке «Tools\PSM1\Lang». Скрипт берет значение из файла, название которого соответствует текущему значению полученному после выполнения команды

(Get-UICulture).Name

Если указанного ключа в текущем файле нет, то поиск ключа будет выполнен в файле «en-us». Если ключ не найден в файле «en-us», то вместо значения будет подставлен ключ.

Скрипт тиражирования

В скрипте указаны ключи, по которым берутся значения из ini файлов, которые находятся в папке «15.Deployment\01.Create bootable media\Menu\Lang». Скрипт берет значение из файла, название которого соответствует текущему значению полученному из реестра в WinPE. Название секции тоже должно соответствовать значению получаемому нижеуказанным способом

"HKEY_CURRENT_USER\Control Panel\International\LocaleName"

Если указанного ключа в текущем файле нет, то поиск ключа будет выполнен в файле «en-us». Если ключ не найден в файле «en-us», то вместо значения будет подставлен ключ.

автоматизация_win_10_iot_enterprise.txt · Последние изменения: 2023/04/10 13:59 — vladimir