建立受指派的存取權組態 XML 檔案

若要設定受指派的存取權,您必須建立組態 XML 檔案,並將其套用至您的裝置。 組態檔必須符合 架構,如指 派的存取權 XML 架構定義中所定義, (XSD)

本文說明如何設定受指派的存取配置檔,包括實際範例。

讓我們先來看看 XML 檔案的基本結構。 受指派的存取權組態檔包含:

  • 一或多個 profiles。 每個都會 profile 定義一組允許執行的應用程式
  • 一或多個 configs。 每個都會 config 將用戶帳戶或群組關聯至 profile

以下是受指派存取配置檔的基本範例,其中包含一個配置檔和一個組態:

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config">
    <Profiles>
        <Profile Id="{GUID}">
            <!-- Add configuration here as needed -->
        </Profile>
    </Profiles>
    <Configs>
        <Config>
            <!-- Add configuration here as needed -->
        </Config>
    </Configs>
</AssignedAccessConfiguration>

版本設定

受指派的存取設定 XML 已建立版本。 版本是在 XML 根元素中定義,用來判斷要用來驗證 XML 檔案的架構。 此版本也可用來判斷哪些功能可用於設定。 以下是檔案範例中使用的版本、別名和命名空間的表格:

版本 Alias 命名空間
Windows 11 版本 22H2 v5 http://schemas.microsoft.com/AssignedAccess/2022/config
Windows 11 版本 21H2 v4 http://schemas.microsoft.com/AssignedAccess/2021/config
Windows 10 v5 http://schemas.microsoft.com/AssignedAccess/202010/config
Windows 10 v3 http://schemas.microsoft.com/AssignedAccess/2020/config
Windows 10 rs5 http://schemas.microsoft.com/AssignedAccess/201810/config
Windows 10 預設值 http://schemas.microsoft.com/AssignedAccess/2017/config

若要授權包含版本特定元素和屬性的相容組態 XML,請一律包含附加元件架構的命名空間,並據以命名空間別名來裝飾屬性和元素。 例如,若要設定StartPins在 Windows 11 22H2 版中新增的功能,請使用下列範例。 請注意與 22H2 版本命名空間相關聯http://schemas.microsoft.com/AssignedAccess/2022/config的別名v5,並以內嵌方式標記StartPins別名。

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
    xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
    <Profiles>
        <Profile Id="{GUID}">
            <!-- Add configuration here as needed -->
            <v5:StartPins>
              <!-- Add StartPins configuration here -->
            </v5:StartPins>
        </Profile>
    </Profiles>
    <Configs>
        <Config>
            <!-- Add configuration here as needed -->
        </Config>
    </Configs>
</AssignedAccessConfiguration>

您可以在這裡找到受指派的存取 XML 架構定義: 指派的存取權 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 檔案中必須是唯一的。 您可以使用 PowerShell Cmdlet New-Guid產生 GUID。

設定檔可以是下列兩種類型的其中一種:

  • KioskModeApp:用來設定 kiosk 體驗。 指派此配置檔的使用者不會存取桌面,但只有 通用 Windows 平台 (UWP) 應用程式或在鎖定畫面上方全螢幕執行的 Microsoft Edge
  • AllAppList 用來設定受限制的用戶體驗。 使用者已指派此設定檔,使用 [開始] 功能表上的特定應用程式存取桌面

重要

  • 您無法同時在裝置上設定 KioskModeAppShellLauncher
  • 組態檔只能包含一個 KioskModeApp 配置檔,但可以包含多個 AllAppList 配置檔。

KioskModeApp

設定檔案的 KioskModeApp 屬性如下:

屬性 描述 詳細資料
AppUserModelId 應用程式使用者模型標識碼 (UWP 應用程式的 AUMID) 。 瞭解如何 尋找已安裝應用程式的應用程式使用者模型標識碼
v4:ClassicAppPath 桌面應用程式可執行檔的完整路徑。 這是 kiosk 模式中所使用傳統型應用程式的路徑。 路徑可以包含格式為的 %variableName%系統環境變數。
v4:ClassicAppArguments 要傳遞至傳統型應用程式的自變數。 這個屬性是選擇性的。

根據預設,您可以使用 CTRL+ALT+DEL 序列來結束 kiosk 模式。 您可以定義 BreakoutSequence 項目來變更預設序列。 屬性 Key 是表示按鍵組合的字串。

兩個設定檔的範例:傳統型應用程式和 UWP 應用程式:

<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
  <KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" />
  <v4:BreakoutSequence Key="Ctrl+A"/>
