はじめに
Microsoft から、Windows App というアプリケーションが提供されています。
このアプリは、Windows 365 の Cloud PC や、Azure Virtual Desktop の セッションホスト などに接続するために、PC にインストールして使うタイプのアプリケーションです。
本記事では、この Windows App を シングルキオスク という単一のアプリしか起動できない特殊な構成で展開する方法を紹介しています。シングルキオスクで起動することで、使用目的が明確で セキュリティ が考慮された シンクライアントマシン となることが期待できます!
本記事は、以下の GitHub で紹介されている Windows App Kiosk の導入方法を キャプチャ・解説 付きで提供するものです。多種多様なオプションが用意されているため、フル活用するためには、オリジナルのサイトも参照してみてください。
GitHub:WindowsAppKiosk
https://github.com/Azure/WindowsAppKiosk
上記の記事には、マルチアップキオスク と呼ばれる機能も紹介されています。こちらは、単一ではなく 定められた複数のアプリを使用することができますが、マルチアップキオスクについては、別途 構築手順の記事を記載する予定です。
ポイント①
本記事は、2025 年 12 月 26 日に すきやねん Azure 登壇の際に発表した内容の具体的な実装方法を示す手順となっています。概要などは 以下の記事を参照してください。Windows 365 Link との違いを比較表で説明もされています。
Windows App Kiosk で作る“完全パスワードレス・シンクライアント” ― AVD / Cloud PC 両対応
https://qiita.com/carol0226/items/550b88d0e8d8626a8ca0
ポイント②
本手順は、以下の構成と組み合わせて検証済みです。
つまり、USB で持ち歩くことが可能な ポータブル シンクライアント を実現することも可能になります。
Windows を USB で持ち運ぶ:Hyper‑V + WinPE を使った VHDX ブート手法
https://qiita.com/carol0226/items/e5789268d7ba860b4ca4
ポイント
上記の記事で VHDX に OS を導入したあと、本記事による キオスク化 を行います。
キオスク化した VHDX を USB 起動させることで、ポータブルなシンクライアント を作ることができます。
サインインフローとユーザーインターフェース
サインインに関するパラメーター
-
AutoLogonKiosk
True = KioskUser0 というローカルアカウントで自動ログオンされます。
(つまり Workgroup 運用が可)
False = OS ログオンに Entra Join が必要です。Windows App は、SSO で利用。 -
WindowsAppShell
True = Shell Launcher で単一キオスク化が可能(Enterprise 版が必須)
False = Assiened Access でマルチアプリキオスクが可能(Pro 版以上で OK)
上記の2種類のパラメーターを組み合わせたパターン構成
本記事では、以下のうち パターン 3 の構成を実施する手順を紹介しています。
| パターン | AutoLogonKiosk | WindowsAppShell | ユーザーインターフェース |
|---|---|---|---|
| 1 | False | False | パラメータが指定されていない場合、これがデフォルトの構成です。 マルチアプリキオスクの設定はAssigned Access を通じて適用され、エクスプローラーのインターフェースを Windows アプリとオプションで設定のみ表示するようにロックされます。 ユーザーはEntra ID認証情報を使ってデバイスにサインインし、承認済みアプリケーションのみを表示する制限付きインターフェースが自動的に表示されます。 |
| 2 | True | False | マルチアプリキオスクの設定は Assigned Access を通じて適用され、エクスプローラーのインターフェースを Windows アプリとオプションで設定のみ表示するようにロックされます。 Windows 11は自動的に「KioskUser0」アカウントでログインします。 ユーザーにはWindowsアプリのみを含む制限付きスタートメニューが表示されます。 |
| 3 | True | True | Windows アプリはShell Launcherキオスクモードでエクスプローラーのシェルを置き換えます。 Windowsは「KioskUser0」アカウントで自動的にログインします。 ユーザーはAzureのVirtual Desktopリソースに接続するためのWindowsアプリインターフェースが表示されます。 |
| 4 | False | True | WindowsアプリはShell Launcherキオスクモードでエクスプローラーのシェルを置き換えます。 ユーザーはEntra ID認証情報でデバイスにサインインし、自動的にWindowsアプリが表示されます。 |
GitHub:Sign-In Flow and User Interface
https://github.com/Azure/WindowsAppKiosk?tab=readme-ov-file#sign-in-flow-and-user-interface
注意点
物理 PC で構成を行う際には、回復ディスクなどを用意して、リカバリできるようにしておきましょう。
仮想マシンなどで 導入手順の確認などを行った後に、物理マシンへの導入を検討されると良いと思います。
前提事項
シングルキオスクの場合
Windows 11 Education
Windows 11 Enterprise
Windows 10/11 Enterprise LTSC
Windows 11 IoT Enterprise
Windows 10/11 IoT Enterprise LTSC
Windows 11 Enterprise Edition
前提事項
https://github.com/Azure/WindowsAppKiosk?tab=readme-ov-file#prerequisites
Enterprise レベルのライセンスが必要です。
Home / Professional Edition で シングルキオスクは使用できません。
※マルチアップキオスクは、Professional Edition 以上で使えます。
参考:サブスクを使った Enterprise アップグレード について
Professional 版の場合は、以下の記事を参考に、サブスクリプションライセンスでアップグレードすることも可能です。
Microsoft 365 E3 / E5 または Windows E3 / E5 の契約があれば利用可能です。
Windows Enterprise サブスクリプションライセンスを ちゃんと適用する
https://qiita.com/carol0226/items/c7e1b8d7fc82ebc666fc
導入手順
この導入手順を実施する PC そのものが シングルキオスク状態になります。
普段、利用している PC ではなく、本検証のために PC または VM を用意するようにしてください。
手順は、手配した PC / VM に管理者でサインインした状態で行ってください。
1. 資材の入手
1-1. WindowsAppKiosk モジュールのダウンロード
1.以下の URL へアクセスし、画像の ① → ② の順に操作し Download ZIP をダウンロードします。
https://github.com/Azure/WindowsAppKiosk

