Windows 10 Pro、Enterprise、Education でのキオスクの設定

適用対象

  • Windows 10

Windows Embedded 8.1 Industry に関する情報をお探しですか?割り当てられたアクセス」をご覧ください

単一用途のデバイス (キオスク デバイス) は、Windows 10 のデスクトップ エディションで容易にセットアップできます。

  • Windows 構成デザイナー (Windows 10 バージョン 1607 以降) のプロビジョニング キオスク デバイス ウィザードを使用してプロビジョニング パッケージを作成し、それを使って、ユニバーサル Windows アプリまたは従来の Windows アプリケーション (Windows 10 Enterprise または Education のみ) を実行するキオスク デバイスを構成します。 Windows 10 バージョン 1709 では、プロビジョニング キオスク デバイス ウィザードを使用して、Windows 10 Pro 用のユニバーサル Windows アプリを実行しているキオスク デバイスを構成できます。

    または

  • ユニバーサル Windows アプリを実行するキオスク デバイスには、割り当てられたアクセス機能を使用します (Windows 10 Pro、Enterprise、または Education)。

    または

  • 従来の Windows アプリケーションを実行するキオスク デバイスには、シェル ランチャーを使ってカスタム ユーザー インターフェイスをシェルとして設定します (Windows 10 Enterprise または Education のみ)。

デバイスを標準のシェルに戻す方法については、「割り当てられたアクセスからのサインアウト」をご覧ください。

注意

ユニバーサル Windows アプリは、ユニバーサル Windows プラットフォーム (UWP) 上に構築されていて、Windows 8 で Windows ランタイムとして初めて導入されました。 従来の Windows アプリケーションは、従来の Windows プラットフォーム (CWP) (COM、Win32、WPF、WinForms など) を使い、通常は .EXE または .DLL ファイルを使って起動します。

Windows 構成デザイナーを使ってキオスクを設定する

Windows 構成デザイナーのプロビジョニング キオスク デバイス ウィザードを使用する場合、ユニバーサル Windows アプリまたは従来の Windows アプリケーションを実行するようにキオスクを構成できます。

重要

プロビジョニング パッケージを作成する場合、プロジェクト ファイルとプロビジョニング パッケージ (.ppkg) ファイルに機密情報を含めることができます。 .ppkg ファイルは暗号化するかどうかを選べますが、プロジェクト ファイルは暗号化されません。 プロジェクト ファイルは、安全な場所に保存し、不要になったときに削除する必要があります。

Windows 構成デザイナーをインストールして、次に Windows 構成デザイナーを開いて、[キオスク デバイスのプロビジョニング] を選択します。 プロジェクトに名前を付けて、[次へ] をクリックし、次の表に示す設定を構成します。

手順 1デバイスのセットアップ
このページで設定を構成する場合は、デバイスの設定を有効にします。

有効化されたら:

デバイスの名前を入力します。

(オプション) Windows 10 を別のエディションにアップグレードするには、ライセンス ファイルを選択します。 許可されたアップグレードを確認できます。

[共有するためのデバイスを構成します] をオフにします。 この設定は Windows 10 を共有使用のシナリオ用に最適化します。キオスク シナリオ用には必要ありません。

プレインストールされているソフトウェアをデバイスから削除することを選択できます。
デバイス名、Enterprise へのアップグレード、共有使用、プレインストールされているソフトウェアの削除
手順 2 ネットワークの設定
このページで設定を構成する場合は、ネットワークの設定を有効にします。

有効化されたら:

ワイヤレス ネットワーク接続で [オン] または [オフ] を切り替えます。 [オン] を選択した場合、SSID、ネットワークの種類 ([オープン] または [WPA2-パーソナル])、ワイヤレス ネットワークのパスワード ([WPA2-パーソナル] を選択した場合) を入力します。
ネットワーク SSID と種類の入力
手順 3 アカウントの管理
このページで設定を構成する場合は、アカウントの管理を有効にします。

有効化されたら:

