📘

Google Chrome だけが開ける Windows11 を作る方法

に公開

Windows11 を Kiosk モードで設定して再起動でいけるみたいなのでやってみます

※ Windows11 の Pro 以上が必要です

手順

psexec のインストール

なかったら次のコマンドで入れてください

winget install Microsoft.Sysinternals.PsTools

設定用のシェルの起動

キオスクモード設定はこのコマンドでパワーシェルを起動する (※要管理者権限)

psexec.exe -i -s powershell.exe

まぁ、 pwsh.exe でもいいので入っているなら次のでも可です。

psexec.exe -i -s pwsh.exe

キオスクモードの設定

開いたシェルで次のコマンドを貼って実行してください

$assignedAccessConfiguration = @"
<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
      xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config" >
  <Profiles>
    <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
      <AllAppsList>
        <AllowedApps>
          <App 
            DesktopAppPath="%ProgramFiles%\Google\Chrome\Application\chrome.exe" 
            rs5:AutoLaunchArguments="--kiosk --disable-pinch --start-fullscreen --incognito https://google.com/"
            rs5:AutoLaunch="true"
          />
        </AllowedApps>
      </AllAppsList>
      <Taskbar ShowTaskbar="false"/>
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <AutoLogonAccount rs5:DisplayName="GoogleChrome AutoLaunch Sample" />
      <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
    </Config>
  </Configs>
</AssignedAccessConfiguration>
"@
$namespaceName="root\cimv2\mdm\dmmap"
$className="MDM_AssignedAccess"
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
$obj.Configuration = [System.Net.WebUtility]::HtmlEncode($assignedAccessConfiguration)
Set-CimInstance -CimInstance $obj

再起動したら出来上がりです。

念のため、再起動前に設定できているかの確認は

設定 アプリで 「キオスク 」を検索して表示される 「キオスク(割り当てられたアクセス)を設定する」から

キオスクモードを設定する の 「開始する」ボタンが非活性になっているかで判断できます。
(無効化されたら活性化されます。設定アプリは自動更新はされないので設定後に画面を開きなおすと確認できます。)

元に戻すときは

タスクバーからスタートメニューのユーザ欄より サインアウトして ユーザ切り替えを行う。
あとは 設定用のシェルを起動して

$namespaceName="root\cimv2\mdm\dmmap"
$className="MDM_AssignedAccess"
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
$obj.Configuration = $null
Set-CimInstance -CimInstance $obj

で null を設定してやればOKです。

以上。

参考資料

クイック スタート: 割り当てられたアクセス権を持つ Single-App キオスクを構成する | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/configuration/assigned-access/quickstart-kiosk?tabs=ps

割り当てられたアクセス構成ファイルを作成する | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/configuration/assigned-access/configuration-file?pivots=windows-11

Microsoft Intune の Windows のキオスク設定 - Microsoft Intune | Microsoft Learn
https://learn.microsoft.com/ja-jp/intune/intune-service/configuration/kiosk-settings-windows

Windows 10 Kiosk Mode (MultiAppAssignedAccess Provisioning package) won't install - Microsoft Q&A
https://learn.microsoft.com/en-us/answers/questions/1080165/

Google Chromeでキオスクモード使うときのオプション - Qiita
https://qiita.com/tsuttsu305/items/be58817dbd2ef53bbcc9

割り当てられたアクセス XML スキーマ定義 (XSD) | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/configuration/assigned-access/xsd

Discussion