2.ダウンロードしたファイルは、以下のように 解凍 します。

3.展開先は C:\ ドライブ直下を指定することで、WindowsAppKiosk-main というフォルダ配下に展開されます。

1-2. PsExec v2.43 のダウンロード
1.以下の URL へアクセスし、画像の赤枠の箇所を押して、資材を ダウンロードします。
https://learn.microsoft.com/en-us/sysinternals/downloads/psexec

2.ダウンロードしたファイルは、以下のように 解凍 します。

3.展開先は、C:\PSTools を指定することで、同名のフォルダ配下に展開されます。

2. 手動インストール
以下の記事のインストール手順を 画面キャプチャ付きで紹介します。
Manual Installation
https://github.com/Azure/WindowsAppKiosk?tab=readme-ov-file#manual-installation
2-1. システム権限で操作するためのウィンドウを開く
1.ターミナル(管理者)を起動
2.以下のコマンドを実行
cd \pstools
.\psexec64 -s -i powershell
PowerShell スクリプトはシステム権限で実行する必要があります。
PSExec を使用して、システム権限で実行するための準備を行っています。
上記で開かれたウィンドウを使うことで、システム権限の処理が実行できるようになっています。
2-2. インストールの実施
1.以下のコマンドを実行します。
Set-ExecutionPolicy Bypass -Scope Process
2.以下のコマンドを実行します。
cd \WindowsAppKiosk-main\source
.\Set-WindowsAppKioskSettings.ps1 -InstallWindowsApp -WindowsAppShell -AutoLogonKiosk -WindowsAppAutoLogoffConfig 'ResetAppOnCloseOnly'
このコマンドでは、以下のオプションを指定して WindowsAppKiosk を導入しています。
-
-InstallWindowsApp
システム領域に Windows App をインストールしています。
利用者が手動でインストールすると、ユーザー領域になってしまいます。シングルキオスク を使用するためには システム権限で導入する必要があります。 -
-WindowsAppShell
Shell Launcher を使ったキオスクが利用されます。
サインインフローとユーザーインターフェースの表のうち、パターン3 に対応するためのパラメーターです。 -
-AutoLogonKiosk
キオスク専用アカウントで自動的に OS に サインインされます。そのため デバイスは Workgroup 構成(Entra Join が不要)です。
サインインフローとユーザーインターフェースの表のうち、パターン3 に対応するためのパラメーターです。 -
-WindowsAppAutoLogoffConfig 'ResetAppOnCloseOnly'
Windows App アプリが終了された際に、自動ログオフされて資格情報が破棄されます。
3.上記の画面となり、プロンプトを求められるところまで完了したら、手動で再起動を実施します。
すると、以下のように キオスクモードで自動ログオンが行われます。