デバイスを Active Directory に登録するか、Azure Active Directory に登録するか、デバイスでローカル管理者アカウントを作成します。

デバイスを Active Directory に登録するには、最小限の特権を持つユーザー アカウントの資格情報を入力して、デバイスをドメインに参加させます。

Windows 構成デザイナー ウィザードを使って Azure AD の登録を一括で構成する前に、組織での Azure AD 参加の設定を行います。 Azure AD テナントの [ユーザーあたりのデバイスの最大数] の設定は、ウィザードで利用できる一括トークンを使用できる回数を決定します。 Azure AD にデバイスを登録するには、そのオプションを選択して、ウィザードを使って取得する一括トークンのフレンドリ名を入力します。 トークンの有効期限を設定します (最大、トークンの取得日から 30 日間)。 [一括トークンを取得する] をクリックします。 [サインインしましょう] ウィンドウで、デバイスを Azure AD に参加させるアクセス許可を持つアカウントを入力し、次にパスワードを入力します。 [承諾] をクリックして、Windows 構成デザイナーに必要なアクセス許可を付与します。

警告: いずれかのウィザードを使って Azure Active Directory の登録を構成するには、Windows 10 で Windows 構成デザイナーを 実行する必要があります。

ローカル管理者アカウントを作成するには、そのオプションを選択して、ユーザー名とパスワードを入力します。

重要: プロビジョニング パッケージにローカル アカウントを作成する場合、42 日ごとに設定アプリを使ってパスワードを変更する必要があります。 その期間内にパスワードを変更しない場合、アカウントがロックされてサインインできなくなる可能性があります。
Active Directory、Azure AD への参加、またはローカル管理者アカウントの作成
手順 4アプリケーションの追加
[アプリケーションを追加] の手順で、キオスク アプリをプロビジョニングします。 従来の Windows (Win32) アプリと、ユニバーサル Windows プラットフォーム (UWP) アプリの、両方の複数のアプリケーションを、プロビジョニング パッケージにインストールできます。 この手順の設定は、選択したアプリケーションによって変わります。 設定について詳しくは「アプリを使用して PC をプロビジョニングする」をご覧ください。

警告: [+] ボタンをクリックしてアプリケーションを追加する場合は、プロビジョニング パッケージが検証するアプリケーションを指定する必要があります。 間違ってプラス ボタンをクリックした場合には、[インストーラ パス] で任意の実行ファイルを選択し、次に [キャンセル] ボタンが利用可能になったらクリックすると、アプリケーションなしでプロビジョニング パッケージを完了できます。
アプリケーションの追加
手順 5証明書の追加
キオスク アプリの証明書を使ってデバイスをプロビジョニングするには、[証明書の追加] をクリックします。 証明書の名前を入力し、使用する証明書を表示して選択します。
証明書の追加
手順 6キオスク アカウントとアプリの構成
重要: Microsoft ストアの Windows 構成デザイナー アプリを使用して、プロビジョニング パッケージでキオスク アプリとして従来の Windows アプリケーションを選択する必要があります。

ローカルの標準ユーザー アカウントを作成して、キオスク アプリの実行に使うことができます。 [いいえ] を選択する場合、キオスク アプリを実行する既存のユーザー アカウントがあることを確認します。

アカウントを作成する場合は、ユーザー名とパスワードを入力し、次に [はい] または [いいえ] を選択すると、デバイスが起動したときに、アカウントに自動的にサインインします。

[キオスク モード アプリの構成] で、キオスク モード アプリを実行するユーザー アカウントの名前を入力します。 キオスク モードで実行するアプリの種類を選択し、パスまたはファイル名 (従来の Windows アプリ) または AUMID (ユニバーサル Windows アプリ) を入力します。 従来の Windows アプリでは、ファイルへのパスが PATH 環境変数に含まれている場合には、ファイル名を使用することができます。それ以外の場合には、完全なパスが必要です。
キオスク アカウントとアプリの構成
手順 7キオスクの一般的な設定の構成
この手順では、タブレット モードのオプション、ようこそ画面とシャットダウン画面でのユーザー エクスペリエンス、タイムアウト設定を選択します。
タブレット モードの設定、ようこそ画面とシャットダウン画面の構成、タイムアウト設定をオフにする
完了
プロビジョニング パッケージを保護するためのパスワードを設定することができます。 プロビジョニング パッケージをデバイスに適用する場合は、このパスワードを入力する必要があります。
パッケージの保護