</Profile>
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}">
  <KioskModeApp AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
</Profile>

注意

您只能將配置檔指派給使用者,不能指派 KioskModeApp 給群組。

AllAppList

根據 kiosk 裝置的用途,定義允許執行的應用程式清單。 這份清單可同時包含 UWP app 及傳統型應用程式。 將 mult-app kiosk 設定套用至裝置時,會產生 AppLocker 規則以允許組態中列出的應用程式。

注意

如果應用程式相依於另一個應用程式,則兩者都必須包含在允許的應用程式清單中。

在節點內 AllAppList ,定義允許執行的應用程式清單。 每個 App 元素都有下列屬性:

屬性 描述 詳細資料
AppUserModelId 應用程式使用者模型標識碼 (UWP 應用程式的 AUMID) 。 瞭解如何 尋找已安裝應用程式的應用程式使用者模型標識碼
DesktopAppPath 桌面應用程式可執行檔的完整路徑。 這是在 kiosk 模式中使用的桌面應用程式路徑。 路徑可以包含格式為的 %variableName%系統環境變數。
rs5:AutoLaunch 布爾值屬性,指出是否要在使用者登入時自動 (桌面或 UWP 應用程式) 啟動應用程式。 這個屬性是選擇性的。 只有一個應用程式可以自動啟動。
rs5:AutoLaunchArguments 要傳遞至以 設定之應用程式的 AutoLaunch自變數。 AutoLaunchArguments 會依目前狀態傳遞至應用程式,而且應用程式需要明確地處理自變數。 這個屬性是選擇性的。

範例:

<AllAppsList>
  <AllowedApps>
    <App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
    <App DesktopAppPath="C:\Windows\system32\cmd.exe" />
    <App DesktopAppPath="%windir%\explorer.exe" />
    <App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
    <App DesktopAppPath="C:\Windows\System32\notepad.exe" rs5:AutoLaunch="true" rs5:AutoLaunchArguments="%windir%\setuperr.log" />
  </AllowedApps>
</AllAppsList>

檔案總管 限制

在受限制的用戶體驗 (AllAppList) 中,預設會鎖定文件夾流覽。 您可以藉由包含 FileExplorerNamespaceRestrictions 節點,明確地允許存取已知資料夾。

您可以指定使用者對 Downloads 資料夾、卸載式磁碟驅動器的存取權,或完全沒有限制。 您可以同時允許下載和卸載式磁碟驅動器。

<Profiles>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
        <AllAppsList>
            <AllowedApps>
                <!-- Add configuration here as needed -->
            </AllowedApps>
        </AllAppsList>
        <rs5:FileExplorerNamespaceRestrictions>
            <!-- Add configuration here as needed -->
        </rs5:FileExplorerNamespaceRestrictions>
        <!-- Add configuration here as needed -->
    </Profile>
</Profiles>

以下是一些實用的範例。

封鎖所有專案

請勿使用節點,或將其保留空白。

<rs5:FileExplorerNamespaceRestrictions>
</rs5:FileExplorerNamespaceRestrictions>

只允許下載

<rs5:FileExplorerNamespaceRestrictions>
    <rs5:AllowedNamespace Name="Downloads"/>
</rs5:FileExplorerNamespaceRestrictions>

只允許卸載式磁碟驅動器

<rs5:FileExplorerNamespaceRestrictions>
    <v3:AllowRemovableDrives />
</rs5:FileExplorerNamespaceRestrictions>

允許下載和卸載式磁碟驅動器

<rs5:FileExplorerNamespaceRestrictions>
    <rs5:AllowedNamespace Name="Downloads"/>
    <v3:AllowRemovableDrives/>
</rs5:FileExplorerNamespaceRestrictions>

不限制,允許所有位置

<rs5:FileExplorerNamespaceRestrictions>
    <v3:NoRestriction />
</rs5:FileExplorerNamespaceRestrictions>

提示

若要在受限制的用戶體驗中授與 檔案總管 的存取權,請將 新Explorer.exe增至允許的應用程式清單,然後將快捷方式釘選到 [開始] 功能表。

[開始] 選單自定義

針對受限制的用戶體驗配置檔 (AllAppList) ,您必須定義 \[開始\] 配置。 [開始] 設定包含釘選到 [開始] 功能表的應用程式清單。 您可以選擇將所有允許的應用程式釘選到 [開始] 選單或子集。 建立自定義 [開始] 配置的最簡單方式是在測試裝置上設定 [開始] 功能表,然後導出版面配置。

