В Windows 10 (впрочем, это было и в 8.1) присутствует возможность включить «Режим киоска» для учетной записи пользователя, представляющий собой ограничение использования компьютера этим пользователем только одним приложением. Функция работает только в Windows 10 редакций профессиональная, корпоративная и для образовательных учреждений.
Если из вышесказанного не совсем ясно, что такое режим киоска, то вспомните банкомат или терминал оплаты — большинство из них работает на Windows, но доступ вы имеете только к одной программе — той, которую видите на экране. В указанном случае это реализовано иначе и, вероятнее всего, работает на XP, но суть ограниченного доступа в Windows 10 та же самая.
Примечание: в Windows 10 Pro режим киоска может работать только для приложений UWP (предустановленных и приложений из магазина), в версиях Enterprise и Education — и для обычных программ. Если же вам требуется ограничить использование компьютера не только одним приложением, тут могут помочь инструкции Родительский контроль Windows 10, Учетная запись Гость в Windows 10.
Как настроить режим киоска Windows 10
В Windows 10 начиная с версии 1809 October 2018 Update включение режима киоска незначительно изменилось по сравнению с предыдущими версиями ОС (для предыдущих шаги описаны в следующем разделе инструкции).
Для настройки режима киоска в новой версии ОС выполните следующие шаги:
- Зайдите в Параметры (клавиши Win+I) — Учетные записи — Семья и другие пользователи и в разделе «Настроить киоск» нажмите по пункту «Ограниченный доступ».
- В следующем окне нажмите «Начало работы».
- Укажите имя новой локальной учетной записи или выберите имеющуюся (только локальная, не учетная запись Майкрософт).
- Укажите приложение, которое можно будет использовать в этой учетной записи. Именно оно будет запускаться на весь экран при входе под этим пользователем, все остальные приложения будут недоступны.
- В некоторых случаях дополнительные шаги не требуются, а для некоторых приложений доступен дополнительный выбор. Например, в Microsoft Edge можно включить открытие только одного сайта.
На этом настройки будут завершены, а при входе в созданную учетную запись с включенным режимом киоска будет доступно лишь одно выбранное приложение. Это приложение при необходимости можно поменять в том же разделе параметров Windows 10.
Также в дополнительных параметрах вы можете включить автоматический перезапуск компьютера при сбоях вместо отображения информации об ошибках.
Включение режима киоска в ранних версиях Windows 10
Для того, чтобы включить режим киоска в Windows 10, создайте нового локального пользователя, для которого будет установлено ограничение (подробнее на тему: Как создать пользователя Windows 10).
Проще всего это сделать в Параметры (клавиши Win+I) — Учетные записи — Семья и другие люди — Добавить пользователя этого компьютера.
При этом, в процессе создания нового пользователя:
- При запросе электронной почты нажмите «У меня нет данных для входа этого человека».
- На следующем экране, внизу, выберите «Добавить пользователя без учетной записи Майкрософт».
- Далее введите имя пользователя и, если нужно, пароль и подсказку (хотя для ограниченной учетной записи режима киоска пароль можно и не вводить).
После того, как учетная запись будет создана, вернувшись в параметры учетных записей Windows 10, в разделе «Семья и другие люди», нажмите «Настройка ограниченного доступа».
Теперь, всё что останется сделать — это указать учетную запись пользователя, для которой будет включен режим киоска и выбрать приложение, которое будет автоматически запускаться (и которым будет ограничен доступ).
После указания этих пунктов можно закрыть окно параметров — ограниченный доступ настроен и готов к использованию.
Если зайти в Windows 10 под новой учетной записью, сразу после входа (при первом входе некоторое время будет происходить настройка) на весь экран откроется выбранное приложение, а получить доступ к другим компонентам системы не получится.
Для того, чтобы выйти из учетной записи пользователя с ограниченным доступом, нажмите клавиши Ctrl+Alt+Del, чтобы перейти к экрану блокировки и выбрать другого пользователя компьютера.
Не знаю точно, зачем режим киоска может пригодиться рядовому пользователю (дать бабушке доступ только к пасьянсу?), но может оказаться, что кому-то из читателей функция окажется полезной (поделитесь?). Еще интересное на тему ограничений: Как ограничить время использования компьютера в Windows 10 (без родительского контроля).
С долей рынка 73.31% Windows остается ведущей операционной системой для настольных ПК в мире.[1]. Как малые и средние предприятия, так и крупные предприятия все чаще выбирают устройства Windows 10 и Windows 11 для удовлетворения своих рабочих потребностей. Поскольку организации стремятся повысить безопасность, оптимизировать операции и улучшить взаимодействие с пользователями, важность режима киоска Windows становится очевидной.
Организации могут создать целенаправленную рабочую среду, развернув устройства Windows в режиме киоска, чтобы повысить свою производительность и безопасность. Режим киоска ограничивает доступ к определенным приложениям, веб-сайтам и настройкам, позволяя компаниям безопасно развертывать устройства Windows. Такая настройка позволяет пользователям сосредоточиться на важных задачах, не отвлекаясь, или предотвращает риски, связанные с несанкционированным доступом.
В этом блоге представлен обзор режима киоска Windows и пошаговое руководство по настройке режима киоска для одного приложения для Windows 10 и Windows 11, что поможет вашей организации максимально использовать преимущества этой мощной функции.
Что такое режим киоска Windows?
Режим киоска (также известный как назначенный доступ) на устройствах Windows 10 и 11 — это функция безопасности, которая позволяет запускать только определенные или несколько приложений и настроек, предоставляя пользователям заблокированный опыт работы на устройстве. Это полезно, когда устройства находятся в общественных местах и бизнес-средах, таких как киоски самообслуживания, POS, цифровые вывески и розничные кассы.
В режиме Windows Kiosk Mode устройство загружается непосредственно в указанное приложение, и пользователю недоступен доступ к рабочему столу, меню «Пуск» или другим системным функциям. Это помогает гарантировать, что устройство используется только по назначению, что повышает безопасность и упрощает работу пользователя.
Как настроить режим киоска на устройствах Windows 10/11 с помощью Scalefusion UEM?
Scalefusion UEM предлагает интуитивно понятную унифицированную панель управления всеми функциями управления устройствами, включая включение и отключение режима киоска для Windows 10 и Windows 11.
После регистрации конкретного устройства ИТ-администраторы могут перейти на панель управления Scalefusion, где они могут легко настроить режим киоска на требуемых устройствах, создав профиль. Они также могут выдвигать, контролировать и изменять отображаемый контент и быть в курсе того, какие приложения и браузеры для работы на киосках.
Каковы предварительные условия для включения режима киоска в Windows 10/11?
Чтобы включить режим киоска на устройствах Windows 10 или Windows 11, необходимо выполнить следующие предварительные условия на уровне устройства, учетной записи пользователя и приложения:
1. Требования на уровне устройства
- Режим киоска поддерживается в редакциях Windows 10 и 11 Pro, Enterprise, Education, Business и Home. Для Windows Home (10/11) поддерживаются только браузерные или Win32-приложения. Устройства должны работать под управлением Windows 10 (1803 или более поздней версии) или Windows 11 (22H2 или более поздней версии).
- Scalefusion также поддерживает редакции Windows 7, 8.1 и Home при регистрации через агентский MDM. Поддерживаемое оборудование включает настольные компьютеры, ноутбуки, Surface Pro/Core и устройства Windows IoT LTSC.
2. Требования к уровню учетной записи пользователя
- Режим киоска в Windows 10 и 11 зависит от пользователя и требует стандартная учетная запись пользователя— учетные записи администраторов не поддерживаются.
- Чтобы настроить разрешения пользователя, откройте Локальная политика безопасности, перейдите в Локальная политика > Назначение прав пользователя, наведите на Разрешить локальный входи добавьте целевого пользователя.
- Это гарантирует, что учетная запись сможет работать в режиме киоска в соответствии с настройками групповой политики.
3. Требования на уровне приложения
- Только UWP (универсальная платформа Windows) и Win32 приложения поддерживаются в режиме киоска.
- Приложения UWP должны быть доступны в Microsoft Store или предустановлены, а для настройки вам потребуется уникальный идентификатор приложения.
- Приложения Win32 должны быть установлены на устройстве перед настройкой и поддерживаются во всех редакциях, допускающих развертывание киоска, включая Windows Home.
Пошаговое руководство по настройке режима киоска с одним приложением
Шаг 1: Войти на панель инструментов Scalefusion.
Шаг 2: Перейдите в Раздел политик и профилей устройств и нажмите на Профили устройств.
Шаг 3: Нажмите на Создать новый профиль в правом верхнем углу экрана.
Шаг 4: Выберите Windows Вкладка. Введите имя профиля и нажмите Отправить.
Шаг 5: Под Выберите приложения выберите раздел Пропустить политику подачи заявок.
Шаг 6: Перейдите в Настройки раздел → Режим одиночного/киоскового приложения. Выберите тип приложения, которое необходимо установить в режиме одного приложения, из раскрывающегося списка.
Примечание: В зависимости от того, какое приложение вы хотите использовать в режиме киоска с одним приложением, щелкните его название, чтобы просмотреть конкретные шаги настройки.
Ниже приведены варианты на выбор:
a. Пропустить приложение киоска: Эта опция удаляет ранее установленное приложение киоска (если таковое имеется). Эта опция выбрана по умолчанию.
б) Предустановленные приложения: устанавливает одно из предустановленных приложений UWP, разрешенных в Выберите приложения раздел как приложение киоска.
c. Стороннее приложение: этот параметр устанавливает ваше внутреннее корпоративное приложение в качестве киоск-приложения.
г. Приложение браузера: используйте эту опцию, чтобы установить Google Chrome, Microsoft Edge, Firefox или Windows Kiosk Browser в качестве приложения браузера киоска.
е. Приложение Win32: эта опция устанавливает приложение Win32 в качестве приложения киоска.
е. Приложение Scalefusion FileDock: используйте эту опцию, чтобы установить фирменное приложение Scalefusion FileDock в качестве приложения киоска.
g. Браузер Scalefusion ProSurf: Эта опция устанавливает настроенный браузер Scalefusion – ProSurf в режим киоска с одним приложением. Это приложение обеспечивает безопасный и ограниченный просмотр.
Шаг 7: После выбора приложения киоска выберите учетную запись пользователя, к которой необходимо применить режим киоска. У вас есть два варианта:
a. Введите основное имя пользователя: Если на вашем ПК с Windows уже настроены учетные записи пользователей, введите имя пользователя.
b. Автоматическое создание учетной записи пользователя киоска: Выберите этот параметр, если учетная запись пользователя не настроена на вашем ПК с Windows. При выборе этого параметра будет создана учетная запись пользователя киоска, которая будет автоматически авторизована после перезагрузки устройства.
Шаг 9: Нажмите на Создать профиль кнопку в правом верхнем углу экрана.
Шаг 10: Нажмите Применить чтобы передать профиль киоска с несколькими приложениями группам устройств/группам пользователей/отдельным устройствам
Результат: Это позволяет перевести ваши устройства с Windows 11 в режим единого киоска для удобного и безопасного использования.
Заблокируйте свое устройство для одного приложения для упрощения использования и безопасности. Следуйте этому простому руководству, чтобы настроить режим киоска на вашем компьютере с Windows 10 и Windows 11.
Чтобы узнать больше, свяжитесь с нашими экспертами и закажите демонстрацию.
Scalefusion позволяет вам заблокировать устройства в режиме одного или нескольких приложений для безопасного контролируемого доступа. Начните свой 14-дневный бесплатный пробный период сегодня!
Как настроить режим киоска с одним приложением в Windows 10 и Windows 11
Как настроить режим киоска с несколькими приложениями в Windows 10 и Windows 11
Настройка режима киоска в Windows 10/11 вручную с помощью Windows Assigned Access
Windows Assigned Access — это функция в операционных системах Windows, которая позволяет администраторам ограничить устройство запуском одного приложения. настроить режим киоска на устройствах Windows 10, Следуй этим шагам:
Чтобы настроить режим киоска на устройстве Windows, выполните следующие действия:
Шаг 1: Начните с создания локальной стандартной учетной записи пользователя, используя учетную запись администратора.
Шаг 2: Откройте приложение «Параметры», нажав сочетание клавиш Windows + I.
Шаг 3: Перейдите в раздел Учетные записи > Другие пользователи, а затем выберите Настроить назначенный доступ.
Шаг 4: Выберите стандартную учетную запись пользователя, созданную на шаге 1, нажав «Выбрать учетную запись».
Шаг 5: Затем нажмите «Выбрать приложение» и выберите приложение, к которому вы хотите ограничить доступ, из списка поддерживаемых приложений для режима киоска с одним приложением (также называемого назначенным доступом).
Шаг 6: Перезагрузите устройство и войдите в систему, используя данные стандартной учетной записи пользователя, чтобы активировать режим киоска.
Хотя Windows Assigned Access обеспечивает простой способ настройки режима киоска, у него есть заметные ограничения. Он поддерживает только одно приложение за раз, что может быть ограничительным для более сложных случаев использования. Кроме того, в нем отсутствуют расширенные функции безопасности и параметры настройки, часто необходимые для более крупных развертываний. Для организаций с более высокими требованиями рекомендуется использовать комплексные решения Unified Endpoint Management (UEM), такие как Scalefusion UEM.
Преимущества режима киоска для устройств Windows
Реализация режима киоска на устройствах Windows 10 и Windows 11 дает вам ряд преимуществ:
1. Гарантированная безопасность
Режим киоска обеспечивает безопасность устройств Windows 10 и Windows 11, позволяя вам развертывать их в общедоступных средах. Он защищает системы точек продаж, терминалы общественного доступа и другие устройства, которые необходимо защитить от несанкционированного доступа.
Аналогичным образом вы можете ограничить доступ пользователей к определенным приложениям, веб-сайтам или настройкам устройства. Это минимизирует риск раскрытия конфиденциальной информации, сохраняя при этом соответствие отраслевым нормам, таким как HIPAA и GDPR.
2. Производительность пользователя
В бизнес-среде режим киоска может значительно повысить производительность труда пользователей, предлагая оптимизированный доступ к основным инструментам и приложениям, устраняя необходимость навигации по полному рабочему столу Windows 10 и Windows 11.
Этот целенаправленный подход позволяет пользователям быстро взаимодействовать с конкретными приложениями, которые им нужны, сводя к минимуму отвлекающие факторы и сокращая время, затрачиваемое на ненужные задачи. В результате сотрудники могут работать более эффективно, что приводит к повышению производительности и более продуктивному рабочему месту.
3. Повышение операционной эффективности
Применение режима киоска к устройствам Windows повышает эффективность за счет ограничения доступ к определенным приложениям или веб-сайтам. Пользователи могут быстро перемещаться по задачам, не путаясь в несвязанных вариантах. Эта целенаправленная среда ускоряет рабочий процесс, гарантируя, что пользователи могут выполнять свои задачи эффективно и тратить меньше времени.
Более того, поскольку вы ограничиваете доступ к рабочему столу Windows и другим системным настройкам, снижается вероятность того, что пользователи непреднамеренно внесут изменения или вызовут системные ошибки. Это снижает необходимость в обслуживании устройств и устранении неполадок.
4. Улучшенное обслуживание клиентов
Развертывание устройств Windows 10 и Windows 11 в режиме киоска обеспечивает клиентам плавный и целенаправленный пользовательский опыт, основанный на их потребностях. Например, в розничной торговле киоски могут способствовать самообслуживанию при совершении покупок, позволяя клиентам просматривать продукты и совершать покупки самостоятельно, без помощи персонала.
Имея доступ к специализированным приложениям или веб-сайтам, пользователи могут напрямую взаимодействовать с нужными им приложениями, не отвлекаясь. Это повышает вовлеченность клиентов и оптимизирует процесс покупки.
5. Универсальность
Режим киоска с одним приложением для Windows адаптируется и применим в различных отраслях и условиях. Он обычно используется в розничной торговле для киосков самообслуживания, в музеях для интерактивных дисплеев и на предприятиях для специализированных рабочих станций для конкретных задач.
Получите Scalefusion UEM для настройки режима киоска Windows на Windows 10/11
Scalefusion UEM’s режим киоска для Windows предлагает надежное решение для ограничений традиционного Windows Assigned Access. Он обеспечивает повышенную безопасность, расширенную настройку и поддержку нескольких приложений, что делает его идеальным для предприятий, которым требуется универсальное, безопасное и масштабируемое управление устройствами.
Благодаря централизованному управлению и возможности удаленной настройки устройств Windows Scalefusion UEM идеально подходит для различных отраслей — от розничной торговли до образования, — гарантируя безопасность и оптимизацию ваших общедоступных и выделенных устройств.
Преобразовать свою деятельность с помощью режима киоска Windows?
Обратитесь к экспертам по продукту, чтобы получить бесплатную демонстрацию и открыть для себя функции управления киоском Windows от Scalefusion.
Ссылки:
1. СтатистикаСчетчик
Часто задаваемые вопросы
1. Что такое режим киоска в Windows 11?
Режим киоска Windows 11 — это функция Windows, которая позволяет устройству запускать одно приложение или ограниченный набор приложений в ограниченной среде. Он блокирует пользовательский интерфейс, предотвращая доступ к системным настройкам, файловому проводнику и другим приложениям, обеспечивая безопасный и контролируемый опыт. Это идеально подходит для таких случаев использования, как публичные терминалы, цифровые вывески, системы точек розничной торговли и образовательные среды. Режим киоска Windows 11 можно настроить для установок с одним приложением (UWP или Win32) или несколькими приложениями в зависимости от потребностей организации.
2. Каковы наиболее распространенные варианты использования режима киоска в Windows 10/11?
Режим киоска в Windows 10 и Windows 11 позволяет:
- Цифровые вывески в общественных местах.
- Интерактивные киоски для самостоятельной регистрации или выбора товара.
- Одно приложение настройки для бизнес-приложений или Microsoft Edge.
- Опыт работы с несколькими приложениями в киоске для корпоративных и образовательных целей, где пользователям необходим доступ к ограниченному набору настольных приложений Windows.
Будь то проверка доступности продукта или запуск внутренних инструментов, устройства киосков гарантируют последовательность и безопасность интерфейса.
3. Какие существуют типы режима киоска в Windows 11?
Windows поддерживает различные конфигурации киосков для удовлетворения различных бизнес-потребностей:
- Режим одного приложения: Блокирует устройство на одном приложении (например, браузере или бизнес-приложении).
- Режим нескольких приложений: Позволяет запускать несколько приложений из белого списка в контролируемой среде.
- Режим киоска браузера: Ограничивает взаимодействие пользователей веб-интерфейсом с использованием Microsoft Edge или другого браузера, что идеально подходит для легкого взаимодействия.
Эти режимы полезны для создания настраиваемого пользовательского интерфейса, ограничивающего доступ и обеспечивающего максимальное удобство использования.
4. Какие версии Windows поддерживают режим киоска?
- Windows 10 Pro, Enterprise и Education: Полная поддержка режима киоска (назначенный доступ) с управлением приложениями UWP или Win32.
- Windows 10 Home: Ограниченная поддержка, только через определенные конфигурации или с помощью инструментов MDM, таких как Scalefusion.
- Windows 11 Pro, Enterprise и Education: Обеспечивает полную поддержку Многофункциональный киоск Windows 11, настройка экрана блокировки и управление учетными записями пользователей.
Windows 8 и 8.1 поддерживают базовую функциональность киоска, но не имеют современных улучшений, имеющихся в Windows 10/11.
5. Как включить режим киоска на разных платформах (Windows, Android, iOS, ChromeOS)?
- Windows: Используйте «Параметры», PowerShell или инструменты MDM для настройки режима киоска в Windows 11. Выберите приложение и назначьте учетную запись киоска.
- Android-: Заблокируйте устройства в определенных приложениях, используя режим киоска на базе UEM или собственные инструменты, такие как Android Enterprise. Узнать больше.
- iOS/iPadOS: Используйте режим управляемого доступа или одного приложения для ограничения использования устройства. Узнать больше.
- ХромОС: Развертывание через консоль администратора Chrome Enterprise для безопасной работы только в браузере. Узнать больше.
Каждая ОС предлагает возможности настройки и гибкость для предприятий, которым необходим защищенный интерфейс.
Режим киоска, это особый ограниченный режим работы Windows, который используется для полноэкранного запуска одного или нескольких приложения. Весь другой функционал Windows для пользователя блокируется и становится недоступным. Пользователь не может запустить другие приложения, кроме разрешённых или изменить настройки. Обычно такой режим используется в терминалах самообслуживания и общедоступных компьютерах, работающих в режиме информационных киосков (используются для запуска промо слайд-шоу, проигрывания рекламных видео-роликов, для доступа к информационному сайту компании и т.д.). В этой статье мы рассмотрим, как настроить запуск Windows 11 в режиме киоска.
В Windows 11 доступны два режима киоска:
- Киоск в режим запуска одного приложения (
single-app kiosk
) – UWP приложение или браузер Edge автоматически запускается во весь экран, пользователь не сможет переключиться на рабочий стол или запустить никакое другое приложение - Режим запуска нескольких приложений (
multi-app kiosk mode
) – администратор определяет список разрешенных для запуска приложений, запуск всех других приложений, или доступ в настройки компьютера блокируется.
Запуск одного приложения в режиме киоска Windows 11
В режиме киоска в Windows 11 по умолчанию можно запускать только одно из установленных UWP приложений (предустановленного или установленного из магазина приложений Microsoft). В Windows 11 режим киоска включается через панель Параметры:
- Перейдите в Settings -> Accounts -> Other Users
- Нажмите кнопку Get Started в разделе Kiosk
- Укажите имя ограниченной учетной записи, которая будет создана для входа в режим киоска. Windows будет выполнять автоматический вход в систему под этим пользователем.
- Далее нужно выбрать приложение, которые будет запускаться в режиме киоска. Выбрать можно только одно из UWP приложений (установленное через магазин приложений), или некоторые встроенные классические приложения (например, браузер Microsoft Edge).
- Браузер Edge можно запустить для доступа только к одному сайту (As a digit sign or interactive display) или в режиме общедоступного компьютера с браузером (As a public browser). Во втором случае пользователю киоска можно будет просматривать произвольные сайты.
- В этом примере мы предоставим доступ только к одному сайту. Введите его имя и период неактивности, по истечению которого нужно сбрасывать предыдущую сессию (выполняется автоматическая очистка сессионных данных, куки и истории браузера).
- Нажмите Next -> Finish.
Перезагрузите компьютер. Windows выполнит автоматический вход в учетную запись режима киоска и запустит в полноэкранный режиме браузер с открытым сайтом. Функционал браузера Edge в таком режиме ограничен: отсутствует адресная строка, не доступно меню настроек, контекстные меню, тулбар, горячие клавиши и много другое.
Запустить другое приложение, получить доступ к рабочему столу или открыть в браузере другой сайт нельзя (но Edge не ограничивает возможность перехода по внешним ссылкам с вашего сайта).
Чтобы выйти из режима киоска нажмите
CTRL+ALT+DEL
, и с экрана входа вы можете войти на компьютер под обычным аккаунтом.
Изменить настройки или полностью отключить режим киоска в меню Settings можно под учетной запись с правами администратора.
Разрешить запуск нескольких приложений в режиме киоска Windows 11
В Windows 11 вы можете в режиме киоска предоставить доступ к нескольким приложениям. Это способ несколько более сложный в настройке и предполагает использование MDM (Intune) или скриптов PowerShell.
Пример готового PowerShell скрипта с применением настроек режима киоска для Windows 11 22H2 и 23H2 доступен в нашем GitHub репозитории (https://github.com/winadm/posh/blob/master/Desktop/win11-multi-app-kiosk-mode.ps1). Этот скрипт применяет настройки режима киоска Windows, заданные в XML формате.
Основные параметры:
- Profile Id – уникальный идентификатор конфигурации (можно сгенерировать с команды
New-Guid
) - AllowedApps – список UWP приложений, которые разрешено запускать в режиме киоска
- windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel – разрешает пользователю доступ к панели Settings. Вы можете с помощью GPO скрыть или показать в меню Параметры только определенные разделы или параметры
- StartPins – закрепить плитки указанных UWP приложения в меню Пуск
- ShowTaskbar – отображать панель задач Windows
- AutoLogonAccount – создать учетную запись для режима киоска и автоматически входить под ним
Более подробный синтаксис XML файла и примеры использования описаны тут.
Сохраните PowerShell скрипт на компьютер. Данный PowerShell скрипт меняет настройки через провайдер MDM Bridge WMI и его нужно запустить с правами SYSTEM (LocalSystem). Запустите консоль
powershell.exe
от имени SYSTEM с помощью утилиты PsExec:
Psexec.exe -i -s powershell.exe
Разрешите запускать PowerShell скрипты в текущей сессии:
Set-ExecutionPolicy -scope Process RemoteSigned
Запустите скрипт настройки:
C:\tasks\win11-multi-app-kiosk-mode.ps1
Перезагрузите компьютер, чтобы применить изменения. При следующем запуске будет выполнен автоматической вход под пользователем KioskUser0. Windows стартует в режиме планшета и отображает плитки указанных вами приложений.
Ограниченный пользователь может запускать только приложения, указанные в XML файле. При попытке запустить другое UWP или классическое приложение появится сообщение AppLocker, запрещающее запуск неразрешенных программ:
This app has been blocked by your system administrator.
Чтобы очистить и отключить текущую конфигурацию режим киоска Windows 11, выполните команды:
$obj = Get-CimInstance -Namespace "root\cimv2\mdm\dmmap" -ClassName "MDM_AssignedAccess"
$obj.Configuration = $NULL
Set-CimInstance -CimInstance $obj
Для обеспечения дополнительной защиты файловой системы Windows от записи и изменений в режиме киоска дополнительно можно настроить унифицированный фильтр записи (UWF).
В этой статье расскажем, как настроить режим киоска в Windows 11 — это особый ограниченный режим работы, который позволяет пользователю использовать только одно или несколько приложений в полноэкранном режиме. Все остальные функции Windows блокируются. Режим киоска часто используется в терминалах самообслуживания или для доступа к информационным сайтам компании.
Приобрести оригинальные ключи активации Windows 11 можно у нас в каталоге от 1690 ₽
Доступные режимы киоска в Windows 11:
— Одно приложение (режим киоска с одним приложением) — запускается только одно приложение UWP или браузер Microsoft Edge в полноэкранном режиме, и пользователь не может запустить другие приложения.
— Несколько приложений (режим киоска с несколькими приложениями) — администратор может выбрать несколько разрешенных для запуска приложений, блокируя доступ к другим приложениям и настройкам.
Запуск одного приложения в режиме киоска
Чтобы настроить режим киоска для одного приложения в Windows 11:
1. Перейдите в Параметры -> Учётные записи -> Другие пользователи.
2. Нажмите кнопку Начала работы в разделе Настроить терминал.
3. Укажите имя пользователя, под которым будет выполняться автоматический вход в систему для режима киоска.
4. Выберите приложение, которое будет запускаться в режиме киоска. Это может быть одно из UWP приложений или браузер Microsoft Edge.
— Для браузера Edge можно выбрать запуск только одного сайта или режим общедоступного браузера.
5. Настройте параметры запуска:
— Укажите сайт для автоматического открытия.
— Установите время неактивности, по истечении которого нужно сбрасывать сессию и очищать данные (куки, история браузера).
6. Нажмите Далее, затем Готово.
7. Перезагрузите компьютер.
После перезагрузки система автоматически войдет в учётную запись для режима киоска (терминала) и запустит выбранное приложение в полноэкранном режиме.
Чтобы выйти из режима киоска, нажмите CTRL+ALT+DEL и войдите под другой учетной записью.
Изменить настройки или полностью отключить режим киоска можно в Параметры > Учетные записи > Другие пользователи > Терминал
Запуск нескольких приложений в режиме киоска
Для настройки режима киоска с возможностью запуска нескольких приложений в Windows 11 потребуется использование PowerShell или MDM (например, Intune).
Можно воспользоваться готовым PowerShell-скриптом для настройки, который вы можете скачать с нашего сервера:
win11-multi-app-kiosk-mode.ps1
Основные параметры XML-конфигурации для режима киоска:
— Profile Id — уникальный идентификатор конфигурации.
— AllowedApps — список разрешённых для запуска приложений.
— StartPins — закрепление указанных приложений на Пуск.
— AutoLogonAccount — создание учётной записи для автоматического входа в режим киоска.
Чтобы применить настройки:
1. Скачайте и сохраните PowerShell-скрипт который мы оставляли выше.
2. Запустите PowerShell от имени SYSTEM с помощью утилиты PsExec:
psexec.exe -i -s powershell.exe
3. Разрешите выполнение скриптов:
Set-ExecutionPolicy -scope Process RemoteSigned
4. Запустите скрипт:
C:\tasks\win11-multi-app-kiosk-mode.ps1
5. Перезагрузите компьютер.
После перезагрузки система автоматически войдёт в учётную запись KioskUser0, и пользователь сможет запускать только разрешённые приложения.
При попытке запустить другое UWP или классическое приложение появится сообщение AppLocker, запрещающее запуск неразрешенных приложений:
This app has been blocked by your system administrator.
Отключение режима киоска
Чтобы отключить режим киоска, выполните следующие команды:
$obj = Get-CimInstance -Namespace "root\cimv2\mdm\dmmap" -ClassName "MDM_AssignedAccess"
$obj.Configuration = $NULL
Set-CimInstance -CimInstance $obj
После выполнения этих команд режим киоска будет отключён, и компьютер вернётся в обычный режим работы.
Теперь все термины полностью соответствуют русскоязычной версии Windows!
Лицензионный ключ активации Windows 11 от
Введение
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-файле, в котором также можно указать настройки для киоска с одним приложением.
А теперь попробуем все это настроить…
Что нам понадобится…
- В первую очередь нам понадобится сама система, которая поддерживает режим мультикиоска. Здесь можно скачать демонстрационную версию
- Инструкция по настройке мультикиоска
- Любой XML редактор
- Для применения настроек мульткиоска:
- Для способа №1 — ICD, который входит в состав ADK. ADK можно скачать здесь
- Для способа №2 – утилита PsExec. Утилиту можно скачать здесь
Он сказал – «Поехали!»
Все опыты я буду проводить на 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», которую я скопирую в корень системного диска. И естественно, я поделюсь с Вами данным «джентльменским набором».
Sysprep.bat – для запечатывания системы.
@echo off
chcp 1251>nul
net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)
tasklist /fi "ImageName eq sysprep.exe" | find /i "sysprep.exe"
if %errorlevel% lss 1 (taskkill /im sysprep.exe)
set AdminName=Admin
net user %AdminName%>nul 2>nul
if %errorLevel% neq 0 (call :AddAdmin "%AdminName%")
if %errorLevel% neq 0 (call :ShowMessage "‡‡‡Ошибка создания новой учетной записи администратора "%AdminName%"‡‡Нажмите любую клавишу для завершения работы скрипта"&pause>nul&exit)
pushd "%~dp0"
cls
call :ShowMessage ‡‡‡‡‡‡‡‡‡‡
echo 1 - Запечатать систему в режиме аудита
echo 2 - Запечатать систему в режиме приветствия
:Select
set /p Choice="Введите номер пункта меню: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo Выбрано недопустимое значение.&goto Select
exit
:Audit
call :ShowMessage "‡‡‡‡‡Запечатывание системы в режиме аудита"
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v KillSysprep /t REG_SZ /d "taskkill /im sysprep.exe" /f
%SYSTEMROOT%\System32\Sysprep\sysprep.exe /audit /generalize /shutdown /quiet
goto :eof
:OOBE
call :ShowMessage "‡‡‡‡‡Запечатывание системы в режиме приветствия"
reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v KillSysprep /f
powershell -command "(Get-Content -path 'Unattend.xml' -Raw).Trim() -replace 'Architecture=""".+?"""','Architecture="""%PROCESSOR_ARCHITECTURE%"""' | Set-Content -path 'Unattend.xml'"
%SYSTEMROOT%\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /quiet /unattend:Unattend.xml
goto :eof
:AddAdmin
setlocal
set UserName=%~1
if not defined UserName (echo Не указано имя пользователя&endlocal&exit /b 1)
call :GetGroupName "S-1-5-32-544" AdminGroup
if not defined AdminGroup (endlocal&exit /b 2)
call :GetGroupName "S-1-5-32-545" UserGroup
if not defined UserGroup (endlocal&exit /b 3)
net user %UserName% /add
wmic useraccount where "Name='%UserName%'" set PasswordExpires=False>nul
net localgroup %AdminGroup% %UserName% /add
net localgroup %UserGroup% %UserName% /delete
endlocal&exit /b 0
goto :eof
:GetGroupName
if "%~1"=="" (echo Не указан SID группы&goto :eof)
set %2=
for /f "tokens=2 delims=\ " %%i in ('whoami /groups /fo table^|find "%~1"') do set %2=%%i
if not defined %2 (echo Ошибка определения имени группы по SID'у "%~1")
goto :eof
:ShowMessage
setlocal enabledelayedexpansion
set String=%~1
if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
set /a ConCols=120 & set /a Num=1
set "String[!Num!].str=%String:‡=" & set /a Num+=1 & set "String[!Num!].str=%"
for /l %%a in (1,1,%Num%) do (
for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
if not defined String[%%a].str (set String[%%a].str= )
if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
setlocal disabledelayedexpansion
goto :eof
При запуске скрипт будет проверять наличие учетной записи «Admin» и создавать ее при ее отсутствии. Учетная запись будет добавлена в группу «Администраторы».
Unattend.xml – файл ответов для sysprep’а.
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
<Order>1</Order>
<Description>Dont show key page</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
<Order>2</Order>
<Description>Dont make account</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>cmd.exe /c rd %systemdrive%\Sysprep /s /q</Path>
<Order>3</Order>
<Description>Del Folder</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Enabled>true</Enabled>
<Username>Admin</Username>
</AutoLogon>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-US; ru-RU</InputLocale>
<SystemLocale>ru-RU</SystemLocale>
<UILanguage>ru-RU</UILanguage>
<UILanguageFallback></UILanguageFallback>
<UserLocale>ru-RU</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
</component>
</settings>
</unattend>
При запечатывании в режиме аудита скрипт будет добавлять в реестр команду на завершение процесса «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», находим нужное приложение, нажимаем на нем правой кнопкой мыши и выбираем пункт «Закрепить на начальном экране».
Я закрепил следующие приложения:
- Блокнот
- Калькулятор
- Internet Explorer
- Paint
- WordPad
- Параметры
- Безопасность Windows
Последние два приложения были закреплены т.к. в стандартной поставке 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».
У меня получился вот такой файл с параметрами
MultiAppKiosk.xml
<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
>
<Profiles>
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
<AllAppsList>
<AllowedApps>
<App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
<App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
<App DesktopAppPath="%windir%\system32\notepad.exe" />
<App DesktopAppPath="C:\Program Files\Internet Explorer\iexplore.exe" />
<App DesktopAppPath="%windir%\system32\win32calc.exe" />
<App DesktopAppPath="%windir%\system32\mspaint.exe" />
<App DesktopAppPath="%ProgramFiles%\Windows NT\Accessories\wordpad.exe" />
</AllowedApps>
</AllAppsList>
<StartLayout>
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6">
<start:Group Name="Настройки">
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
<start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
</start:Group>
<start:Group Name="Офисные приложения">
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Wordpad.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>
]]>
</StartLayout>
<Taskbar ShowTaskbar="true"/>
</Profile>
</Profiles>
<Configs>
<Config>
<Account>User</Account>
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
</Config>
</Configs>
</AssignedAccessConfiguration>
Когда будете делать свои 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» описано здесь. Удобство данного способа в гибкости использования и возможности избавиться от множества ручных операций, которые нужны для создания пакета подготовки. Здесь каждый для себя может сделать решение, которое будет удобно именно ему. Я для себя сделал вот такую пару скриптов.
MiltiKiosk.bat – скрипт для запуска
@echo off
chcp 1251>nul
if not exist "%~dp0psexec.exe" call :ShowMessage "‡‡‡‡‡‡‡‡‡‡‡‡‡Для работы скрипта необходим файл psexec.exe‡‡Для завершения работы скрипта нажмите любую клавишу"&pause>nul&exit
net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)
for /f "tokens=2 delims==" %%i in ('wmic useraccount where "Name='%UserName%'" get SID /value^|find "SID"') do set SID=%%i
reg add HKU\%SID%\Software\Sysinternals\PsExec /v EulaAccepted /t REG_DWORD /d 1 /f
for /f %%i in ('dir "%~dp0%~n0*.ps1" /b /o:n') do set PSFilePath=%~dp0%%i
if not defined PSFilePath (echo Не найдено PS файлов с началом названия - "%~n0"&pause&exit)
set PSFilePath=%PSFilePath: =` %
"%~dp0psexec.exe" -i -s powershell -command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Unrestricted -Command %PSFilePath%'"
exit
:ShowMessage
setlocal enabledelayedexpansion
set String=%~1
if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
set /a ConCols=120 & set /a Num=1
set "String[!Num!].str=%String:‡=" & set /a Num+=1 & set "String[!Num!].str=%"
for /l %%a in (1,1,%Num%) do (
for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
if not defined String[%%a].str (set String[%%a].str= )
if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
setlocal disabledelayedexpansion
goto :eof
MiltiKiosk_Ver.12.ps1 – основной скрипт
Function ConvertEncoding ([string]$From, [string]$To) {
Begin{$encFrom = [System.Text.Encoding]::GetEncoding($From);$encTo = [System.Text.Encoding]::GetEncoding($To)}
Process{$bytes = $encTo.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes);$encTo.GetString($bytes) -replace [char]0, ''}
}
Function ShowMessage ($Message='', $Align=0) {
Try {$Align = [decimal]$Align} Catch {Return 'Для параметра Align может быть указано только число' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [int]) {for ($i=1; $i -le $Message; $i++) {Write-Host}; Return}
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Message = $Message | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [string]) {[array] $Message = $Message}
foreach ($String in $Message) {
Try {$String = [int]$String} Catch {}
if ($String -is [int]) {for ($i=1; $i -le $String; $i++) {Write-Host}; continue}
if ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
if ($Align -eq 0) {Write-Host $String
} else {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Align) - [Math]::Floor($String.Length / $Align)))), $String)}
} else {Write-Host $String}
}
}
$script:NameSpace="root\cimv2\mdm\dmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
if (-not $MultiAppKiosk) {ShowMessage -Message (3, 'Ошибка получения объекта настроек', 2, 'Нажмите "Enter" для завершения рабты скрипта') -Align 2; Read-Host; Exit}
Function MainMenu() {
ShowMessage (13, ' 0 - Выход', ' 1 - Выбрать XML-файл для установки', ' 2 - Показать текущую конфигурацию мультикиоска', ' 3 - Удалить настройки мультикиоска', 1)
$local:PromptText = 'Выберите действие'
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Selections = 1..2
While ($true) {
$Select = Read-Host -Prompt $PromptText
Switch ($Select) {
0 {exit}
1 {XMLSelection}
2 {ShowMessage -Message (1, 'Начало конфигурации') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('Конец конфигурации', 1, 'Для возврата в меню нажмите "Enter"', 1) -Align 2; Read-Host}
3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'Выполнена команда удаления настроек', 1) -Align 2}
DEFAULT {ShowMessage 'Выбрано недопустимое значение'}
}
if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Выход', ' 1 - Выбрать XML-файл для установки', ' 2 - Показать текущую конфигурацию мультикиоска', ' 3 - Удалить настройки мультикиоска', 1)}
}
}
Function XMLSelection() {
Clear-Host
if (!(Test-Path -Path $PSScriptRoot'\XML')) {ShowMessage -Message (13, 'Не найден каталог', $('"'+$PSScriptRoot+'\XML"'), 1, 'Нажмите "Enter" для возврвта в предыдущее меню') -Align 2; Read-Host; Return}
$local:XMLList = @()
$XMLList += Get-ChildItem -Path $PSScriptRoot'\XML' -name -filter '*.xml'
if ($XMLList.Count -eq 0) {ShowMessage -Message (13, 'Не найдено XML-файлов в каталоге', $('"'+$PSScriptRoot+'\XML"'), 1, 'Нажмите "Enter" для возврвта в предыдущее меню') -Align 2; Read-Host; Return}
[int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
ShowMessage ($Indent, ' 0 - Вернуться в предыдущее меню')
for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
Write-Host
$local:PromptText = 'Выберите файл для установки'
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Selections = 1..$XMLList.Count
$local:BackToPrevMenu = 0
While ($BackToPrevMenu -eq 0) {
$Select = Read-Host -Prompt $PromptText
Switch ($Select) {
0 {$BackToPrevMenu = 1}
{$Selections -contains $Select} {ShowMessage $('Дана команда на применение настроек из файла '+$XMLList[$Select-1]);
$local:Config = (Get-Content -encoding UTF8 -path $($PSScriptRoot+'\XML\'+$XMLList[$Select-1]) -Raw).Trim()
$local:GUIDs = [regex]::matches($Config, '{.+?}') | select -ExpandProperty Value | Get-Unique
foreach ($GUID in $GUIDs) {$Config = $Config -replace $('\'+$GUID),$('{'+[guid]::NewGuid()+'}')}
$Config = $Config -replace '&','&' -replace '<','<' -replace '>','>' -replace "'",''' -replace '"','"'
$MultiAppKiosk.Configuration = $Config
Set-CimInstance -CimInstance $MultiAppKiosk
}
DEFAULT {ShowMessage ('Выбрано недопустимое значение')}
}
}
}
MainMenu
Если вы хотите использовать мое решение, то сохраните в одну папку вышеуказанные скрипты с их оригинальными именами и в эту же папку положите файл «PsExec.exe». В этой же папке создайте папку «XML» и скопируйте в нее XML-файлы для настройки мультикиоска. Я буду использовать тот же файл, что и в первом способе.
MultiAppKiosk.xml
<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
>
<Profiles>
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
<AllAppsList>
<AllowedApps>
<App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
<App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
<App DesktopAppPath="%windir%\system32\notepad.exe" />
<App DesktopAppPath="C:\Program Files\Internet Explorer\iexplore.exe" />
<App DesktopAppPath="%windir%\system32\win32calc.exe" />
<App DesktopAppPath="%windir%\system32\mspaint.exe" />
<App DesktopAppPath="%ProgramFiles%\Windows NT\Accessories\wordpad.exe" />
</AllowedApps>
</AllAppsList>
<StartLayout>
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6">
<start:Group Name="Настройки">
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
<start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
</start:Group>
<start:Group Name="Офисные приложения">
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Wordpad.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>
]]>
</StartLayout>
<Taskbar ShowTaskbar="true"/>
</Profile>
</Profiles>
<Configs>
<Config>
<Account>User</Account>
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
</Config>
</Configs>
</AssignedAccessConfiguration>
Немного об особенностях скрипта. Скрипт рассчитан на использование 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». Запускаю консоль с правами администратора. Думаю, что дальнейшие команды будут понятны без комментариев.
Команды локализации
cd c:\mount
dism /Mount-Wim /WimFile:e:\sources\install.wim /index:1 /MountDir:Installcode
dism /Image:Install /Add-Package /PackagePath:Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cabcode
dism /Image:Installcode /Set-AllIntl:ru-ru
dism /Image:Install /Set-TimeZone:"Russian Standard Time"code
dism /Mount-Wim /WimFile:Install\Windows\System32\Recovery\Winre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:ru-ru
dism /Image:Winre /Set-TimeZone:"Russian Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode
dism /Image:Install /Gen-LangINI /distribution:E:\ /Set-AllIntl:ru-RUcode
dism /image:Install /Set-SetupUILang:RU-ru /distribution:E:\code
dism /Unmount-Image /MountDir:Install /Commitcode
dism /mount-wim /wimfile:e:\sources\boot.wim /index:1 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:\sources\lang.ini Boot\sources\lang.inicode
dism /Unmount-Image /MountDir:Boot /Commitcode
dism /mount-wim /wimfile:e:\sources\boot.wim /index:2 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Boot /Add-Package /PackagePath:WinPE-Setup_ru-ru.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:\sources\lang.ini Boot\sources\lang.ini /ycode
dism /Unmount-Image /MountDir:Boot /Commit
Загружаемся с флэшки, выбираем русский язык и ставим систему на чистый диск. Когда система просит выбрать регион нажимаем «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~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~ ~.cab», «Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab».
Берем пакет «Feat on Demand RDX Updt» – X21-99781. В папку «c:\Mount» копирую из него пакеты: «Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab», « Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab».
Запускаем консоль с правами администратора и выполняем команды:
Команды
cd c:\mount
dism /Mount-Wim /WimFile:e:\sources\install.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /Commit
Загружаемся с флэшки, выбираем русский язык и ставим систему на чистый диск. Когда система просит выбрать регион нажимаем «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:» с указанием конфигурационного файла, в котором будет прописано копирование текущих параметров в экран приветствия. Содержимое конфигурационного файла будет выглядеть вот так.
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current" CopySettingsToSystemAcct="true"/>
</gs:UserList>
</gs:GlobalizationServices>
Т.к. будет копирование настроек текущего пользователя, то и выполнять команду нужно после входа пользователя в систему, а это значит, что нам понадобятся. Есть одно небольшое «но», выполнение будет после входа пользователя с правами администратора. И мне бы не хотелось создавать дополнительный файл, который будет необходим для успешного выполнения команды. Лучше все решение реализовать в едином файле — «Unattend.xml». Для этого просто нужно будет выполнить команду, которая создает конфигурационный файл. Думаю, что создам конфигурационный файл с помощью команды «echo» в среде «cmd», но в ней нужно экранировать угловые скобки циркумфлексом. Т.е. для создания конфигурационного файла получается вот такая команда.
echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>Config.xml
Но нам эту команду нужно поместить в XML, у которого свои требования к использованию спецсимволов:
В итоге для создания конфигурационного файла получилась вот такая команда для «FirstLogonCommands».
cmd.exe /c echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>"%TMP%\Config.xml"
Далее выполняем команду с использованием конфигурационного файла.
control intl.cpl,,/f:"%TMP%\Config.xml"
Далее удаляем ранее созданный файл и перезагружаем систему т.к. изменения вступят в силу после перезагрузки.
cmd.exe /c del "%TMP%\Config.xml" /q&shutdown /r /f /t 00
В итоге у меня получился вот такой файл ответов для sysprep’а.
Unattend.xml
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
<Order>1</Order>
<Description>Dont show key page</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
<Order>2</Order>
<Description>Dont make account</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>cmd.exe /c rd %systemdrive%\Sysprep /s /q</Path>
<Order>3</Order>
<Description>Del Folder</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Enabled>true</Enabled>
<Username>Admin</Username>
</AutoLogon>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-US; ru-RU</InputLocale>
<SystemLocale>ru-RU</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback></UILanguageFallback>
<UserLocale>ru-RU</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>cmd.exe /c echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>"%TMP%\Config.xml"</CommandLine>
<Description>CreateConfig</Description>
<Order>1</Order>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>control intl.cpl,,/f:"%TMP%\Config.xml"</CommandLine>
<Description>UseConfig</Description>
<Order>2</Order>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>cmd.exe /c del "%TMP%\Config.xml" /q&shutdown /r /f /t 00</CommandLine>
<Description>DelConfig</Description>
<Order>3</Order>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
Проверяем…
Заливаем образ системы – русифицированный в режиме аудита.
Меняем файл Unattend.xml на новый, запускаем «Sysprep.bat», выбираем пункт 2 и смотрим, что у нас получилось. При первой загрузке экран приветствия на английском языке, система перезагружается. Экран приветствия на русском языке, мультикиоск работает.
Если у вас остались вопросы относительно настройки и лицензирования Windows 10 IoT Enterprise, обращайтесь по адресу mse@quarta.ru или на сайт quarta-embedded.ru.
Ответы на некоторые вопросы Вы можете найти в нашей вики или на нашем YouTube-канале
Автор статьи: Борисенков Владимир, технический эксперт компании Кварта Технологии.