Windows 10 Pro、Enterprise、Education でのキオスクの設定
単一用途のデバイスは、Windows 10 デスクトップ エディション (Pro、Enterprise、Education の各エディション) でのセットアップが簡単です。 キオスク デバイスでユニバーサル Windows アプリを実行するには、"割り当てられたアクセス" 機能を使います。 キオスク デバイス (Windows 10 Enterprise または Education) で従来の Windows アプリケーションを実行するには、シェル ランチャーを使ってカスタム ユーザー インターフェイスをシェルとして設定します。 デバイスを標準のシェルに戻す方法については、「割り当てられたアクセスからのサインアウト」をご覧ください。
注
ユニバーサル Windows アプリは、ユニバーサル Windows プラットフォーム (UWP) 上に構築されていて、Windows 8 で Windows ランタイムとして初めて導入されました。 従来の Windows アプリケーションは、従来の Windows プラットフォーム (CWP) (COM、Win32、WPF、WinForms など) を使い、通常は .EXE または .DLL ファイルを使って起動します。
ロックダウンされるその他の設定
より安全なキオスク エクスペリエンスのため、デバイスで次の構成を変更することをお勧めします。
デバイスをタブレット モードに設定します。
ユーザーがタッチ (スクリーン) キーボードを使用できるようにするには、[設定]、[システム]、[タブレット モード]、[オン] の順に選びます。
ログオン画面で [コンピューターの簡単操作] を非表示にします。
[コントロール パネル] > [コンピューターの簡単操作] > [コンピューターの簡単操作センター] に移動して、すべてのアクセシビリティ ツールをオフにします。
ハードウェアの電源ボタンを無効にします。
[電源オプション]、[電源ボタンの動作の選択] に移動して、設定を [何もしない] に変更し、[変更の保存] を選択します。
サインイン画面から電源ボタンを削除します。
[コンピューターの構成]、[Windows の設定]、[セキュリティの設定]、[ローカル ポリシー]、[セキュリティ オプション]、[シャットダウン: システムのシャットダウンにログオンを必要としない] の順に移動し、[無効] を選択します。
カメラを無効にします。
[設定] > [プライバシー] > [カメラ] に移動し、[アプリがカメラを使うことを許可する] をオフにします。
ロック画面のアプリ通知をオフにします。
グループ ポリシー エディター > [コンピューターの構成] > "管理用テンプレート\システム\ログオン\ロック画面のアプリ通知をオフにする" に移動します。
リムーバブル メディアを無効にします。
[グループ ポリシー エディター] > [コンピューターの構成] > "管理用テンプレート\システム\デバイスのインストール\デバイスのインストールの制限" に移動します。 [デバイスのインストールの制限] で利用可能なポリシー設定を確認し、状況に適した設定を探します。
注
このポリシーが Administrators グループのメンバーに影響を与えることを防ぐには、[デバイスのインストールの制限] で [管理者によるデバイスのインストールの制限ポリシーの上書きを許可する] を有効にします。
ユニバーサル Windows アプリの割り当てられたアクセスの方法
割り当てられたアクセスを使うと、Windows 10 では指定したユニバーサル Windows アプリがロック画面上で実行されます。そのため、割り当てられたアクセスを使うアカウントは、デバイスの他の機能にアクセスできません。 割り当てられたアクセスを設定するためには次の選択肢があります。
PC で [設定] を使う - Windows 10 Pro、Enterprise、Education
モバイル デバイス管理 (MDM) ポリシーを適用する - Windows 10 Enterprise、Education
Windows イメージングおよび構成デザイナー (ICD) を使ってプロビジョニング パッケージを作成する - Windows 10 Enterprise、Education
PowerShell スクリプトを実行する - Windows 10 Pro、Enterprise、Education
要件
ドメイン アカウントまたはローカル ユーザー アカウント。
ユーザー アカウントは、割り当てられたアクセスを設定する前に、少なくとも 1 回はログオンしてある必要があります。そうしないと、そのアカウントでアプリを利用できません。 割り当てられたアクセスを MDM で設定するには、ユーザー アカウント (domain\account) が必要です。
そのアカウント用にインストールされていてロック画面上アプリであるユニバーサル Windows アプリ。 ロック画面上アプリの構築について詳しくは、「割り当てられたアクセスを使うキオスク アプリ: ベスト プラクティス」をご覧ください。
専用のアプリ ストアで入手できるようにした独自の業務用アプリでも構いません。 MDM または PowerShell を使って割り当てられたアクセスを設定する場合は、アプリのアプリケーション ユーザー モデル ID (AUMID) も必要です。 AUMID を入手する方法について説明します。
ユニバーサル Windows アプリは、複数のビューを処理できる必要がありますが、その他のアプリまたはダイアログを起動することはできません。
注
割り当てられたアクセスは、複数のモニターに接続されているデバイスでは機能しません。
PC 設定で割り当てられたアクセスの設定
[スタート] > [設定] > [アカウント] > [他のユーザー] に移動します。
[割り当てられたアクセスのセットアップ] を設定します。
アカウントを選択します。
アプリを選択します。 ロック画面上で実行できるアプリのみが表示されます。
[設定] を閉じます。選択した内容は自動的に保存され、次回そのユーザー アカウントがログオンしたときに適用されます。
割り当てられたアクセスを削除するには、手順 3 で [割り当てられたアクセスを使わない] を選択します。
MDM での割り当てられたアクセスのセットアップ
割り当てられたアクセスには、KioskModeApp という設定があります。 KioskModeApp 設定で、ユーザー アカウント名と、キオスク モードで実行するアプリの AUMID を入力します。
割り当てられたアクセスの構成サービス プロバイダーに関するテクニカル リファレンスをご覧ください。
Windows イメージングおよび構成デザイナー (ICD) を使った割り当てられたアクセスの設定
Windows 10 用 Windows アセスメント & デプロイメント キット (ADK) に含まれている Windows ICD ツールを使って、デバイスをキオスクとして構成するプロビジョニング パッケージを作成します。 ADK をインストールします。
キオスク デバイス用プロビジョニング パッケージの作成
Windows ICD を開きます (既定では %windir%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe)。
[新しいプロビジョニング パッケージ] を選びます。
プロジェクトに名前を付け、[次へ] をクリックします。
[すべての Windows デスクトップ エディションに共通] を選び、[次へ] をクリックします。
[新しいプロジェクト] で [完了] をクリックします。 パッケージのワークスペースを開きます。
[実行時の設定]、[AssignedAccess] の順に展開し、[AssignedAccessSettings] をクリックします。
ユーザー アカウントとアプリを指定する文字列 (AUMID) を入力します。 たとえば、次のようなものです。
"Account":"contoso\\kiosk","AUMID":"8f82d991-f842-44c3-9a95-521b58fc2084"
[ファイル] メニューの [保存] をクリックします。
[エクスポート] メニューの [プロビジョニング パッケージ] をクリックします。
[所有者] を [IT 管理者] に変更して、このプロビジョニング パッケージの優先順位を他のソースからこのデバイスに適用されるプロビジョニング パッケージよりも高くします。次に、[次へ] を選択します。
(省略可能) [プロビジョニング パッケージ セキュリティ] ウィンドウで、パッケージの暗号化を選択してパッケージの署名を有効にできます。
[パッケージの暗号化を有効にする] - このオプションを選択した場合、自動生成されたパスワードが画面に表示されます。
[パッケージの署名を有効にする] - このオプションを選んだ場合、パッケージの署名に使う有効な証明書を選ぶ必要があります。 [選択] をクリックし、パッケージの署名に使う証明書を選んで、証明書を指定します。
[次へ] をクリックし、ビルドしたプロビジョニング パッケージの出力先を指定します。 既定では、Windows ICD はプロジェクト フォルダーを出力先として使います。
必要に応じて、[参照] をクリックして既定の出力先を変更できます。
[次へ] をクリックします。
パッケージのビルドを開始するには、[ビルド] をクリックします。 プロビジョニング パッケージのビルドにはそれほど時間はかかりません。 ビルド ページにプロジェクト情報が表示され、進行状況バーでビルドの状態が示されます。
ビルドを取り消す必要がある場合は、[キャンセル] をクリックします。 これにより、現在のビルド プロセスが取り消され、ウィザードが閉じられて、[カスタマイズ ページ] に戻ります。
ビルドに失敗した場合は、プロジェクト フォルダーへのリンクが含まれたエラー メッセージが表示されます。 エラーの原因を特定するには、ログを調べることができます。 問題が解決したら、パッケージをもう一度ビルドしてみてください。
ビルドに成功した場合は、プロビジョニング パッケージの名前、出力ディレクトリ、プロジェクト ディレクトリが表示されます。
必要に応じて、パッケージの出力先として別のパスを選択し、もう一度プロビジョニング パッケージをビルドすることもできます。 これを行うには、[戻る] をクリックして出力パッケージの名前とパスを変更し、[次へ] をクリックしてもう一度ビルドを開始します。
完了したら、[完了] をクリックしてウィザードを閉じ、[カスタマイズ ページ] に戻ります。
プロビジョニング パッケージの適用
適用するプロビジョニング パッケージを選択し、ファイルをダブルクリックして、管理者特権を許可します。
パッケージのインストールに同意します。
パッケージのインストールを許可すると、設定がデバイスに適用されます。
監査モードまたは OOBE でプロビジョニング パッケージを適用する方法を確認してください。
Windows PowerShell を使った割り当てられたアクセスの設定
次のいずれかの PowerShell コマンドレットを使って、複数のデバイスに割り当てられたアクセスを設定できます。 Windows 10 で PowerShell を開くには、"PowerShell" を検索し、検索結果内で Windows PowerShell デスクトップ アプリを見つけます。
Set-AssignedAccess -AppUserModelId <AUMID> -UserName <username>
Set-AssignedAccess -AppUserModelId <AUMID> -UserSID <usersid>
Set-AssignedAccess -AppName <CustomApp> -UserName <username>
Set-AssignedAccess -AppName <CustomApp> -UserSID <usersid>
自動ログオンの設定
キオスク デバイスが再起動したら (更新後や停電後など)、手動で割り当てられたアクセスのアカウントにログオンすることも、自動で割り当てられたアクセスのアカウントにログオンするようにデバイスを構成することもできます。
アカウントが自動的にログオンするようにレジストリを編集します。
レジストリ エディター (regedit.exe) を開きます。
注
レジストリ エディターについて詳しくない場合は、Windows レジストリを変更する方法をご覧ください。
移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
次のキーの値を設定します。
AutoAdminLogon: 値を 1 に設定します。
DefaultUserName: 値をログインするアカウントに設定します。
DefaultPassword: 値をアカウントのパスワードに設定します。
注
If DefaultUserName と DefaultPassword が存在しない場合は、[新規] > [文字列値] で追加します。
DefaultDomainName: 値をドメインに設定します (ドメイン アカウントの場合のみ)。 ローカル アカウントの場合は、このキーを追加しないでください。
レジストリ エディターを閉じます。 次回コンピューターが再起動すると、アカウントは自動的にログオンします。
割り当てられたアクセスからのサインアウト
割り当てられたアクセスのアカウントからサインアウトするには、Ctrl + Alt + Del キーを押してから、別のアカウントを使ってサインインします。 割り当てられたアクセスからサインアウトするために Ctrl + Alt + Del キーを押すと、キオスク アプリが自動的に終了します。 割り当てられたアクセスのアカウントとしてもう一度サインインするか、またはログイン画面がタイムアウトすると、キオスク アプリが再起動されます。
Ctrl + Alt + Del キーを押しても他のアカウントにサインインしない場合は、一定時間後に割り当てられたアクセスが再開します。 既定の時間は 30 秒ですが、次のレジストリ キーで時間を変更できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
割り当てられたアクセスが再開する既定の時間を変更するには、IdleTimeOut (DWORD) を追加し、ミリ秒単位の値データを 16 進数で入力します。
従来の Windows アプリケーション用のシェル ランチャー
シェル ランチャーを使うと、従来の Windows アプリケーションをユーザー インターフェイスとして実行するキオスク デバイスを構成できます。 通常、ユーザーがログオンするときに実行される既定のシェル (explorer.exe) が指定するアプリケーションで置き換えられます。
要件
ドメイン アカウントまたはローカル ユーザー アカウント。
そのアカウントに対してインストールされている従来の Windows アプリケーション。 アプリには、独自の業務用アプリケーションまたは Internet Explorer などの一般的なアプリを指定できます。
シェル ランチャー コンポーネントのテクニカル リファレンスをご覧ください。
シェル ランチャーの構成
従来の Windows アプリケーションをシェルとして設定するには、先にシェル ランチャー機能をオンにすると、PowerShell を使ってカスタム シェルを既定として設定できます。
Windows の機能でシェル ランチャーをオンにするには
- [コントロール パネル] > [プログラムと機能] > [Windows の機能の有効化または無効化] に移動します。
- [埋め込みシェル起動ツール]、[OK] の順に選択します。
または、展開イメージのサービスと管理 (DISM.exe) ツールを使って、シェル ランチャーをオンにすることもできます。
DISM を使ってシェル ランチャーをオンにするには
管理者としてコマンド プロンプトを開きます。
次のコマンドを入力します。
Dism /online /Enable-Feature /FeatureName:Client-EmbeddedShellLauncher
カスタム シェルを設定するには
必要に応じて次の PowerShell スクリプトを変更し、キオスク デバイスでスクリプトを実行します。
$COMPUTER = "localhost" $NAMESPACE = "root\standardcimv2\embedded" # Create a handle to the class instance so we can call the static methods. $ShellLauncherClass = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WESL_UserSetting" # This well-known security identifier (SID) corresponds to the BUILTIN\Administrators group. $Admins_SID = "S-1-5-32-544" # Create a function to retrieve the SID for a user account on a machine. function Get-UsernameSID($AccountName) { $NTUserObject = New-Object System.Security.Principal.NTAccount($AccountName) $NTUserSID = $NTUserObject.Translate([System.Security.Principal.SecurityIdentifier]) return $NTUserSID.Value } # Get the SID for a user account named \"Cashier\". Rename \"Cashier\" to an existing account on your system to test this script. $Cashier_SID = Get-UsernameSID("Cashier") # Define actions to take when the shell program exits. $restart_shell = 0 $restart_device = 1 $shutdown_device = 2 # Examples # Set the command prompt as the default shell, and restart the device if it's closed. $ShellLauncherClass.SetDefaultShell("cmd.exe", $restart_device) # Display the default shell to verify that it was added correctly. $DefaultShellObject = $ShellLauncherClass.GetDefaultShell() "`nDefault Shell is set to " + $DefaultShellObject.Shell + " and the default action is set to " + $DefaultShellObject.defaultaction # Set Internet Explorer as the shell for \"Cashier\", and restart the machine if it's closed. $ShellLauncherClass.SetCustomShell($Cashier_SID, "c:\program files\internet explorer\iexplore.exe www.microsoft.com", ($null), ($null), $restart_shell) # Set Explorer as the shell for administrators. $ShellLauncherClass.SetCustomShell($Admins_SID, "explorer.exe") # View all the custom shells defined. "`nCurrent settings for custom shells:" Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting | Select Sid, Shell, DefaultAction # Enable Shell Launcher $ShellLauncherClass.SetEnabled($TRUE) "`nEnabled is set to " + $DefaultShellObject.IsEnabled() # Remove the new custom shells. $ShellLauncherClass.RemoveCustomShell($Admins_SID) $ShellLauncherClass.RemoveCustomShell($Cashier_SID)