注意

Windows 構成デザイナーの高度なエディターを使用する場合、[ランタイム設定] > [AssignedAccess] > [AssignedAccessSettings] で、ユーザー アカウントとアプリ (AUMID) を指定します。

プロビジョニング パッケージの適用方法を学びます。

ユニバーサル Windows アプリの割り当てられたアクセスの方法

割り当てられたアクセスを使うと、Windows10 では指定したユニバーサル Windows アプリがロック画面上で実行されます。そのため、割り当てられたアクセスを使うアカウントは、デバイスの他の機能にアクセスできません。 割り当てられたアクセスは、次のいずれかの方法でセットアップできます。

方法 アカウントの種類 Windows 10 のエディション
PC で [設定] を使う ローカル標準 Pro、Enterprise、Education
モバイル デバイス管理 (MDM) ポリシーを適用する すべて (ドメイン、ローカル標準、ローカル管理者など) Pro (1709 のみ)、Enterprise、Education
Windows 構成デザイナーを使ってプロビジョニング パッケージを作成する すべて (ドメイン、ローカル標準、ローカル管理者など) Pro (1709 のみ)、Enterprise、Education
PowerShell スクリプトを実行する ローカル標準 Pro、Enterprise、Education

要件

注意

割り当てられたアクセスは、複数のモニターに接続されているデバイスでは機能しません。

PC の [設定] で割り当てられたアクセスをセットアップする

  1. [スタート] > [設定] > [アカウント] > [他のユーザー] に移動します。

  2. [割り当てられたアクセスのセットアップ] を選びます。

  3. アカウントを選択します。

  4. アプリを選択します。 ロック画面上で実行できるアプリのみが表示されます。 詳細については、「割り当てられたアクセスを使うアプリを選ぶためのガイドライン」をご覧ください。

  5. [設定] を閉じます。選択した内容は自動的に保存され、次回そのユーザー アカウントがログオンしたときに適用されます。

割り当てられたアクセスを削除するには、[割り当てられたアクセスをオフにして選択したアカウントからサインアウトする] を選択します。

MDM での割り当てられたアクセスのセットアップ

割り当てられたアクセスには、KioskModeApp という設定があります。 KioskModeApp 設定で、ユーザー アカウント名と、キオスク モードで実行するアプリの AUMID を入力します。

AUMID を入手する方法について説明します。

割り当てられたアクセスの構成サービス プロバイダーに関するテクニカル リファレンスをご覧ください。

Windows PowerShell を使った割り当てられたアクセスの設定

次のいずれかの PowerShell コマンドレットを使って、複数のデバイスに割り当てられたアクセスを設定できます。

Windows 10 で PowerShell を開くには、「PowerShell」を検索し、検索結果内で Windows PowerShell デスクトップ アプリを見つけます。 管理者として 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>

注意

-AppName で割り当てられたアクセスをセットアップするには、割り当てられたアクセスに指定するユーザー アカウントが少なくとも 1 回ログオンしている必要があります。

こちらで AUMID の確認方法をご覧ください

こちらで AppName の確認方法をご覧ください (「Parameters」セクション)。

こちらで SID の確認方法をご覧ください

割り当てられたアクセスを削除するには、PowerShell で次のコマンドレットを実行します。

Clear-AssignedAccess

自動ログオンの設定

キオスク デバイスが再起動したら (更新後や停電後など)、割り当てられたアクセスのアカウントに手動でログオンすることも、自動ログオンするようにデバイスを構成することもできます。 デバイスに適用されているグループ ポリシー設定によって、自動ログオンが妨害されないことを確認してください。

