快訊
2026-07-29
Windows教學

Windows Kiosk 模式教學:用 Assigned Access 把電腦鎖定成單一程式

約 15 分鐘閱讀

⚡ 站長快讀:核心重點

  • 文章屬性:教學實戰
  • 適用系統:Windows 11 / Windows 10 的專業版、企業版(含 LTSC)、教育版、IoT 企業版(含 LTSC)——家用版不在官方支援清單內
  • 難易度 / 耗時:⭐⭐⭐ / 約 20–40 分鐘
  • 核心結論:Assigned Access(受指派的存取權)能把一台電腦鎖成只跑一支 UWP 應用程式或 Microsoft Edge,應用程式被關掉會自動重開;要鎖的若是一般 .exe 桌面程式,則是另一套 Shell Launcher,版本門檻更高。
  • 適用對象:展場機、櫃檯查詢機、教室與診間電腦、要借出去又怕被亂裝東西的管理者

📌 快速答案

一句話答案:Windows Kiosk 模式靠 Assigned Access 把單一應用程式鎖成全螢幕,限專業版以上版本,設定後預設按 Ctrl + Alt + Del 才能脫離。

廣告

🧰 開始前的準備

  • 系統需求:Windows 11 或 Windows 10,版本須為專業版、企業版 / 企業版 LTSC、教育版、IoT 企業版 / IoT 企業版 LTSC。官方支援清單沒有家用版
  • 兩個容易漏掉的硬條件:必須啟用使用者帳戶控制(UAC);而且必須從主控台(機器本身的螢幕鍵盤)登入——遠端桌面連線不支援 kiosk 體驗。
  • 權限需求:設定過程需要系統管理員;kiosk 帳戶本身官方建議用本機標準使用者帳戶(權限愈低愈好)。
  • 需要工具:內建「設定」App;進階走 PowerShell 的 AssignedAccess 模組,或 AssignedAccess CSP 的 XML 組態檔(可經 Intune、佈建套件或 MDM 橋接 WMI 供應者套用)。
  • 預計耗時:約 20–40 分鐘(含建立帳戶與驗證)。
  • 難度門檻:會建立本機帳戶就能做基本版;要自訂脫離鍵或改跑一般桌面程式,才需要碰 XML。

🔍 為什麼你需要這個?

電腦借出去一趟回來,桌面多了三個不知名捷徑;展場查詢機被逛到檔案總管;診間叫號螢幕被路人按掉——共同點是:你要的不是「限制某些功能」,而是「這台機器只准做一件事」

多數人想到的是把桌面圖示藏起來、把帳戶設密碼、或用群組原則關掉一堆功能——擋得住手滑,擋不住 Alt + Tab。Windows 內建的 Assigned Access 走的是另一條路:kiosk 應用程式跑在鎖定畫面上方,關掉就自動重開。

本文和多數「Kiosk 模式怎麼開」的教學有三個不一樣的地方,先在這裡講明白:

  1. 版本門檻其實有兩層,不是一層。單一應用程式 kiosk 只要專業版;但如果你想鎖的是一般 .exe 桌面程式(POS 軟體、自家系統),那要用 Shell Launcher,而 Shell Launcher 專業版拿不到,只在企業版、教育版與 IoT 企業版。
  2. 脫離鍵有兩份互相打架的官方說法。現行 Assigned Access 文件寫預設是 Ctrl + Alt + Del;但 Set-AssignedAccess 這個指令的參考頁至今仍寫「快速連按左邊 Windows 鍵五次」。兩份都掛在 Microsoft Learn 上,底下會說清楚該信哪一份。
  3. Kiosk 模式不等於防呆全餐。官方針對「受限制的使用者體驗(多應用程式 kiosk)」白紙黑字寫著:Alt + F4Alt + TabAlt + Shift + TabCtrl + Alt + Del 這幾組不會被封鎖,要另外上鍵盤篩選器(Keyboard Filter)——而 Keyboard Filter 的官方支援版本同樣是企業版 / 企業版 LTSC、教育版、IoT 企業版(含 LTSC),專業版沒有,所以版本門檻其實是三層。單一應用程式 kiosk 官方雖無同等敘述,但脫離鍵本身就是官方設計的出口,別當成完全封死。
