Создание файла конфигурации средства запуска оболочки

Чтобы настроить средство запуска оболочки, необходимо создать и применить XML-файл конфигурации к устройствам. Файл конфигурации должен соответствовать схеме, как определено в определении XML-схемы средства запуска оболочки (XSD).

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

Начнем с рассмотрения базовой структуры XML-файла. Файл конфигурации средства запуска оболочки содержит:

  • Один или несколько profiles. Каждый из них profile определяет:
    • приложение, заменяющее стандартную оболочку Windows (Explorer.exe), которая выполняется при входе пользователя.
    • действие по умолчанию, выполняемое при выходе приложения, и действия при выходе приложения с определенным кодом возврата
  • Один или несколько 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-GuidPowerShell .

Можно определить , который используется, если с учетной 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должен быть указан как есть, а затем следуйте указаниям Microsoft Entra имени субъекта-пользователя (UPN).

<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>