アカウントに自動ログオンするようにレジストリを編集します。

  1. レジストリ エディター (regedit.exe) を開きます。

    注意

    レジストリ エディターについて詳しくは、「Windows レジストリを変更する方法」をご覧ください。

  2. 次の場所に移動します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon

  3. 次のキーの値を設定します。

    • AutoAdminLogon: 値を「1」に設定します。

    • DefaultUserName: 値をログインするアカウントに設定します。

    • DefaultPassword: 値をアカウントのパスワードに設定します。

      注意

      DefaultUserNameDefaultPassword が存在しない場合は、[新規] > [文字列値] で追加します。

    • DefaultDomainName: 値をドメインに設定します (ドメイン アカウントの場合のみ)。 ローカル アカウントの場合は、このキーを追加しないでください。

  4. レジストリ エディターを閉じます。 次回コンピューターが再起動すると、アカウントは自動的にログオンします。

割り当てられたアクセスからのサインアウト

割り当てられたアクセス (キオスク) アプリを終了するには、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 アプリケーションを実行するキオスク デバイスを構成することもできます。

警告

シェル ランチャーは、別のプロセスを起動して終了するアプリケーションを含むカスタム シェルをサポートしません。 たとえば、シェル ランチャーで write.exe を指定することはできません。 シェル ランチャーは、カスタム シェルを起動し、プロセスを監視してカスタム シェルがいつ終了するかを特定します。 Write.exe は、32 ビット wordpad.exe プロセスを作成して終了します。 シェル ランチャーは、新たに作成された wordpad.exe プロセスを認識できないため、Write.exe の終了コードに基づいてカスタム シェルの再起動などの処置を取ります。

要件

  • ドメイン アカウントまたはローカル ユーザー アカウント。

  • そのアカウントに対してインストールされている従来の Windows アプリケーション。 アプリには、独自の業務用アプリケーションまたは Internet Explorer などの一般的なアプリを指定できます。

シェル ランチャー コンポーネントのテクニカル リファレンスをご覧ください。

シェル ランチャーの構成

従来の Windows アプリケーションをシェルとして設定するには、先にシェル ランチャー機能をオンにすると、PowerShell を使ってカスタム シェルを既定として設定できます。

Windows の機能でシェル ランチャーをオンにするには

  1. [コントロール パネル] > [プログラムと機能] > [Windows の機能の有効化または無効化] に移動します。

  2. [デバイスのロックダウン] を展開します。

  3. [シェル ランチャー][OK] の順に選びます。

または、Windows 構成デザイナーを使ってプロビジョニング パッケージで SMISettings > ShellLauncher を使用してシェル ランチャーをオンにするか、または展開イメージのサービスと管理 (DISM.exe) ツールを使うこともできます。

DISM を使ってシェル ランチャーをオンにするには

  1. 管理者としてコマンド プロンプトを開きます。
  2. 次のコマンドを入力します。

    Dism /online /Enable-Feature /all /FeatureName:Client-EmbeddedShellLauncher
    

カスタム シェルを設定するには

必要に応じて次の PowerShell スクリプトを変更します。 サンプル スクリプト内のコメントは、各セクションの目的を説明し、スクリプトの変更が必要と思われる箇所を示しています。 スクリプトに拡張子 .ps1 を付けて保存し、管理者として Windows PowerShell を開いて、キオスク デバイスでスクリプトを実行します。

# Check if shell launcher license is enabled
function Check-ShellLauncherLicenseEnabled
{
    [string]$source = @"
using System;
using System.Runtime.InteropServices;

static class CheckShellLauncherLicense
{
    const int S_OK = 0;

    public static bool IsShellLauncherLicenseEnabled()
    {
        int enabled = 0;

        if (NativeMethods.SLGetWindowsInformationDWORD("EmbeddedFeature-ShellLauncher-Enabled", out enabled) != S_OK) {
            enabled = 0;
        }

        return (enabled != 0);
    }

    static class NativeMethods
    {
        [DllImport("Slc.dll")]
        internal static extern int SLGetWindowsInformationDWORD([MarshalAs(UnmanagedType.LPWStr)]string valueName, out int value);
    }

}
"@

    $type = Add-Type -TypeDefinition $source -PassThru

    return $type[0]::IsShellLauncherLicenseEnabled()
}