若要瞭解如何自定義和匯出 [開始] 功能表組態,請參閱 自定義 [開始] 功能表

使用導出的 [開始] 功能表組態,使用 StartLayout 專案並新增 XML 檔案的內容。 例如:

<StartLayout>
  <![CDATA[
    <!-- Add your exported Start menu XML configuration file here -->
  ]]>
</StartLayout>

一些已釘選應用程式的範例:

<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="Group1">
              <start:Tile Size="4x4" Column="0" Row="0" AppUserModelID="Microsoft.  ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" />
              <start:Tile Size="2x2" Column="4" Row="2" AppUserModelID="Microsoft.  ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" />
            </start:Group>
            <start:Group Name="Group2">
              <start:DesktopApplicationTile Size="2x2" Column="2" Row="0"   DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start   Menu\Programs\Accessories\Paint.lnk" />
              <start:DesktopApplicationTile Size="2x2" Column="0" Row="0"   DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.  lnk" />
            </start:Group>
          </defaultlayout:StartLayout>
        </StartLayoutCollection>
      </DefaultLayoutOverride>
    </LayoutModificationTemplate>
  ]]>
</StartLayout>

使用導出的 [開始] 功能表組態,使用 v5:StartPins 元素並新增匯出 JSON 檔案的內容。 例如:

<v5:StartPins>
  <![CDATA[
      <!-- Add your exported Start menu JSON configuration file here -->
  ]]>
</v5:StartPins>

一些已釘選應用程式的範例:

<v5:StartPins>

</v5:StartPins>

注意

如果未為使用者安裝應用程式,但包含在 \[開始\] 配置 XML 中,應用程式就不會顯示在 \[開始\] 畫面上。

任務列自定義

您無法在受限制的使用者體驗中釘選任務列上的應用程式。 不支援在版面配置修改 XML 中使用 <CustomTaskbarLayoutCollection> 標記來設定任務列配置,作為受指派存取權組態的一部分。

唯一可用的 Taskbar 自定義是使用 ShowTaskbar 布爾屬性顯示或隱藏它的選項。

下列範例會公開任務列:

<Taskbar ShowTaskbar="true"/>

下列範例會隱藏工作列:

<Taskbar ShowTaskbar="false"/>

注意

這與平板電腦模式下的 \[自動隱藏工作列\] 選項不同,因為該選項會在使用者向上撥動或將滑鼠指標移至畫面底部時顯示工作列。 將設定 ShowTaskbarfalse 會永久隱藏任務列。

您可以建立自定義版面配置,並將其新增至 XML 檔案,以自定義任務列。 若要瞭解如何自定義和匯出任務列設定,請參閱 自定義任務列

注意

在 Windows 11 中, ShowTaskbar 屬性為 no-op。 使用 值 true進行設定。

使用導出的 Taskbar 組態,使用 v5:TaskbarLayout 專案並新增 XML 檔案的內容。 例如:

<Taskbar ShowTaskbar="true" />
<v5:TaskbarLayout><![CDATA[
  <!-- Add your exported Taskbar XML configuration file here -->
  ]]>
</v5:TaskbarLayout>

以下是已釘選幾個應用程式的自訂任務列範例:

<Taskbar ShowTaskbar="true" />
<v5:TaskbarLayout><![CDATA[
  <?xml version="1.0" encoding="utf-8"?>
  <LayoutModificationTemplate
      xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
      xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
      xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
      xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
      Version="1">
  <CustomTaskbarLayoutCollection>
    <defaultlayout:TaskbarLayout>
    <taskbar:TaskbarPinList>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Windows.Explorer" />
        <taskbar:DesktopApp DesktopApplicationID="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
        <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk"/>
    </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
  </CustomTaskbarLayoutCollection>
  </LayoutModificationTemplate>
  ]]>
</v5:TaskbarLayout>

Configs

在底下 Configs,定義一或多個用戶帳戶或群組,以及其與配置檔的關聯。

當使用者帳戶登入時,會強制執行相關聯的受指派存取配置檔,以及屬於受限制用戶體驗一部分的原則設定。

您可以指定:

  • 標準用戶帳戶,可以是本機、網域或 Microsoft Entra ID
  • 組帳戶,可以是本機、Active Directory (網域) 或 Microsoft Entra ID

限制:

  • 指定組帳戶的設定不能使用 kiosk 設定檔,只能使用受限制的用戶體驗配置檔
  • 僅將受限制的用戶體驗套用至標準使用者。 不支援將系統管理員使用者與受指派的存取權配置檔產生關聯
  • 請勿將配置檔套用至需要使用者互動的條件式存取原則所設為目標的使用者或群組。 例如,多重要素驗證 (MFA) 或使用規定 (TOU) 。 如需詳細資訊,請參閱 如果指派了多應用程式 kiosk 配置檔,使用者就無法登入 Windows