4.以下のように Windows App のみが起動されます。

6.上記の画面で 「サインインオプション」を押すと、以下の パスキーの種類の選択画面に遷移します。

7.このタイミングで セキュリティキー を挿入します。
PIN タイプだと、挿入後に PIN 入力 + Enter 後に、この画面になります。
私の場合は、Yubikey Bio という指紋認証タイプなので、タッチ1発で認証されます。

9.接続可能なリソースが表示されました。
ここで接続先を選択すれば、リモート接続することができます。

10.各接続先を、お気に入りに入れてみました。
Windows 365 (Cloud PC)、AVD (Session Host)、AVD (Remote App) が並んでいます。

12.Windows App の画面は、タイムアウトすると、以下の状態になっており、再度 認証しないと 接続はできません。接続中のセッションには、影響なし。

13.上記の画面を終了させると、一旦 ブラックアウトしますが、再度 以下の 画面から再開されます。

14.PC の電源ボタンを押すと、以下の状態になるので、画面上を指示通りにスライドして、シャットダウン できました(Surface の場合)

その他のパターン
CTRL + ALT + DEL を押すと、以下の画面になります。
右下のアイコン操作で、Wi-Fi の切替、アクセシビリティ、再起動、電源オフ などが行えます。

Windows App 起動時にネットワークへ接続できていない場合、以下のようになります。
「ネットワークに接続してサインインしてください」

このとき「デバイスの正常性を確認する」を押すと、以下のように ネットワークの状態を確認できます。

さらに、「ネットワーク設定を開く」を押すと、設定パネルを表示できます。
この画面から、色々と操作できてしまうことを良しとするか否かですね。
ロックダウンさせたい場合は、Intune で制御を加える必要がありそうです。

「アプリ、アカウント、ゲーム、プライバシーとセキュリティ」あたりには、ガードを掛けておきたいところです。
キオスクモードの解除方法
キオスクモードから、元の状態に戻す方法として、オリジナルサイトでは 以下の手順が示されています。
左 SHIFT を押しながら再起動を行い、ENTER を叩き続ける・・・
この説明通りの操作をして解除できたこともあるのですが、無視されてしまうことが殆どでした。動作が不安定のようです。私の場合は、あきらめて OS ごとリセットしてしまうことが殆どです。
GitHub:Emergency Access
https://github.com/Azure/WindowsAppKiosk?tab=readme-ov-file#emergency-access
OS のリセット
上記の Emergency Access が機能しない場合は、設定パネルから、システム-回復-PCをリセットする から、OS の初期状態に戻すことが可能です。なお、データはすべて削除されるので、ご注意ください。

さいごに
本記事で紹介したとおり、WindowsAppKiosk を使うと、簡単に シンクライアントが実現できることがお分かりいただけたかと思います。
運用向けには、さらなるカスタマイズが必要と思いますが、検討の余地のあるソリューションとして ご認識いただけると良いかと思います。










