Создание файла конфигурации средства запуска оболочки
Чтобы настроить средство запуска оболочки, необходимо создать и применить XML-файл конфигурации к устройствам. Файл конфигурации должен соответствовать схеме, как определено в определении XML-схемы средства запуска оболочки (XSD).
В этой статье описывается настройка файла конфигурации средства запуска оболочки, включая практические примеры.
Начнем с рассмотрения базовой структуры XML-файла. Файл конфигурации средства запуска оболочки содержит:
- Один или несколько
profiles
. Каждый из нихprofile
определяет:- приложение, заменяющее стандартную оболочку Windows (
Explorer.exe
), которая выполняется при входе пользователя. - действие по умолчанию, выполняемое при выходе приложения, и действия при выходе приложения с определенным кодом возврата
- приложение, заменяющее стандартную оболочку Windows (
- Один или несколько
configs
. Каждый из нихconfig
связывает учетную запись пользователя сprofile
Примечание.
Профиль не действует, если он не связан с учетной записью пользователя.
Ниже приведен базовый пример файла конфигурации средства запуска оболочки с одним профилем и одной конфигурацией:
<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
<Profiles>
<Profile Id="{GUID}">
<!-- Add configuration here as needed -->
</Profile>
</Profiles>
<Configs>
<Config>
<!-- Add configuration here as needed -->
</Config>
</Configs>
</ShellLauncherConfiguration>
Управление версиями
XML-файл конфигурации средства запуска оболочки имеет версию. Версия определяется в корневом xml-элементе и используется для определения схемы, используемой для проверки XML-файла. Версия также используется для определения доступных функций для конфигурации. Ниже приведена таблица версий, псевдонимов, используемых в примерах документации, и пространств имен:
Версия | Alias | Пространство имен |
---|---|---|
Windows 10 | V2 |
http://schemas.microsoft.com/ShellLauncher/2019/Configuration |
Windows 10 | default | http://schemas.microsoft.com/ShellLauncher/2018/Configuration |
Чтобы авторизовать совместимый XML-файл конфигурации, включающий элементы и атрибуты, относящиеся к конкретной версии, всегда включите пространство имен схем надстроек и декорируйте атрибуты и элементы соответствующим образом псевдонимом пространства имен. Например, чтобы настроить приложение киоска для выполнения в полноэкранном режиме, используйте приведенный ниже пример. Обратите внимание на псевдоним, связанный V2
с http://schemas.microsoft.com/ShellLauncher/2019/Configuration
пространством имен, и псевдоним помечен во AppType
встроенных свойствах и AllAppsFullScreen
.
<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
<Profiles>
<Profile Id="{GUID}">
<!-- Add configuration here as needed -->
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
</Profile>
</Profiles>
<Configs>
<Config>
<!-- Add configuration here as needed -->
</Config>
</Configs>
</ShellLauncherConfiguration>
Здесь можно найти определения xml-схем (XSD) средства запуска оболочки.
Профили
Файл конфигурации может содержать один или несколько профилей. Каждый профиль имеет уникальный идентификатор Profile Id
и, при необходимости, .Name
Пример:
<Profiles>
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
<!-- Add configuration here as needed -->
</Profile>
</Profiles>
Совет
Объект Profile Id
должен быть уникальным внутри XML-файла. Идентификатор GUID можно создать с помощью командлета New-Guid
PowerShell .
Можно определить , который используется, если с учетной Defaultprofile
записью пользователя не связан никакой другой профиль. Это гарантирует, что каждый пользователь, использующий устройство, использует одно и то же приложение. Пример.
<Profiles>
<DefaultProfile>
<!-- Add configuration here as needed -->
</DefaultProfile>
</Profiles>
Оболочка
Каждый профиль определяет Shell
элемент, который содержит сведения о выполняемом приложении. Элемент Shell
имеет следующие свойства:
Свойство | Описание | Сведения |
---|---|---|
Shell |
Приложение, используемое в качестве оболочки Windows. | — Для приложений универсальной платформы Windows (UWP) необходимо указать идентификатор модели пользователя приложения (AUMID). Узнайте, как найти идентификатор модели пользователя приложения для установленного приложения. — Для классических приложений укажите полный путь к исполняемому файлу, который может содержать системные переменные среды в виде %variableName% . Вы также можете указать любые параметры, которые могут потребоваться приложению. |
V2:AppType |
Определяет тип приложения. | Допустимые значения: Desktop и UWP . |
V2:AllAppsFullScreen |
Логическое значение, определяющее, выполняются ли все приложения в полноэкранном режиме. | — Если задано значение true , средство запуска оболочки запускает все приложения в полноэкранном режиме или развернуто для классических приложений.— Если задано false значение или не задано, только пользовательское приложение оболочки запускается в полноэкранном режиме; другие приложения, запущенные пользователем, запускаются в оконном режиме. |
Пример.
<Profile Id="{GUID}">
<Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
<!-- Add configuration here as needed -->
</Shell>
</Profile>
В следующем примере приложение "Погода" выполняется в полноэкранном режиме.
<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
<Profiles>
<DefaultProfile>
<Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
<DefaultAction Action="RestartShell"/>
</Shell>
</DefaultProfile>
</Profiles>
<Configs/>
</ShellLauncherConfiguration>
В следующем примере Microsoft Edge выполняется в полноэкранном режиме, открывая веб-сайт. Веб-сайт перезагружается через 2 минуты бездействия.
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
<DefaultAction Action="RestartShell"/>
</Shell>
</Profile>
ReturnCodeActions
Средство запуска оболочки определяет четыре действия для обработки завершения работы приложения. Вы можете настроить средство запуска оболочки и использовать действия на основе разных кодов выхода. Ниже приведены перечисления ReturnCodeActions
:
RestartShell
RestartDevice
ShutdownDevice
DoNothing
Действия можно использовать в качестве действия по умолчанию или сопоставить с определенным кодом выхода. Ознакомьтесь с командой запуска оболочки, чтобы узнать, как использовать коды выхода с WMI средства запуска оболочки.
Можно указать не более четырех настраиваемых действий, сопоставленных с четырьмя кодами выхода, и одно действие по умолчанию для всех остальных кодов выхода. При выходе из приложения и если код выхода не найден в сопоставлении настраиваемых действий или действие по умолчанию не определено, ничего не происходит. По этой причине следует по крайней мере определить DefaultAction
.
Пример.
<Profile Id="{GUID}">
<Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
<ReturnCodeActions>
<ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
<ReturnCodeAction ReturnCode="1" Action="DoNothing"/>
</ReturnCodeActions>
<DefaultAction Action="RestartDevice"/>
</Shell>
</Profile>
Configs
В разделе Configs
определите одну или несколько учетных записей пользователей и их связь с профилем.
Отдельные учетные записи задаются с помощью <Account Name=""/>
.
Важно.
Перед применением конфигурации средства запуска оболочки убедитесь, что указанная учетная запись пользователя доступна на устройстве. В противном случае произойдет сбой.
Для учетных записей домена и Microsoft Entra, если устройство присоединено к Active Directory или Присоединено к Microsoft Entra, учетная запись может быть обнаружена в лесу домена или клиенте, к которому присоединено устройство. Для локальных учетных записей необходимо, чтобы учетная запись существовала перед настройкой учетной записи для средства запуска оболочки.
Местный пользователь
Локальную учетную запись можно ввести как devicename\user
, .\user
или просто user
.
<Config>
<Account Name="Learn Example"/>
<Profile Id="{GUID}"/>
</Config>
Пользователь Active Directory
Учетные записи домена должны вводиться в формате domain\samAccountName
.
<Config>
<Account Name="contoso\user"/>
<Profile Id="{GUID}"/>
</Config>
Пользователь Microsoft Entra
Учетные записи Microsoft Entra должны быть указаны в формате : AzureAD\{UPN}
.
AzureAD
должен быть указан как есть, а затем следуйте указаниям имени участника-пользователя (UPN) Microsoft Entra.
<Config>
<Account Name="azuread\user@contoso.onmicrosoft.com"/>
<Profile Id="{GUID}"/>
</Config>
При входе учетной записи пользователя применяется связанный профиль средства запуска оболочки, который загружает приложение, указанное в профиле.
Учетная запись автоматического входа
С помощью <AutoLogonAccount>
средства запуска оболочки создает учетную запись пользователя и управляет ею для автоматического входа после перезапуска устройства. Учетная запись является локальным стандартным пользователем с именем Kiosk
.
Пример.
<Configs>
<Config>
<!--account managed by Shell Launcher-->
<AutoLogonAccount/>
<Profile Id="{GUID}"/>
</Config>
<Configs>
<!--local account-->
<Account Name="Learn Example"/>
<Profile ID="{GUID}"/>
</Configs>
<Configs>
<!--Microsoft Entra account-->
<Account Name="azuread\kiosk@contoso.com"/>
<Profile ID="{GUID}"/>
</Configs>
</Configs>
Пример
Ниже приведен полный пример файла конфигурации средства запуска оболочки с двумя профилями и тремя конфигурациями:
<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration" xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
<Profiles>
<DefaultProfile>
<Shell Shell="%SystemRoot%\explorer.exe" />
</DefaultProfile>
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" Name="Weather">
<Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
<DefaultAction Action="RestartShell" />
</Shell>
</Profile>
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Edge">
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
<ReturnCodeActions>
<ReturnCodeAction ReturnCode="0" Action="RestartShell" />
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice" />
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice" />
</ReturnCodeActions>
<DefaultAction Action="RestartShell" />
</Shell>
</Profile>
</Profiles>
<Configs>
<Config>
<AutoLogonAccount />
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
</Config>
<Config>
<Account Name="azuread\kiosk1@contoso.onmicrosoft.com" />
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" />
</Config>
<Config>
<Account Name="azuread\kiosk2@contoso.onmicrosoft.com" />
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
</Config>
</Configs>
</ShellLauncherConfiguration>