Assigned Access 單一應用程式 kiosk、受限制使用者體驗與 Shell Launcher 三種鎖定方式的支援版本、可執行程式與運作層級比較表
資料來源:Microsoft Learn 受指派的存取權與 Shell Launcher 官方文件,2026-07-29 查證。

🛠️ 實戰步驟

⚠️ 高風險操作提醒(⭐⭐⭐)

本文步驟四與回退段會動到登錄檔,步驟本身會改變一台機器的登入與桌面行為。開始之前請先做兩件事:①先備份登錄檔或建立系統還原點;②確認這台機器接得到實體鍵盤與螢幕。設定失誤最典型的後果是「開機直接進 kiosk、管理者帳戶進不去」,沒有實體鍵盤就只能重灌。

停止條件(符合任一,請先別往下做):不確定自己的 Windows 版本是不是專業版以上;沒有另一組系統管理員帳戶可以登入;沒有完成登錄檔備份或還原點;這台是公司或學校的管控設備而你沒有 IT 授權;機器只能靠遠端桌面操作(kiosk 體驗不支援 RDP);指令輸出與本文描述不符。

步驟一:確認版本,並建立 kiosk 專用的本機標準帳戶

先確認版本,不然後面全白做。按 Win + R → 輸入 winver;再到 設定 → 系統 → 系統資訊 看「Windows 規格」那欄的版本名稱。看到「家用版」就可以停了。

接著建立 kiosk 帳戶。路徑是 設定 → 帳戶 → 其他使用者 → 新增帳戶 → 選「我沒有這位人員的登入資訊」→ 「新增沒有 Microsoft 帳戶的使用者」,建立一個本機標準使用者(不要給系統管理員權限)。不熟這段的可以參考站內這篇本機帳號登入教學

為什麼一定要本機標準帳戶?官方建議文件講得很直白:kiosk 通常放在公開環境、等同匿名存取,用網域或 Microsoft Entra 帳戶,等於把任何網域帳戶碰得到的資源一併曝險。

廣告

步驟二:用「設定」建立單一應用程式 kiosk(最短路徑)

單機、又只想鎖一支 App 的話,這是最快的方式:設定 → 帳戶 → 其他使用者,找到 kiosk 相關項目,依畫面指示選定剛剛建立的帳戶與要執行的應用程式。

選 App 這一步有幾條官方限制,不照著挑會踩雷:

  • App 必須事先為該 kiosk 帳戶佈建或安裝,沒裝就選不到。
  • App 必須能在鎖定畫面上方執行,做不到的 App 不能當 kiosk 應用程式。
  • kiosk 模式會阻止應用程式啟動其他應用程式,所以「核心功能就是叫別的程式出來」的那種一律不要選。
  • 避開有檔案選擇器的 App——那等於開一扇門讓路人翻這台機器的檔案。
  • 部分 App 需要額外設定才能用,官方點名的例子是 Microsoft OneNote 要先替該帳戶設定 Microsoft 帳戶才打得開。

步驟三:改用 PowerShell 設定(單機、可腳本化)

Set-AssignedAccess 這個 Cmdlet 可以直接把一個本機標準帳戶綁定到一支市集應用程式。先查該帳戶裝了哪些 App:

# 列出指定帳戶已安裝的市集應用程式(輸出為套件資訊)
Get-AppxPackage -User "KioskUser"

注意這一步給的是套件資訊,不是 AUMID 本身。Set-AssignedAccess 那頁寫「AUMID 在應用程式的 AUMIDs.txt 檔案裡」——那是 2016 年舊頁的殘留說法,一般安裝根本找不到這個檔。微軟現行維護中的專頁《尋找已安裝應用程式的 AUMID》給了四種做法,最快的是:

# 列出開始功能表中所有應用程式的名稱與 AUMID
Get-StartApps

拿到 AUMID 之後綁定:

# 以帳戶名稱 + AUMID 指定 kiosk 應用程式(需系統管理員權限執行)
Set-AssignedAccess -UserName "KioskUser" -AppUserModelId "microsoft.windowsphotos_8wekyb3d8bbwe!app"

💡 為什麼要這樣做? 這個 Cmdlet 的官方說明寫得很清楚:被設定的帳戶不能退出應用程式、不能登出、也不能存取任何系統設定。另外兩條限制也要記住——-UserName-UserSID 不可以是網域帳戶或系統管理員帳戶;而且如果該使用者當下已登入、或這台機器用的是 PS/2 鍵盤,要重新開機設定才會套用。

