Общие сведения о Windows 10 IoT
Контейнеры Windows для коммерческого развертывания поддерживаются в Windows Server, Windows IoT Server, Windows IoT Корпоративная и Windows IoT Базовая. Начиная с обновления Windows 2018 за октябрь (сборка 17763), контейнеры Windows можно использовать только с Windows Корпоративная и Профессиональная для разработки и тестирования.
Что представляет собой Windows 10 IoT
Windows 10 IoT — это продукт семейства Windows 10, обеспечивающий производительность, безопасность и управляемость корпоративного уровня для Интернета вещей. В ней используются процессы, экосистема и облачные подключения платформы Windows, что позволяет организациям создавать системы Интернета вещей с защищенными устройствами, которые можно быстро подготавливать, легко контролировать и без проблем подключать к общей облачной системе.
Выпуски Windows 10 IoT
Система Windows 10 IoT предоставляется в двух выпусках. Windows 10 IoT Базовая — это младший продукт в линейке операционных систем Windows 10. Она умеет выполнять только одно приложение, но обеспечивает полную управляемость и безопасность, характерные для Windows 10. В отличие от нее, Windows 10 IoT Корпоративная является полной версией Windows 10 с множеством функций для создания специализированных устройств со строго заданным набором приложений и периферийных устройств.
Различия между Windows 10 IoT Базовая и Windows 10 IoT Корпоративная
Хотя Windows 10 IoT Базовая и Windows 10 IoT Корпоративная имеют сходные названия, их возможности и уровни поддержки существенно различаются. Ниже приведен список функций, подчеркивающих различия между этими выпусками.
Функция или выпуск Windows 10 IoT Базовая Windows 10 IoT Корпоративная Возможности для пользователя Одно активное приложение UWP одновременно (работа с фоновым стеком описана в документации по IoT оболочки) с поддержкой фоновых приложений и служб. Традиционная оболочка Windows с расширенными функциями блокировки Поддерживается работа без монитора Да Да Поддерживаемая архитектура приложений Только пользовательский интерфейс универсальной платформы Windows Полная поддержка пользовательского интерфейса Windows (например, UWP, WinForms, и т. д.) Кортана Пакет SDK для Кортаны Да Присоединение к домену Только AAD AAD и традиционный домен Управление MDM MDM Технологии безопасности устройств Доверенный платформенный модуль, Secure Boot, BitLocker, Device Guard и аттестация работоспособности устройств Доверенный платформенный модуль, Secure Boot, BitLocker, Device Guard и аттестация работоспособности устройств Поддержка архитектуры ARM x86, x64 и ARM x86 и x64 Лицензирование Лицензионное соглашение для Интернета и соглашения для встроенных OEM систем, без отчислений Прямые и косвенные соглашения для встроенных OEM систем Сценарии использования Цифровые подписи, интеллектуальные здания, шлюз Интернета вещей, компьютерный интерфейс, умный дом, носимая электроника Промышленные планшеты, точки продаж, киоски, цифровые вывески, банкоматы, медицинские устройства, производственное оборудование, тонкий клиент
Сведения о минимальных требованиях см. на сайте оборудования для Windows.
Если вы хотите узнать больше о точках продаж, посетите раздел документации UWP по этой теме.
Различия между Windows 10 Desktop и Windows 10 IoT Базовая
Различия в доступности функций в версиях Windows Desktop и IoT Базовая
Различия в поддержке драйверов
Различия в наборе доступных реестров
Поддержка разных команд
Упомянутые в этой публикации команды могут со временем измениться, поскольку Windows 10 IoT Базовая совершенствуется.
Поддержка IoT Edge в Windows 10 IoT
Чтобы узнать больше о поддержке IoT Edge в Windows 10 IoT, изучите раздел об операционных системах из этой статьи об Azure IoT Edge.
«IoT» или «не IoT» – вот в чем вопрос! (Windows 10 IoT FAQ), updated
В данной статье мы постараемся ответить на часто задаваемые вопросы по отличиям настольных версий Windows 10 и так называемых «Embedded»-версий Windows 10 (т.е. версий для производителей устройств строго определенного функционала), которые получили приставку «IoT», от «Internet of Things». Пусть вас не смущает аббревиатура, эта ОС применима абсолютно во всех устройствах, которые не являются универсальными ПК (об этом — ниже).
Если в прошлых редакциях эти отличия были очевидны – явно отличающиеся названия, компонентная структура, использование специальных инструментов для сборки, то для Windows 10 Microsoft в стремлении к унификации версий, сделал более схожими названия, технические возможности, инструменты, политику поддержки и продвижения.
Все это привело к массе вопросов от пользователей (и даже сотрудников Microsoft из других подразделений!) относительно отличий Embedded и не-Embedded версий, способов их лицензирования, активации, обновления и т.п.
В связи с этим, мы решили сделать небольшой FAQ c ТОП5 вопросов по встраиваемым версиям Windows 10. Надеемся, эта информация будет полезна аудитории разработчиков и поможет сделать правильный выбор версии ОС в зависимости от проекта.
Вопрос: Чем отличаются версии Windows 10 Enterprise от Windows 10 IoT Enterprise?
Ответ: Рассмотрим три аспекта отличий: технический, лицензионный и ценовой.
Технически (если рассматривать дистрибутив LTSС), эти версии идентичны. Однако, для IoT-версии можно получить особый ключ (ePKEA), не требующий активации для начала работы (см. вопрос «Нужна ли активация для Windows 10 IoT?»). Ключ для «настольной» Windows 10 Enterprise потребует активации на каждом устройстве.
Лицензионные же отличия достаточно существенны:
Во-первых, лицензия Windows 10 Enterprise доступна только для конечного пользователя (организации) и является именной лицензией для внутреннего использования. Ее перепродажа другому лицу невозможна. В то время как лицензия Windows 10 IoT Enterprise не именная, поставляется через Embedded-дистрибуторов сборщикам и производителям устройств, которые могут перепродавать эту лицензию неограниченному числу клиентов вместе с устройством, на которое она установлена (так называемая OEM-лицензия);
Во-вторых, лицензия Windows 10 Enterprise может быть установлена на любое компьютерное устройство, тогда как Windows 10 IoT Enterprise – только на устройство специализированного применения. Здесь имеется в виду не форм-фактор устройства, а его назначение. Это может быть обычный ПК, но применяемый для какой-то узкой функции, например — касса или видеосервер. Ограничение сугубо лицензионное, технически система установится везде, где поддерживается Windows 10.
В качестве наиболее распространенных устройств на основе этих ОС можно привести: POS-системы, инфо- и платежные киоски, системы видеонаблюдения, СКУД, медицинские устройства, системы промышленной автоматизации, тонкие клиенты, устройства самообслуживания, цифровые вывески и меню, постаматы и т.п., все перечислить невозможно, т.к. новые типы устройств появляются постоянно (например, в связи с COVID — «умные» санитайзеры и тепловизоры);
В-третьих, в Windows 10 IoT Enterprise существуют 3 варианта лицензирования (3 разных SKU), в зависимости от мощности (модели) процессора, чего нет в настольной Windows 10 Enterprise, где одна редакция и одна цена. Эта уникальная схема ценообразования позволяет экономить до 70% от цены настольного аналога, если ваше устройство работает на CPU типа Atom и до 50% на CPU типа Core i3/i5!;
В-четвертых, Windows 10 IoT Enterprise поставляется производителям в полной версии, а настольная Windows 10 Enterprise – только в версии «обновление» и, соответственно, потребует наличие установленной предыдущей версии.
Последний немаловажный фактор — поддержка. Все IoT-версии с дистрибутивом LTSC гарантированно поддерживаются Microsoft в течение 10 лет и столько же времени доступны для покупки.
Ценовые отличия: В силу оптимизации под узкоспециализированные ПК, все лицензии IoT существенно дешевле чем настольные версии и экономически оправданы во всех случаях, где устройство не является универсальным ПК. Причем оплату за лицензии производитель осуществляет только когда получает заказ на устройства от своего клиента, поскольку дистрибутив (и право установки внутри организации) ему предоставляется бесплатно.
Вопрос: Что такое дистрибутив LTSС и чем он отличается от обычного дистрибутива Windows 10.
Ответ: LTSС – это Long Term Servicing Channel – особый вариант политики управления обновлениями, в котором не поставляются автоматически функциональные (версионные) обновления операционной системы. Предназначен он для «mission critical» устройств, где такое «самообновление» может повлечь за собой незапланированный останов устройства. Критичные исправления и обновления безопасности будут по-прежнему доставляться регулярно в соответствии с установленной для устройств политикой, т.е. устройство остается защищенным. Как уже упоминалось, поддержка и поставка обновлений безопасности осуществляется в течение 10 лет, в отличие от «настольных» вариантов, где каждый релиз поддерживается полтора года, после чего приходится переходить на новую версию.
Для LTSC существует отдельный дистрибутив Windows 10 IoT Enterprise, в котором отсутствуют: Store UX, Cortana, Edge и приложения, обслуживаемые через Store (News, Sports, Finance и т.п.).
Как правило, под Windows 10 IoT Enterprise понимают именно Windows 10 Enterprise LTSС. Именно этот дистрибутив чаще всего используется производителями специализированных устройств.
Вопрос: Требуется ли активация для Windows 10 IoT?
Ответ: В отличие от Windows 10 Enterprise, ключ для Windows 10 IoT Enterprise LTSC (называется ePKEA) вводится на производстве и не требует активации пользователем и подключения к Интернет для начала работы. В дальнейшем, в случае подключении к сети Интернет, система активируется самостоятельно и «бесшумно» без каких-либо видимых уведомлений и изменений в работе устройства. Если подключения не произойдет – устройство будет продолжать работать весь срок службы, не требуя активации.
Мы готовы ответить и на другие ваши вопросы. Обращайтесь, пишите комментарии!
UPD: В феврале 2021 года, Windows 10 Enterprise (а вместе с ней и ее аналог — Windows 10 IoT Enterprise) получила долгожданный сертификат ФСТЭК, что расширяет сферу применения этой ОС.
Сертификат номер 4369 подтверждает, что операционная система Windows 10 IoT Enterprise LTSC 2019 (1809) соответствует требованиям доверия 6 уровня, требованиям безопасности информации к операционным системам и профилю защиты операционных систем типа А шестого класса защиты. Срок действия сертификата: до 10.02.2026.
начало работы с Windows IoT Enterprise
в этой статье приводятся общие сведения о продукте и инструкции по началу работы с Windows IoT Enterprise.
что такое Enterprise IoT Windows?
Windows IoT Enterprise — это полная версия Windows Enterprise, которая обеспечивает управляемость и безопасность корпоративного уровня для решений IoT. Windows IoT Enterprise предоставляет все преимущества всемирной экосистемы Windows. это двоичный эквивалент Windows Enterprise, поэтому вы можете использовать те же привычные средства разработки и управления, что и клиентские компьютеры и ноутбуки. Однако, когда речь идет о лицензировании и распространении, версии для настольных систем и IOT различаются. на сегодняшний день существует два выпуска Windows iot Enterprise: Windows 10 IoT Корпоративная и Windows 11 iot Enterprise.
почему клиент выбирает Windows IoT Enterprise?
существует три основных причины, по которым клиенты решили разрабатывать Windows IoT Enterprise:
при создании любого типа устройства OEM с фирменным стилем, такого как pos-терминал или розничное устройство, промышленное оборудование автоматизации, цифровая подпись, медицинское оборудование или любое устройство с экраном, Windows IoT Enterprise является решением для вас.
узнайте, как наши клиенты используют Windows IoT Enterprise для выполнения своих бизнес-задач.
Обзор документации
в этом наборе документации будет рассмотрена техническая декомпозиция того, что входит в состав Windows IoT Enterprise.
Руководство по оборудованию
в этом разделе содержится информация об оборудовании, необходимое для работы Windows IoT Enterprise в качестве ос устройства.
В число статей входят:
Краткие руководства
в этом разделе содержатся краткие руководства по началу работы с Windows IoT Enterprise.
В число статей входят:
Режим полного экрана
в этом разделе содержатся сведения о функциях и возможностях полноэкранного режима, а также о том, как включить эти функции в Windows IoT Enterprise.
В число статей входят:
Расширенные функции блокировки
в этом разделе вы узнаете, как создать среду блокировки с помощью Windows IoT Enterprise OS features.
В число статей входят:
Функции брендинга
В этом разделе рассматривается создание настраиваемого интерфейса пользователя, который выделяет вашу торговую марку. В число статей входят:
Управление устройствами
узнайте больше о решениях по управлению устройствами, которые можно использовать с Windows IoT Enterprise.
В число статей входят:
Функции устройств Интернета вещей
в этом разделе приводятся общие сведения о многих встроенных функциональных возWindowsх устройств IoT Enterprise.
В число статей входят:
Коммерциализация
узнайте, как коммерческое применение свои устройства Windows IoT Enterprise.
В число статей входят:
Мягкое Real-Time
узнайте, как использовать возможности программного Real-Time с устройствами Windows IoT Enterprise.
Дополнительные ресурсы
Эти ресурсы предоставляют клиентам и партнерам дополнительные сведения и поддержку.
Windows 10 IoT — небольшой обзор новой редакции ОС для маленьких устройств
На прошлой неделе мы рассказали про то, как видим Интернет Вещей. Про то, как в Microsoft Technology Center уже функционирует концепт умного офиса. Про то, как подключить Arduino к Raspberry Pi 2, а также про то, как с одноплатной системы можно собирать данные, отправлять и визуализировать в облаке Microsoft Azure. Прошлая неделя получилась именно такой – под знаком облака. Эта пройдёт под знаком Windows 10 – сегодня про общие моменты, в среду про AllJoyn, в пятницу – про все те интереснейшие партнёрства, которые мы заключили (Canonical, Arduino и др.) и про то, что они несут в этот мир.
Как мы уже писали, флагман нашего операционносистемостроения Windows 10, выходящий 29 июля, будет работать на достаточно компактных одноплатных системах, типа Raspberry Pi 2 или Intel Minnowboard MAX, которые могут стать основой домашних интеллектуальных систем, подключаемых к Интернету вещей. К ситуации, в которой мы можем написать приложение в Visual Studio и, собрав его под ARM либо x86, развернуть не только на десктопе, но и на плате, Microsoft шёл примерно с 2011 года (обязательно посмотрите про эту историю в очень интересном докладе Дона Бокса на WinHEC 2015), когда были предприняты первые шаги к объединению платформ. Теперь будет единая система, которая будет называться Windows 10, и иметь редакцию, по которой и будет определяться ее принадлежность. По редакциям окончательное понимание придёт позже, но уже сейчас известно, что их будет около 7. К устройствам прямое отношение имеют три:
Пока Mobile Enterprise и Industrial находятся в недоступном нашем рукам режиме, расскажем про IoT Core. IoT Core – это версия, оптимизированная под устройства, у которых на борту есть достаточно ограниченные ресурсы. Минимальные системные требования для Core – 256 мегабайт ОЗУ и 2 гигабайта хранилища. Плюс архитектура x86/ARM. На июль 2015 года доступна в гарантированно-рабочем виде для двух плат – Raspberry Pi 2 (ARM) и Intel Minnowboard MAX (x86). Процесс установки практически идентичен, за исключением подготовительных действий, которые на Minnowboard заключаются в манипуляциях в UEFI.
Однако необходимо учитывать отсутствие драйверов и поддержки для некоторых модулей (например, Wi-Fi), что блокирует часть сценариев. Но это всё будет – проект молодой, и разработчики всё сделают.
Как начать использовать? (краткий совет)
Достаточно просто. Зайдите на официальный сайт, выберите страницу с вашим устройством и идите по инструкции. С момента запуска программы инструкция претерпела не одну редакцию, и теперь всевозможные проблемы и нюансы уже описаны. Единственный момент – количество оборудования, которое нужно для запуска и тестирования. Еще из опыта использования – не все мыши корректно определяются. Самым надёжным способом является использование проводной мыши.
Я рекомендую хотя бы попробовать — для меня опыт подключения в виде удалённого отладчика платы в Visual Studio был достаточно интересен. Конечно, есть всяческие инструменты (один из моих любимых, VisualMicro, в их числе), которые расширяют функциональность VS, однако всегда приятно, когда что-то нужное идёт сразу в комплекте. Мы ещё будем писать про Windows 10 IoT, и показывать то, что можно сделать с ней, как связать с облаком и прочее. Спасибо за внимание
Windows 10 IoT Enterprise 2019 — режим мультикиоска
Windows 10 IoT Enterprise 2019 – маркетинговое наименование очередного выпуска Windows 10. Выход данной версии был объявлен в сентябре 2018 года, соответственно имеет версию 1809, 18 – год, 09 – месяц. По новому выпуску Windows 10 1809 написано много статей, но большинство из них посвящено различным «бантикам», «красивостям» и различному функционалу, который востребован в домашних условиях.
В данной статье пойдет речь только о функционале, который может быть востребован среди производителей устройств фиксированного назначения. А именно о новых возможностях режима «Киоск». Также будет затронута тема изменения наименований схем обслуживания редакций Windows корпоративного сегмента.
Старая схема обслуживания с новым названием
Начну с небольшого пояснения, в корпоративном сегменте редакций Windows есть две схемы обслуживания, по которым Windows получает обновления. Схемы обслуживания имеют буквенное обозначение. Сейчас ветки обслуживания называются LTSC и SAC.
LTSC – означает Long Term Servicing Channel (с долгосрочным обслуживанием). Ранее такой канал назывался LTSB – Long Term Servicing Branch, Майкрософт просто изменил название канала обслуживания, само обслуживание осталось прежним.
Также Майкрософт поменял название ветки обслуживания CBB – Current Branch for Business, теперь эта ветка обслуживания называется SAC – Semi-Annual Channel. Опять же поменялось только название.
Но следует упомянуть, что для веток обслуживания LTSC и SAC используются разные дистрибутивы Windows.
Немного о новом режиме киоска в SAC
Как я уже говорил, у LTSC и SAC разные дистрибутивы. В LTSC нет стандартных универсальных приложений и магазина приложений, а в SAC есть. Соответственно, в LTSC нет браузера Edge, а в SAC он есть. Если при настройке киоска выбрать браузер Edge, то теперь доступы два режима:
Не буду останавливаться на настройке данных режимов, т.к. настройка очень простая и выполняется в графическом интерфейсе. Просто создайте пользователя, который не состоит в группе «Администраторы», включите для него режим киоска с использованием EDGE и посмотрите на работу данных режимов.
Киоск с множеством приложений
Некоторые думают, что лицензионное использование Windows 10 IoT Enterprise подразумевает работу только одного приложения на устройстве, на самом деле это не так. Устройство должно быть предназначено для выполнения одной бизнес-задачи и у пользователя не должно быть доступа к рабочему столу. Теперь Майкрософт сам дал инструмент для использования множества приложений. Данный режим называется «multi-app kiosk», далее для краткости я буду называть его «мультикиоск». В данной статье мы рассмотрим настройку данного режима с помощью пакета обеспечения и некоторые особенности данного режима.
Немного о режиме «Мультикиоск»
При входе в учетную запись пользователя для которой настроен режим мультикиоска система будет работать в режиме планшета. Меню «Пуск» будет развернуто на весь экран, в котором будут отображаться плитки приложений.
Перечень основных настроек и возможностей режима:
Стоит обратить внимание на пункт 5. По умолчанию будет разрешена работа только тем приложениям, которые необходимы для работы системы, остальные приложения нужно добавить в список разрешенных. Т.е. теперь не нужно отдельно настраивать AppLocker. Кстати, чтобы избежать конфликта настроек AppLocker’а, в режиме мультикиоска все настроенные правила AppLocker’а действовать не будут.
В пункте 6 обозначена хорошая возможность, но на данный момент возможно дать разрешение на запись только для папки «Downloads». Режим позволяет использовать универсальные и классические приложения. Все настройки режима указываются в XML-файле, в котором также можно указать настройки для киоска с одним приложением.
А теперь попробуем все это настроить…
Что нам понадобится…
Он сказал – «Поехали!»
Все опыты я буду проводить на Windows 10 IoT Enterprise 1809 LTSC x32 коммерческая версия, а не демонстрационная. Система будет без активации т.к. отсутствие активации не сказывается на функционале системы. Я взял 32 бита только потому, что она занимает меньше места и работать с образами системы будет быстрее.
Шаг 1 – установка
Установка Win 10 IoT Enterprise ничем не отличается от установки Win 10 Enterprise, поэтому весь процесс установки описывать не буду, скажу лишь о некоторых нюансах.
На всякий случай напомню, не ставьте систему поверх установленной. Когда установщик спросит о месте установки системы удалите все разделы на будущем системном диске и укажите неразмеченный диск.
Ставим систему без подключения к интернету, чтобы система не подтянула ничего лишнего.
Т.к. мы будем создавать резервные образа системы и для этого будем ее запечатывать в режиме аудита, то можно сэкономить немного времени загрузив систему в режиме аудита сразу после установки. Для этого, когда система у Вас попросит выбрать регион «Let’s start with region. Is this right» просто нажмите «Ctrl+Shift+F3».
Шаг 2 – создаем образ системы
Т.к. мы будем издеваться над системой пробовать различные новые настройки, то не исключено что что-то пойдет не так и нужно будет вернуть систему в исходное состояние. А для быстрого возврата в исходное состояние нужно создать образ системы. Единственное что я сделаю, это скопирую «джентльменский набор» – скрипт и файл ответов. Все файлы у меня находятся на в папке «Sysprep», которую я скопирую в корень системного диска. И естественно, я поделюсь с Вами данным «джентльменским набором».
При запуске скрипт будет проверять наличие учетной записи «Admin» и создавать ее при ее отсутствии. Учетная запись будет добавлена в группу «Администраторы».
При запечатывании в режиме аудита скрипт будет добавлять в реестр команду на завершение процесса «sysprep.exe» чтобы не закрыть окно sysprep’а каждый раз вручную. При запечатывании в режиме приветствия скрипт удалит из реестра команду для закрытия окна и сам поменяет значение архитектуры в файле ответов на текущую. В файле ответов содержатся параметры для загрузки системы без участия пользователя и команда для удаления папки «Sysprep» в корне системного диска.
Теперь я запечатаю систему в режиме аудита с помощью «Sysprep.bat» и сниму образ системы. Снимать образ системы я буду с помощью DISM’а и буду снимать образ только системного тома. Если Вы будете снимать образ только системного тома, а не всего диска, то не забывайте копировать содержимое каталога «Windows\System32\Recovery» на первый том в папку «Recovery\WindowsRE» после разворачивания системы. Это нужно будет сделать до загрузки ОС т.к. после загрузки ОС каталог «Windows\System32\Recovery» уже будет пустым.
Шаг 3 – русификация системы
Языковой пакет можно установить без подключения к интернету, если этот пакет у Вас есть. Если нет, то система сама его загрузит из интернета, когда Вы добавите язык в настройках. Только не нужно брать языковой пакет от предыдущих версий ОС. Для Windows 10 1809 должен быть языковой пакет именно для Windows 10 1809.
Майкрософт следует своему плану – постепенному переводу настроек из классического меню в новое, поэтому в классической панели управления Вы уже не найдете настроек для изменения языка и установки языкового пакета. Данные настройки теперь только в параметрах системы.
В режиме аудита Вы можете столкнуться с проблемой открытия параметров системы из меню «Пуск», для открытия параметров системы выполните команду – «ms-settings:», обратите внимание на двоеточие в конце команды, без него команда не будет работать. После однократного открытия параметров системы с помощью данной команды, его можно будет открывать с помощью графического меню.
Но в параметрах системы Вы можете установить языковой пакет если система подключена к интернету, там нет возможности выбора установки языкового пакета из локального файла.
Не буду описывать процесс локализации системы т.к. это существенно утяжелит статью, тем более что процесс локализации подробно описан здесь. Но хотелось бы обратить Ваше внимание на особенность изменения языка системы после установки языкового пакета с помощью консоли. Данная особенность описана в той же вики, на которую я дал ссылку ранее, в подразделе «Добавление языка в список языков».
Я установлю языковой пакет без подключения к интернету.
После полной локализации системы обязательно создайте образ системы.
Шаг 4 – установка необходимых приложений
Т.к. в системах LTSB и LTSC нет магазина приложений, то установка приложений из «Microsoft Store» вызывает некоторые трудности, а именно – загрузка приложения. Для загрузки приложений компания «Adguard» сделала очень удобный сервис – «Adguard Store», с помощью которого можно получить временные ссылки на загрузку приложений и их компонентов.
Для установки приложения Вам понадобятся файлы с расширениями «Appx» и «AppxBundle». Перед установкой самого приложения необходимо установить его компоненты. Как правило компоненты от приложения можно интуитивно отличить по названию файла.
Чтобы не делать статью слишком большой не буду подробно описывать процесс установки приложений, тем более что по установке есть подробная инструкция. Но добавлю еще один способ установки приложений в текущую учетную запись. Приложения можно установить с помощью программы «App Installer», но для установки приложений потребуется подключение к интернету, зато приложения можно будет установить двойным щелчком мыши и вам не понадобятся его компоненты, все необходимые компоненты загрузит и установит «App Installer».
И небольшое напоминание, при установке приложения в текущую учетную запись нельзя будет запечатать систему. Как установить приложения чтобы была возможность запечатать систему смотрите в вышеупомянутой инструкции. А для проверки работы мультикиоска вполне хватит уже имеющихся приложений.
Шаг 5 – создание файла настройки для мультикиоска
Вот мы и добрались до самого интересного – до настройки режима киоска. Смотрим в инструкцию по настройке и видим. Прежде всего нам понадобится создать конфигурационный XML-файл, полный пример которого можно посмотреть здесь.
Начнем с настройки расположения плиток. Самый простой способ создания XML-конфигурации настройки плиток – экспорт их текущего состояния.
Первым делом добавим в меню «Пуск» плитки тех приложений, которые нам нужны. Вызываем поиск «Win+s», находим нужное приложение, нажимаем на нем правой кнопкой мыши и выбираем пункт «Закрепить на начальном экране».
Я закрепил следующие приложения:
Последние два приложения были закреплены т.к. в стандартной поставке LTSC других универсальных приложений просто нет. Обратите внимание, что плитки классических приложений ссылаются на ярлыки. Теперь путем передвижения плиток непосредственно в меню «Пуск» я разделю закрепленные плитки на две группы. Для создания новой группы плиток перетащите плитку существенно выше или ниже других плиток, при этом высветиться интуитивно понятный разделитель. Вы можете назвать группы по своему усмотрению, для этого разместите курсор мыши выше группы, а когда появится надпись – «Назвать группу» нажмите левой кнопкой мыши. Первую группу я назову «Настройки», в нее войдут плитки «Параметры» и «Безопасность Windows». Вторую группу я назову «Офисные приложения», в которую войдут все остальные плитки. Кстати, можно перемещать целиком группы плиток, перетаскивая их за две полоски, которые находятся справа вверху от названия группы.
Т.к. на плитке «Безопасность Windows» не умещается название полностью, я изменю ее размер на «Широкий». Для изменения размера плитки нужно нажать на плитке правой кнопкой мыши и выбрать пункт «Изменить размер».
После настройки экспортируем текущее состояние, выполняем команду в среде PowerShell – «Export-StartLayout – path C:\Sysprep\StartLayout.xml».
Дальше проще всего не создавать файл настроек самостоятельно, а отсюда взять пример файла настроек – нажимаем на кнопку «Copy», вставляем содержимое в блокнот и сохраняем как «MultiAppKiosk.xml». Теперь меняем настройки на свои. Для изменения настроек прикрепленных плиток копируем весь блок «StartLayoutCollection» из «StartLayout.xml» в «MultiAppKiosk.xml». Чтобы добавить приложения в разрешенные необходимо вставить идентификаторы универсальных приложений в раздел «AllowedApps» и в этот же блок добавить полный путь к исполняемым файлам классических приложений, который прописан в свойствах ярлыках, на которые ссылаются плитки. Для быстрого перехода к ярлыку, нажмите правой кнопкой мыши на закрепленной плитке и пройдите по меню «Дополнительно > Перейти к расположению файла». Обратите внимание, для указания ID универсального приложения используется параметр «AppUserModelId», а для указания полного пути к классическому приложению используется параметр «DesktopAppPath». И еще один маленький нюанс, если Вы планируете использовать IE в системе x64, то в перечне разрешенных приложений необходимо указать два пути для исполняемого файла «Program Files\Internet Explorer\iexplore.exe» и «Program Files (x86)\Internet Explorer\iexplore.exe».
Доступ к папкам я давать не буду, поэтому удаляю секцию «FileExplorerNamespaceRestrictions».
Отображение панели задач мне не помешает, поэтому в секции «Taskbar» оставляю все как есть.
В примере прописано два профиля, но у меня будет только один профиль, поэтому секцию с вторым профилем можно удалить. Перед удалением обратите внимание на пример автоматического запуска приложения с аргументами.
В секции «Configs» учетные записи привязаны к профилям, обратите внимание, что к одному профилю можно привязать множество учетных записей. Но т.к. меня интересует только одна учетная запись, то я удалю все привязки кроме первой – блоки «Config». В оставшейся привязке пропишу имя пользователя «User».
У меня получился вот такой файл с параметрами
Когда будете делать свои XML-файлы настройки не забывайте, что у каждого профиля должен быть уникальный ID, причем не только в пределах одного XML-файла, а в одной ОС. Т.е. в идеале чтобы не запутаться можно каждый раз создавать новый идентификатор, это можно сделать в среде PowerShell с помощью команды «[guid]::NewGuid()». И обязательно сохраняйте файл в кодировке «UTF-8», если файл будет сохранен в кодировке «ANSI», то при сборке пакета подготовки получите ошибку если в XML-файле будет кириллица.
Шаг 6 – применение настроек мультикиоска
Рассмотрим два способа применения настроек, описанных в конфигурационном файле. Первый – с помощью пакета подготовки, который нужно создавать в ICD. Для кого-то, возможно, такой способ будет более привычным. Второй – с использованием «MDM Bridge WMI Provider», этот способ мне показался более удобным.
Способ №1
У кого нет ICD, скачиваем ADK и устанавливаем. Установка ADK очень простая, набор компонентов можно оставить по умолчанию.
Запускаем ICD, нажимаем на плитку «Дополнительная подготовка», указываем имя и папку проекта и нажимаем «Далее». В следующем окне выбираем «Все выпуски Windows для настольных компьютеров» и нажимаем «Далее». Импорт пакета подготовки можно пропустить, нажимаем «Готово».
Раскрываем выпадающее меню «Параметры среды выполнения», далее раскрываем подменю «AssignedAccess» и выбираем пункт «MultiAppAssignedAccessSettings». В верхней части средней секции окна ICD нажимаем кнопку «Обзор» и указываем расположение XML-файла с настройками. На всякий случай можно сохранить проект нажав «Ctrl+s». В левой верхней части ICD выбираем «Экспорт» в выпадающем меню выбираем пункт «Пакет подготовки». В качестве владельца выбираем «ИТ-администратор» все остальные вопросы можно пропустить, нажимая «Далее» и в конце нажимаем «Сборка» и «Готово».
В установленной системе не забываем создать пользователя «User», его нельзя добавлять в группу «Администраторы» иначе мультикиоск работать не будет. Я создал пользователя в оснастке «Управление компьютером» с неограниченным сроком действия пароля.
Теперь запускаем пакет подготовки в ранее установленной системе. После применения пакета подготовки изменится меню пуск и у администратора. В левом столбце пуска должны исчезнуть кнопки: «Документы», «Изображение», «Параметры». Если меню пуск не изменилось, то что-то пошло не так. Установленный пакет можно удалить если открыть окно «Параметры > Учетные записи > Доступ к учетной записи места работы или учебного заведения > Добавление или удаление пакета подготовки».
Если меню пуск изменилось, то настройки применены к системе, заходите под пользователем, для которого настроен мультикиоск и посмотрите на результат.
Способ №2
Применение настроек с помощью «MDM Bridge WMI Provider» описано здесь. Удобство данного способа в гибкости использования и возможности избавиться от множества ручных операций, которые нужны для создания пакета подготовки. Здесь каждый для себя может сделать решение, которое будет удобно именно ему. Я для себя сделал вот такую пару скриптов.
Если вы хотите использовать мое решение, то сохраните в одну папку вышеуказанные скрипты с их оригинальными именами и в эту же папку положите файл «PsExec.exe». В этой же папке создайте папку «XML» и скопируйте в нее XML-файлы для настройки мультикиоска. Я буду использовать тот же файл, что и в первом способе.
Немного об особенностях скрипта. Скрипт рассчитан на использование XML-файлов с кодировкой «UTF8», если вы хотите использовать кодировку «ANSI», то из параметра чтения файла уберите параметр «encoding UTF8». В папку «XML» необходимо размещать XML-файлы без замены символов, скрипт сам заменит спецсимволы на соответствующие обозначения. Чтобы не запутаться в GUID’ах привязки пользователей к профилям вы можете просто указывать номер или имя пользователя в фигурных скобках, все содержимое в фигурных скобках будет заменено на GUID’ы.
Использовать скрипт очень просто, запускаете и выбираете необходимый пункт. Для изменения текущей конфигурации на новую не обязательно удалять текущую, она будет перезаписана. Не забывайте создавать пользователей, которые прописаны в конфигурационном файле.
При просмотре текущей конфигурации мультикиоска в той же сессии, в которой она была применена, вместо спецсимволов будут отображены сочетания замещающих символов. После смены сессии (перезапуска скрипта), все спецсимволы будут отображены в оригинальном виде.
Шаг 7 – запечатывание системы
Мультикиоск работает, ну вот и все, казалось бы…
Если все идет по плану, значит вы чего-то не замечаете.
Не забываем, что нам еще нужно переводить систему из режима аудита в режим приветствия. Ну мы же к этому готовы, запускаем «Sysprep.bat», выбираем пункт 2, система запечатывается. Включаем устройство, система загружается, входим в учетную запись пользователя для которого настроен мультикиоск и не можем войти. После надписи «Добро пожаловать» появляется надпись «Выход из системы».
Сначала я хотел описать только решение проблемы, но позже решил описать шаги по выявлению проблемы и поиску наиболее простого решения т.к. наверняка многих читающих будут терзать смутные сомнения – «А если вот так…». Думаю, что описание различных экспериментов сэкономит вам значительную часть времени при желании найти другое решение. Чтобы информация была максимально точной, и чтобы лишний раз убедиться в отсутствии каких-либо ошибок, описание экспериментов я буду делать в формате «сделал – записал». Т.е. я проделаю описываемые эксперименты еще раз.
Эксперименты
Что же у нас получилось. В системе две учетные записи:
«Admin» – в группе «Администраторы»
«User» – в группе «Пользователи»
В режиме аудита мультикиоск работал, запечатали – не работает.
Эксперимент 1
Удаляем установленный пакет подготовки, в оснастке «Управление компьютером» удаляем пользователя «User» и создаем нового пользователя с именем «User», применяем пакет подготовки, заходим в учетную запись «User» – не работает. Заходим под именем «Admin», удаляем пользователя «User» из группы «Пользователи», добавляем в группу «Администраторы», заходим под именем «User» – не работает. Заходим под именем «Admin», удаляем пакет подготовки с мультикиоском, заходим под именем «User» – получилось войти, но естественно режим мультикиоска не работает т.к. был удален пакет подготовки.
Эксперимент 2
Заливаем образ системы – русифицированный в режиме аудита.
ОС загрузилась, нажимаем «Win+r», т.к. окно sysprep’а у нас закрылось автоматически выполняем команду «sysprep», в открывшемся окне запускаем «sysprep». Настройки sysprep’a в окне: «Переход в окно приветствия системы (OOBE)», «Подготовка к использованию», «Перезагрузка». Жмем «ОК» и ждем приветствия ОС. Отвечаем на вопросы при первой загрузке системы: «Continue in selected language?» – «русский»; регион – Россия; раскладка клавиатуры – Русская; добавить вторую раскладку клавиатуры – пропустить; «Давайте подключим вас к сети» – «Пока пропустить»; подключитесь к интернету – нет; лицензионное соглашение – принять; «Кто будет использовать этот компьютер» – «Test»; создание пароля – оставляю поле пустым; удобная работа на разных устройствах – нет; параметры конфиденциальности – принять. ОС загрузилась, в оснастке «Управление компьютером» создаем пользователя с именем «User», добавляем пакет подготовки. Результат – не работает.
Эксперимент 3
Заливаем образ системы – русифицированный в режиме аудита.
ОС загрузилась, подключаем систему к инету, выполняем команду «gpedit.msc» и в разделе «Центр обновлений Windows» включаем параметр «Включить рекомендуемые обновления через автоматическое обновление», на всякий случай перезагружаемся. В центре обновлений жмем «Проверить наличие обновлений» и перезагружаемся до тех пор, пока не будут установлены все обновления. Отключаем систему от интернета. Запускаем «sysprep» в графическом режиме и повторяем все действия, которые описаны в предыдущем шаге с запуска утилиты «sysprep» до добавления пакета подготовки. Результат – не работает.
Эксперимент 4
Заливаем образ системы – англоязычный в режиме аудита.
Запускаем «sysprep» в графическом режиме, запечатываем ОС с теми же параметрами что и во время эксперимента 2. При первой загрузке системы выбираем те же параметры что и в эксперименте 2, за исключением региональных и языковых параметров т.к. русского языка нет. Точно так же создаем пользователя «User» и добавляем пакет подготовки. Результат – работает. Т.е. проблема связана с локализацией.
Эксперимент 5
Заливаем образ системы – русифицированный в режиме аудита.
В оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User», мультикиоск работает.
Выходим из учетной записи, заходим под учетной записью «Admin». Запускаем PowerShell с правами администратора, выполняем команду «Dism /online /Get-Intl» и видим «Язык пользовательского интерфейса по умолчанию: en-US».
Загружаемся с флэшки в WinPE, развернутая ОС у меня на диске E. Выполняем команду «Dism /image:E:\ /Set-UILang:ru-ru». Смотрим на результат, выполняем «Dism /image:E:\ /Get-Intl» и видим «Default system UI language: ru-RU».
Загружаемся в систему, входим в учетную запись «User», мультикиоск не работает.
Для четкой фиксации причинно-следственной связи появления проблемы попробуем еще раз сделать мультикиоск рабочим и нерабочим.
Загружаемся с флэшки в WinPE, развернутая ОС у меня на диске E. Выполняем команду «Dism /image:E:\ /Set-UILang:en-us». Смотрим на результат, выполняем «Dism /image:E:\ /Get-Intl» и видим «Default system UI language: en-US».
Загружаемся в систему, входим в учетную запись «User», мультикиоск работает.
Загружаемся с флэшки в WinPE, развернутая ОС у меня на диске E. Выполняем команду «Dism /image:E:\ /Set-UILang:ru-ru». Смотрим на результат, выполняем «Dism /image:E:\ /Get-Intl» и видим «Default system UI language: ru-RU».
Загружаемся в систему, входим в учетную запись «User», мультикиоск не работает.
Т.е. можно увидеть четкую зависимость работоспособности киоска от значения языка пользовательского интерфейса по умолчанию. Может есть еще какие-то факторы, влияющие на работоспособность мультикиоска?
Эксперимент 6
Для чистоты эксперимента перезаливаем систему. Заливаем образ системы – русифицированный в режиме аудита.
Запускаем «sysprep» в графическом режиме, запечатываем ОС с теми же параметрами что и во время эксперимента 2. Ждем приветствия ОС и отвечаем на вопросы: «Continue in selected language?» – «English (United States)»; регион – Россия; раскладка клавиатуры – Русская. Далее все параметры выбраны как и в эксперименте 2.
Смотрим параметры значения языка пользовательского интерфейса по умолчанию. Выполняем команду «Dism /online /Get-Intl» и видим «Default system UI language: en-US». В оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User», мультикиоск работает.
Пробуем сломать киоск путем изменения языка пользовательского интерфейса по умолчанию. Заходим в пользователя «Test», который был создан при первой загрузке системы и включаем для него автоматический вход чтобы система не загружалась в учетную запись «User», сразу. Выполняем «netplwiz», выбираем пользователя «Test», снимаем флажок «Требовать ввод имени пользователя и пароля» и применяем параметры.
Загружаемся с флэшки в WinPE. Выполняем команду «Dism /image:E:\ /Set-UILang:ru-ru». Смотрим на результат, выполняем «Dism /image:E:\ /Get-Intl» и видим «Default system UI language: ru-RU».
Загружаемся в систему, пытаемся войти в учетную запись «User», мультикиоск работает. Т.е. его не получается сломать. А можно ли его таким образом заставить работать?
Эксперимент 7
Заливаем образ системы – русифицированный в режиме аудита.
Запускаем «Sysprep.bat», выбираем пункт 2. Загружаемся в систему, в оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User», мультикиоск не работает.
Загружаемся с флэшки в WinPE. Выполняем команду «Dism /image:E:\ /Set-UILang:en-us». Смотрим на результат, выполняем «Dism /image:E:\ /Get-Intl» и видим «Default system UI language: en-US».
Загружаемся в систему, пытаемся войти в учетную запись «User», мультикиоск не работает.
Получается, что путем изменения настройки языка пользовательского интерфейса по умолчанию можно повлиять на работоспособность мультикиоска только когда система в режиме аудита или при первой загрузке после запечатывания системы. А это значит, что придется запечатывать систему с файлом ответов, в котором будет выбран язык системы английский, а дальше изменять настройки системы чтобы интерфейс был русским. Не очень хорошее решение. Может проблему можно решить способом установки языкового пакета или установкой дополнительных языковых пакетов?
Эксперимент 8
Заливаем образ системы – англоязычный в режиме аудита.
Подключаемся к интернету, в параметрах системы заходим в раздел «Language» выбираем «Add language», выбираем язык «Русский», нажимаем «Next», параметры установки оставляем по умолчанию, нажимаем «Install», после установки языкового пакета перезагружаем систему, теперь на русифицирована. Отключаем систему от интернета, запускаем «Sysprep.bat», выбираем пункт 2.
После загрузки системы в оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User», мультикиоск не работает.
Эксперимент 9
Попробуем русифицировать систему до установки, в оффлайн режиме. Заодно будет краткий ликбез по локализации дистрибутива.
Беру флэшку с чистым оригинальным дистрибутивом – X21-96381. Она будет диском «E». Для монтирования образов создаю папки: «c:\Mount\Install», «c:\Mount\Winre», «c:\Mount\Boot». Беру набор пакетов локализации – X21-87814. И в папку «c:\Mount» копирую из него пакеты: «Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cab», «lp.cab», «WinPE-Setup_ru-ru.cab». Запускаю консоль с правами администратора. Думаю, что дальнейшие команды будут понятны без комментариев.
Загружаемся с флэшки, выбираем русский язык и ставим систему на чистый диск. Когда система просит выбрать регион нажимаем «Ctrl+Shift+F3». В оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User», мультикиоск не работает.
Загружаемся с флэшки в WinPE. Выполняем команду «Dism /image:E:\ /Set-UILang:en-us».
Загружаемся в систему, пытаемся войти в учетную запись «User», мультикиоск работает.
Видимо дело не в методах добавления пакета, попробуем добавить дополнительные пакеты.
Эксперимент 10
Берем флэшку, которую мы подготовили на предыдущем шаге.
Берем пакет «Feat on Demand» – X21-87815. В папку «c:\Mount» копирую из него пакеты: «Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package
Берем пакет «Feat on Demand RDX Updt» – X21-99781. В папку «c:\Mount» копирую из него пакеты: «Microsoft-Windows-RetailDemo-OfflineContent-Content-Package
Запускаем консоль с правами администратора и выполняем команды:
Загружаемся с флэшки, выбираем русский язык и ставим систему на чистый диск. Когда система просит выбрать регион нажимаем «Ctrl+Shift+F3». В оснастке «Управление компьютером» создаем пользователя «User», добавляем пакет подготовки, заходим в учетную запись «User». Я получил черный экран, который долго висел, поэтому я выполнил горячую перезагрузку системы.
Удаляем пакет подготовки, заходим под пользователем «User», перезагружаем систему, добавиляем пакет подготовки, мультикиоск не работает.
Загружаемся с флэшки в WinPE. Выполняем команду «Dism /image:E:\ /Set-UILang:en-us».
Загружаемся в систему, пытаемся войти в учетную запись «User», мультикиоск работает.
Обход проблемы
Нормальные герои. Всегда идут в обход!
Различные способы установки пакетов локализации не решили проблему, значит придется при первой загрузке после запечатывания устанавливать язык «en-us», а после первой загрузки изменять языковые настройки.
Заливаем образ системы – русифицированный в режиме аудита.
В файле «Unattend.xml» в параметре вписываем «en-US», запускаем «Sysprep.bat», выбираем пункт 2 и смотрим, что у нас получилось. Экран приветствия на английском языке, мультикиоск – работает. Значит нужно добавить в «Unattend.xml» команду на изменение языка приветствия. А для этого необходимо выполнить команду «control intl.cpl,,/f:» с указанием конфигурационного файла, в котором будет прописано копирование текущих параметров в экран приветствия. Содержимое конфигурационного файла будет выглядеть вот так.
Т.к. будет копирование настроек текущего пользователя, то и выполнять команду нужно после входа пользователя в систему, а это значит, что нам понадобятся. Есть одно небольшое «но», выполнение будет после входа пользователя с правами администратора. И мне бы не хотелось создавать дополнительный файл, который будет необходим для успешного выполнения команды. Лучше все решение реализовать в едином файле — «Unattend.xml». Для этого просто нужно будет выполнить команду, которая создает конфигурационный файл. Думаю, что создам конфигурационный файл с помощью команды «echo» в среде «cmd», но в ней нужно экранировать угловые скобки циркумфлексом. Т.е. для создания конфигурационного файла получается вот такая команда.
Но нам эту команду нужно поместить в XML, у которого свои требования к использованию спецсимволов:
В итоге для создания конфигурационного файла получилась вот такая команда для «FirstLogonCommands».
Далее выполняем команду с использованием конфигурационного файла.
Далее удаляем ранее созданный файл и перезагружаем систему т.к. изменения вступят в силу после перезагрузки.
В итоге у меня получился вот такой файл ответов для sysprep’а.
Заливаем образ системы – русифицированный в режиме аудита.
Меняем файл Unattend.xml на новый, запускаем «Sysprep.bat», выбираем пункт 2 и смотрим, что у нас получилось. При первой загрузке экран приветствия на английском языке, система перезагружается. Экран приветствия на русском языке, мультикиоск работает.
Если у вас остались вопросы относительно настройки и лицензирования Windows 10 IoT Enterprise, обращайтесь по адресу mse@quarta.ru или на сайт quarta-embedded.ru.
Ответы на некоторые вопросы Вы можете найти в нашей вики или на нашем YouTube-канале
Автор статьи: Борисенков Владимир, технический эксперт компании Кварта Технологии.