注意

在 Microsoft Entra 加入網域的裝置上,預設不會在登入畫面上顯示本機用戶帳戶。 若要在登入畫面上顯示本機帳戶,請啟用原則設定:

AutoLogon 帳戶

使用 <AutoLogonAccount>時,受指派的存取權會建立和管理用戶帳戶,以在裝置重新啟動後自動登入。 帳戶是本機標準使用者。

下列範例示範如何指定要自動登入的帳戶,以及登入畫面上帳戶的選擇性顯示名稱:

<Configs>
  <Config>
    <AutoLogonAccount rs5:DisplayName="Microsoft Learn example"/>
    <DefaultProfile Id="{GUID}"/>
  </Config>
</Configs>

重要

當 Exchange Active Sync (EAS) 裝置上啟用密碼限制時,自動註冊功能無法運作。 這個行為是由於預設的設計所致。 如需詳細資訊,請參閱 如何在 Windows 中開啟自動登入

全域配置檔

使用 GlobalProfile,您可以定義已指派的存取配置檔,該配置檔會套用至每個登入的非系統管理員帳戶。 GlobalProfile 在一線員工或學生裝置等案例中很有用,您想要確保每個使用者都有一致的體驗。

<Configs>
  <v3:GlobalProfile Id="{GUID}"/>
</Configs>

注意

您可以將全域設定檔與其他設定檔結合。 如果您為使用者指派非全域配置檔,則不會將全域配置檔套用至該使用者。

使用者帳戶

使用 指定 <Account>個別帳戶。

重要

套用受指派的存取權設定之前,請確定指定的用戶帳戶可在裝置上使用,否則會失敗。

對於網域和 Microsoft Entra 帳戶,只要裝置已加入 Active Directory 或 Microsoft Entra 加入,即可在裝置加入的網域樹系或租使用者中探索帳戶。 針對本機帳戶,帳戶必須在您設定帳戶的受指派存取權前存在。

本機使用者

本機帳戶可以輸入為 devicename\user.\user或只是 user

<Config>
  <Account>user</Account>
  <DefaultProfile Id="{GUID}"/>
</Config>

Active Directory 使用者

您必須使用 格式 domain\samAccountName來輸入網域帳戶。

<Config>
  <Account>contoso\user</Account>
  <DefaultProfile Id="{GUID}"/>
</Config>

Microsoft Entra 使用者

Microsoft Entra 帳戶必須使用下列格式來指定:AzureAD\{UPN}AzureAD必須依原樣提供,然後遵循UPN) (Microsoft Entra 用戶主體名稱。

<Config>
  <Account>AzureAD\user@contoso.onmicrosoft.com</Account>
  <DefaultProfile Id="{GUID}"/>
</Config>

組帳戶

組帳戶是使用 <UserGroup>來指定。 不支援巢狀群組。 例如,如果使用者 A群組 A 的成員,群組 A群組 B 的成員,而群<Config/>組 B 用於 ,則使用者 A 沒有 kiosk 體驗。

本機群組

將群組類型指定為 LocalGroup ,並在屬性中 Name 新增組名。

<Config>
  <UserGroup Type="LocalGroup" Name="groupname" />
  <DefaultProfile Id="{GUID}"/>
</Config>

Active Directory 群組

同時支援安全性和通訊群組。 將群組型態指定為 ActiveDirectoryGroup。 使用功能變數名稱做為 name 屬性的前置詞。

<Config>
  <UserGroup Type="ActiveDirectoryGroup" Name="contoso\groupname" />
  <DefaultProfile Id="{GUID}"/>
</Config>

Microsoft Entra 群組

使用 Microsoft Entra 群組的物件標識碼。 您可以在群組的概觀頁面上找到物件標識符,方法是登入 Microsoft Entra 系統管理中心 並流覽至> [身分識別群組>][所有群組]。 將群組型態指定為 AzureActiveDirectoryGroup。 當屬於群組登入的使用者時,kiosk 裝置必須具有因特網連線能力。

<Config>
  <UserGroup Type="AzureActiveDirectoryGroup" Name="Group_GUID" />
  <DefaultProfile Id="{GUID}"/>
</Config>

後續步驟

檢閱受指派存取 XML 設定的一些實用範例:

受指派的存取權範例