要拆掉的話是同一組模組裡的 Clear-AssignedAccess

廣告

步驟四:進階設定——自訂脫離鍵、Edge 網頁機、Win32 程式當殼

需要更細的控制,就得寫 AssignedAccess CSP 的 XML 組態檔,設定項是 ./Vendor/MSFT/AssignedAccess/Configuration,可以透過 Intune 之類的 MDM、佈建套件,或 PowerShell 搭配 MDM 橋接 WMI 供應者套用。官方快速入門給的範例同時示範了三件事:

<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>
  • Microsoft Edge 當網頁機:ClassicAppPath 指到 msedge.exe,參數帶 --kiosk <網址>--edge-kiosk-type=fullscreen
  • 自訂脫離鍵:BreakoutSequence 的格式是修飾鍵 + 按鍵,例如 CTRL + ALT + A 就是修飾鍵 CTRL + ALT 加上按鍵 A。不設就維持預設的 Ctrl + Alt + Del
  • 自動登入:XML 裡的 <AutoLogonAccount> 可以讓 kiosk 帳戶在開機後自動登入。優先用這個做法;官方雖然也列了改 HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 底下 AutoAdminLogonDefaultUserNameDefaultPassword 的替代路徑,但 DefaultPassword明碼存在登錄檔裡,一般環境不建議走這條。站內另有一篇開機自動登入的完整設定可以對照,但用在 kiosk 上請先想清楚這台機器誰摸得到。

至於「我想鎖的是一支普通的 .exe」——那不是 Assigned Access 的守備範圍,要用 Shell Launcher,它是直接把預設的 Explorer.exe 殼換掉:

  • 版本門檻不同:Shell Launcher 只支援企業版 / 企業版 LTSC、教育版、IoT 企業版 / IoT 企業版 LTSC,專業版沒有
  • v1 與 v2 的差別:v1 把 Explorer.exe 換成 Eshell.exe,只能啟動 Windows 桌面應用程式;v2(Windows 10 1809 起)換成 CustomShellHost.exe,桌面程式或 UWP 都可以,還能開次要視窗、跑多螢幕。
  • 兩個官方限制:不支援在 OOBE 之前設定自訂殼(設了那個映像檔就佈署不出去);也不支援「啟動另一個行程後自己就結束」的程式——官方舉的例子是 write.exe,它會產生一個 32 位元的 wordpad.exe 行程然後自己退出,Shell Launcher 追不到新行程,只會依 write.exe 的結束碼去重啟殼。

步驟五:驗證結果

設定會在目標使用者下次登入時生效;如果你剛好正登入著那個帳戶,要登出再登入才看得到效果。

驗證清單:

  1. 以 kiosk 帳戶登入,確認指定的應用程式全螢幕啟動,而且關掉它會自動重開。
  2. 打開事件檢視器,到 應用程式及服務記錄檔 → Microsoft → Windows → AssignedAccess → Operational,設定與執行階段的問題都會記在這裡。
  3. 想確認設定有沒有真的寫進系統,可以查這幾個登錄機碼(只讀不改):HKLM\Software\Microsoft\Windows\AssignedAccessConfigurationHKLM\Software\Microsoft\Windows\AssignedAccessCsp,以及每個使用者自己的 HKCU\SOFTWARE\Microsoft\Windows\AssignedAccessConfiguration
  4. 觸控機:在支援觸控且未連接實體鍵盤的裝置上,需要輸入時觸控鍵盤會自動跳出,不需額外設定;但只有點文字框才會觸發,滑鼠點擊不會,虛擬機也測不出來。

🔬 底層機制:kiosk 為什麼關不掉?

Assigned Access 用的是 Windows 的鎖定架構(lock framework):kiosk 帳戶登入時,被指定的應用程式以「鎖定畫面上方應用程式」的身分啟動——不是把桌面藏起來,而是整個桌面殼層根本沒被叫出來

這一條講清楚,前面兩個看似瑣碎的限制立刻合理:App 一定要支援在鎖定畫面上方執行(它就是在那一層跑)、kiosk 會阻止應用程式啟動其他應用程式(那等於從鎖定層往桌面層鑽)。

廣告