[bool]$result = $false

$result = Check-ShellLauncherLicenseEnabled
"`nShell Launcher license enabled is set to " + $result
if (-not($result))
{
    "`nThis device doesn't have required license to use Shell Launcher"
    exit
}

$COMPUTER = "localhost"
$NAMESPACE = "root\standardcimv2\embedded"

# Create a handle to the class instance so we can call the static methods.
try {
    $ShellLauncherClass = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WESL_UserSetting"
    } catch [Exception] {
    write-host $_.Exception.Message; 
    write-host "Make sure Shell Launcher feature is enabled"
    exit
    }


# 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. You can change these examples to use the program that you want to use as the shell.

# This example sets the command prompt as the default shell, and restarts the device if the command prompt is 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 Internet Explorer is 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)

$IsShellLauncherEnabled = $ShellLauncherClass.IsEnabled()

"`nEnabled is set to " + $IsShellLauncherEnabled.Enabled

# Remove the new custom shells.

$ShellLauncherClass.RemoveCustomShell($Admins_SID)

$ShellLauncherClass.RemoveCustomShell($Cashier_SID)

# Disable Shell Launcher

$ShellLauncherClass.SetEnabled($FALSE)

$IsShellLauncherEnabled = $ShellLauncherClass.IsEnabled()

"`nEnabled is set to " + $IsShellLauncherEnabled.Enabled

ロックダウンされるその他の設定

より安全なキオスク エクスペリエンスのため、デバイスで次の構成を変更することをお勧めします。

  • デバイスをタブレット モードに設定します。

    ユーザーがタッチ (スクリーン) キーボードを使用できるようにするには、[設定] > [システム] > [タブレット モード] に移動し、[オン] を選びます。

  • ログオン画面で [簡単操作] 機能を非表示にします。

    [コントロール パネル] > [コンピューターの簡単操作] > [コンピューターの簡単操作センター] に移動し、すべてのアクセシビリティ ツールをオフにします。

  • ハードウェアの電源ボタンを無効にします。

    [電源オプション] > [電源ボタンの動作を選択する] に移動し、電源ボタンを押したときの動作を [何もしない] に変更して、[変更の保存] を選びます。

  • サインイン画面から電源ボタンを削除します。

    [コンピューターの構成] > [Windows の設定] > [セキュリティの設定] > [ローカル ポリシー] > [セキュリティ オプション] > [シャットダウン: システムのシャットダウンにログオンを必要としない] に移動し、[無効] を選びます。

  • カメラを無効にします。

    [設定] > [プライバシー] > [カメラ] に移動し、[アプリがカメラを使うことを許可する] をオフにします。

  • ロック画面のアプリ通知をオフにします。

    [グループ ポリシー エディター] > [コンピューターの構成] > [管理用テンプレート\システム\ログオン\ロック画面のアプリ通知をオフにする] に移動します。

  • リムーバブル メディアを無効にします。

    [グループ ポリシー エディター] > [コンピューターの構成] > [管理用テンプレート\システム\デバイスのインストール\デバイスのインストールの制限] に移動します。 [デバイスのインストールの制限] で利用可能なポリシー設定を確認し、状況に適した設定を探します。

    注意

    このポリシーが Administrators グループのメンバーに影響を与えることを防ぐには、[デバイスのインストールの制限][管理者によるデバイスのインストールの制限ポリシーの上書きを許可する] を有効にします。

関連トピック

必要なコンテンツがまだ見つからない場合は、 フィードバック Hub で Windows 10 ユーザーの皆様のご意見をお寄せください。