反過來看 Shell Launcher 就是完全另一條路:它換掉的是 Explorer.exe 這個殼本身,使用者仍然在正常的桌面工作階段裡。所以官方明講,Shell Launcher 不會阻止使用者存取其他桌面應用程式與系統元件——要擋,得再疊 AppLocker、群組原則或 CSP。這也是為什麼「用 Shell Launcher 鎖一支 POS 程式」通常還要配一整套原則,而不是設完就收工。

還有一個常被誤會的點:自訂殼是用登入帳戶的權限啟動的。如果那支殼程式需要系統管理員權限且 UAC 開著,官方的說法是你必須關閉 UAC 才啟動得起來——這等於把一層安全機制拆掉,請當成最後手段,而不是預設做法。


🔙 萬一翻車:回退步驟

情境一:設定生效了,但選錯 App 或一直重啟

Ctrl + Alt + Del 回到登入畫面,改用系統管理員帳戶登入,回設定頁改掉,或直接跑 Clear-AssignedAccess

要注意登入畫面的閒置逾時:預設 30 秒沒動作就會回到 kiosk 應用程式,所以動作要快。想延長的話,可以在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI 新增 IdleTimeOut(DWORD),值以毫秒、用十六進位輸入。官方另外註明:IdleTimeOut 對 Microsoft Edge kiosk 模式無效

情境二:脫離不了 kiosk 畫面

預設脫離組合鍵是 Ctrl + Alt + Del。如果你(或前一位管理者)在 XML 裡設過 BreakoutSequence,就得按那一組。

這裡就是本文開頭提到的官方矛盾點:Set-AssignedAccess 的 Cmdlet 參考頁寫的是「快速連按左邊 Windows 鍵五次」。這份頁面的內容日期停在 2016 年,屬於 Windows 10 早期做法;而 Assigned Access 的設定文件內容日是 2025-03-07,寫的是 Ctrl + Alt + Del現行 Windows 11 請以後者為準;不過既然兩份都還掛在官網上,舊機器上真的卡住時,連按五次左 Windows 鍵也值得試一下,成本是零。

情境三:管理者帳戶也進不去(最壞情況)

從登入畫面按住 Shift 再點「重新啟動」,進入 疑難排解 → 進階選項 → 啟動設定 → 重新啟動,選安全模式;以系統管理員身分登入後,用 MDM 橋接 WMI 供應者把 CSP 設定清空。

⚠️ 這裡有個很容易卡住的細節:官方明訂 WMI 橋接用戶端必須以 SYSTEM(LocalSystem)身分執行,只用系統管理員帳戶跑會失敗。官方示範的做法是取得 Sysinternals 的 psexec,再用 psexec.exe -i -s powershell.exe 開一個 SYSTEM 權限的 PowerShell,然後執行:

# 清除 Assigned Access CSP 設定(需系統管理員權限),清完必須重新開機
$namespaceName = "root\cimv2\mdm\dmmap"
$className = "MDM_AssignedAccess"
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
$obj.Configuration = $null
Set-CimInstance -CimInstance $obj

⚠️ 誠實說明:安全模式的進入路徑、WMI 橋接的指令與 SYSTEM 權限要求都各自有官方來源,但「安全模式 + WMI 橋接」這個組合是站長整理的復原路徑,微軟並沒有哪一頁把它寫成 Assigned Access 鎖死後的標準程序。若這條走不通,替代方案是從另一台機器經 MDM 取消指派該原則,或直接重設 / 重灌。

一個必須知道的事實:刪除 Assigned Access 設定只會移除與該使用者關聯的原則設定,並不會還原所有變更。官方點名的例子是多應用程式 kiosk 的開始功能表組態會被保留下來。所以「拆掉就回到原狀」是錯的期待——正式環境要嘛先有還原點,要嘛接受可能得重建。


💡 總結:進階玩法與底層邏輯

站長我把這題整理完,最想先講的是順序:先查版本、再決定用哪套機制,不要反過來。太多人是設到一半才發現手上那台是家用版或專業版,前面查的資料全部作廢。

第二件事:kiosk 只做完一半,剩下的要自己補。官方建議文件有一整份配套清單,實務上最少三塊:

  • 鍵盤:官方載明,設定為受限制使用者體驗的帳戶,Alt + F4Alt + TabAlt + Shift + TabCtrl + Alt + Del 都不會被封鎖,要靠 Keyboard Filter 才擋得住(該功能不支援專業版);左 Alt + 左 Shift + Print Screen(高對比)、Win + U(協助工具面板)這類輔助功能捷徑也一樣。
  • 電源:官方建議系統睡眠逾時與關閉顯示器逾時設 0 秒、電源與睡眠按鈕動作設「不採取任何動作」,並用「移除並防止存取關機、重新啟動、睡眠和休眠命令」把電源選項藏起來。
  • Windows Update:設定使用時間、把自動更新設為「自動下載並排程安裝」、更新通知顯示選項設成「關閉所有通知,包括重新啟動警告」——讓機器保持最新,又不會當著客人的面跳重開機提示。

最後給一個誠實的邊界:這台機器的藍色畫面也會被路人看到。官方提供把停止錯誤畫面換成空白畫面的做法(設定系統失敗與復原選項),公開場合的機器值得順手做掉。

證據等級說明:本文為 E3(官方文件)撰寫,依 Microsoft Learn 官方文件於 2026-07-29 查證。對應頁面:受指派的存取權概觀頁內容日 2026-07-15;單一應用程式 kiosk 設定與建議兩頁標示的內容日為 2025-03-07(頁尾顯示 Last updated 2025-03-11 與 2025-03-07,平台在地化中繼資料另記 2026-02-03)。文中未包含站長實機實測數據,操作路徑名稱可能隨 Windows 版本微調,請以你機器上的實際畫面為準。


❓ 常見問題

Q:家用版(Home)到底能不能用 Windows Kiosk 模式?

不能。Assigned Access 的官方支援清單是專業版、企業版 / 企業版 LTSC、教育版、IoT 企業版 / IoT 企業版 LTSC,家用版不在其中。就實務而言,家用版能做到最接近的,是用 Microsoft Edge 自己的 --kiosk 命令列參數開全螢幕(微軟的 Edge kiosk 模式文件沒有標示 Windows 版本需求,也沒有把它定位成家用版的替代方案);但要講清楚:那只是瀏覽器全螢幕,不是系統層鎖定,使用者仍然回得到桌面。微軟在 Edge 的 kiosk 模式文件裡也註明,要讓 Edge 在閒置逾時後自動重新啟動,仍得靠 Assigned Access 或 Shell Launcher 這類另外的技術。

Q:可以鎖一般的 .exe 嗎?例如自家 POS 或 Chrome?

Assigned Access 的 kiosk 體驗官方只支援單一 UWP 應用程式或 Microsoft Edge。要跑一般桌面程式當殼,得用 Shell Launcher,而它需要企業版 / 教育版 / IoT 企業版。另外提醒:Shell Launcher 本身不阻止使用者開別的桌面程式,還要搭配 AppLocker 或群組原則才鎖得住。

補一個官方文件自己有點打架的地方:AssignedAccess CSP 的 v4 結構描述提供 ClassicAppPath,官方定義是「桌面應用程式執行檔的完整路徑」(本文步驟四鎖 Microsoft Edge 用的就是它),但概念文件通篇仍只承諾 UWP 與 Edge。拿它去跑其他 Win32 程式屬於灰色地帶,上線前務必實測。

Q:設定完之後,一般使用者按 Ctrl + Alt + Del 不就跑掉了?

會回到登入畫面,但預設 30 秒沒動作就自動回到 kiosk 應用程式(IdleTimeOut 可調,對 Edge kiosk 模式無效)。想更嚴格,就用 BreakoutSequence 換成一組別人猜不到的組合鍵,並搭配 Keyboard Filter 封鎖 Alt + F4Alt + Tab 等捷徑。

Q:多支程式的 kiosk 呢?

那叫「受限制的使用者體驗」(多應用程式 kiosk):量身訂做的開始功能表與工作列,只跑清單內的應用程式,系統另外套用一組原則設定與 AppLocker 規則,適合多人共用的裝置,一樣寫 XML 透過 CSP 套用。要注意它會影響這台機器上所有非系統管理員使用者的部分原則設定,不是只影響 kiosk 帳戶。


🔗 延伸閱讀


📎 參考資料來源

📖 第一級|廠商官方:

⚠️ 本文核心事實以第一級官方文件為準。

📅 本文查證戳記:2026-07-29 依 Microsoft Learn 官方文件撰寫,適用 Windows 11 / Windows 10 專業版以上版本。

若你在後續版本遇到步驟失效,歡迎在留言區回報,站長會更新文章。

廣告