1. 程式人生 > >在 Windows 10 專業版、企業版或教育版上設置展臺

在 Windows 10 專業版、企業版或教育版上設置展臺

change 次數 桌面 nes launcher 展開 新建 -c 企業

原文: 在 Windows 10 專業版、企業版或教育版上設置展臺

Set up a kiosk on Windows 10 Pro, Enterprise, or Education

適用於

  • Windows 10

正在查找 Windows Embedded 8.1 工業版信息? 請參閱分配的訪問權限

一次性設備或展臺設備易於在 Windows 10 桌面版中設置。

  • 使用 Windows 配置設計器(Windows 10 版本 1607 或更高版本)中的預配展臺設備向導,可以創建預配包,以配置運行通用 Windows 應用或經典 Windows 應用程序(僅限 Windows 10 企業版或教育版)的展臺設備。

  • 若要使展臺設備運行通用 Windows 應用,請使用分配的訪問權限功能(Windows 10 專業版、企業版或教育版)。

  • 若要使展臺設備運行經典 Windows 應用程序,請使用 Shell 啟動程序將自定義用戶界面設置為 Shell(僅限 Windows 10 企業版或教育版)。

若要將設備返回到常規 Shell,請參閱註銷分配的訪問權限。

備註

通用 Windows 應用基於通用 Windows 平臺 (UWP) 生成,在 Windows 8 中作為 Windows 運行時首次引入。 經典 Windows 應用程序使用經典 Windows 平臺 (CWP)(例如 COM、Win32、WPF、WinForms 等),並且通常使用 .EXE 或 .DLL 文件進行啟動。

使用 Windows 配置設計器設置展臺

當你使用 Windows 配置設計器中的預配展臺設備向導時,你可以將展臺配置為運行通用 Windows 應用或經典 Windows 應用程序。

重要

生成預配包時,可能會在項目文件和預配包 (.ppkg) 文件中包含敏感信息。 盡管你可以選擇加密 .ppkg 文件,但項目文件不會加密。 應將項目文件存儲在安全位置,並在不再需要它們時刪除項目文件。

安裝 Windows 配置設計器,然後打開 Windows 配置設計器,並選擇預配展臺設備。 在命名項目後,單擊下一步,然後按下表所示配置設置。

技術分享技術分享
如果你要在此頁面上配置設置,請啟用設備設置。

如果已啟用:

請輸入設備的名稱。

(可選)選擇許可證文件,以將 Windows 10 升級到其他版本。 請參閱允許的升級。

請關閉將設備配置為共享使用。 此設置針對共享使用方案優化了 Windows 10,而且對於展臺方案並非必需。

你還可以選擇從設備中刪除預安裝的軟件。
技術分享
技術分享 技術分享
如果你要在此頁面上配置設置,請啟用網絡設置。

如果已啟用:

針對無線網絡連接切換。 如果你選擇,請輸入 SSID、網絡類型(開放WPA2-個人)和(如果是 WPA2-個人)無線網絡的密碼。
技術分享
技術分享 技術分享
如果你要在此頁面上配置設置,請啟用帳戶管理。

如果已啟用:

你可以在 Active Directory 中註冊設備,在 Azure Active Directory 中註冊,或在設備上創建本地管理員帳戶

若要在 Active Directory 中註冊設備,請輸入最低特權用戶帳戶的憑據,以將該設備加入域。

使用 Windows 配置設計器向導配置 Azure AD 批量註冊之前,請在貴組織中設置 Azure AD 加入。 Azure AD 租戶中的每個用戶的最大設備數設置用於確定你在該向導中獲取的批量令牌可使用的次數。 若要在 Azure AD 中註冊設備,請選擇該選項,並輸入你要使用向導獲取的批量令牌的友好名稱。 設置令牌的到期日期(從獲取該令牌之日算起最多 30 天)。 單擊獲取批量令牌。 在讓我們幫你登錄窗口中,輸入有權限將設備加入 Azure AD 的帳戶,然後再輸入密碼。 單擊接受以向 Windows 配置設計器提供所需的權限。

警告:你必須在 Windows 10 上運行 Windows 配置設計器,才能使用任何向導配置 Azure Active Directory 註冊。

若要創建本地管理員帳戶,請選擇該選項,然後輸入用戶名和密碼。

重要提示:如果在預配包中創建本地帳戶,則必須每 42 天使用設置應用更改密碼。 如果在此期限內未更改密碼,帳戶可能會被鎖定而無法登錄。
技術分享
技術分享技術分享
你可以在添加應用程序步驟中預配展臺應用。 你可以在一個預配包中安裝多個應用程序,即經典 Windows (Win32) 應用和通用 Windows 平臺 (UWP) 應用。 此步驟中的設置因你選擇的應用程序而異。 有關這些設置的幫助,請參閱使用應用預配電腦。

警告:如果你單擊加號按鈕以添加應用程序,則必須為預配包指定應用程序,以進行驗證。 如果你單擊加號按鈕時出錯,請在安裝程序路徑中選擇任何可執行文件,然後取消按鈕會變為可用,讓你可以在不使用應用程序的情況下完成預配包。
技術分享
技術分享技術分享
若要使用展臺應用的證書預配設備,請單擊添加證書。 輸入證書的名稱,然後瀏覽到要使用的證書並將其選中。
技術分享
技術分享技術分享
重要提示:你必須使用 Microsoft 應用商店中的 Windows 配置設計器應用,才能在預配包中將經典 Windows 應用程序選作展臺應用。

你可以創建要用於運行展臺應用的本地標準用戶帳戶。 如果你切換,請確保你擁有運行展臺應用的現有用戶帳戶。

如果你要創建帳戶,請輸入用戶名和密碼,然後切換,以在設備啟動時自動登錄該帳戶。

配置展臺模式應用中,輸入將運行展臺模式應用的用戶帳戶名。 選擇要在展臺模式下運行的應用類型,然後輸入路徑或文件名(對於經典 Windows 應用)或 AUMID(對於通用 Windows 應用)。 對於經典 Windows 應用,如果文件路徑位於 PATH 環境變量中,你可以使用文件名,否則需要完整路徑。
技術分享
技術分享技術分享
在此步驟中,選擇適用於平板電腦模式、歡迎屏幕和關機屏幕的用戶體驗以及超時設置的選項。
技術分享
技術分享
你可以設置密碼,以保護你的預配包。 你必須在將預配包應用到設備時輸入此密碼。
技術分享

備註

如果你要使用 Windows 配置設計器中的高級編輯器,請在運行時設置 > AssignedAccess > AssignedAccessSettings 中指定用戶帳戶和應用(通過 AUMID)

了解如何應用預配包。

通用 Windows 應用的分配的訪問權限方法

使用分配的訪問權限,Windows 10 在鎖屏界面上運行指定的通用 Windows 應用,因此分配的訪問權限帳戶無權訪問設備上的任何其他功能。 你具有以下設置分配的訪問權限的選項:

方法帳戶類型Windows 10 版本
在電腦上使用“設置” 本地標準 專業版、企業版、教育版
應用移動設備管理 (MDM) 策略 全部(域、本地標準、本地管理員等) 企業版, 教育版
使用 Windows 配置設計器創建預配包 全部(域、本地標準、本地管理員等) 企業版, 教育版
運行 PowerShell 腳本 本地標準 專業版、企業版、教育版

要求

  • 域或本地用戶帳戶。

  • 為該帳戶安裝或配置的通用 Windows 應用,它是上述鎖屏界面應用。 有關詳細信息,請參閱選擇具有分配的訪問權限的應用指南。 有關生成上述鎖屏界面應用的詳細信息,請參閱針對分配的訪問權限的展臺應用:最佳做法。

    該應用可以是你在自己的應用應用商店中提供的你自己公司的應用。 若要使用 MDM 或 PowerShell 設置分配的訪問權限,對於該應用,你還需要應用程序用戶模型 ID (AUMID)。 了解如何獲取 AUMID。

    通用 Windows 應用必須能夠處理多個視圖,並且無法啟動其他應用或對話框。

備註

分配的訪問權限在連接到多個監視器的設備上不起效。

在電腦設置上設置分配的訪問權限。

  1. 轉到開始 > 設置 > 帳戶 > 其他用戶

  2. 選擇設置分配的訪問權限

  3. 選擇帳戶。

  4. 選擇應用。 僅顯示可以運行上述鎖屏界面的應用。 有關詳細信息,請參閱選擇具有分配的訪問權限的應用指南。

  5. 關閉設置 – 你所做的選擇會自動保存,並將在下次用戶帳戶登錄時應用。

若要刪除分配的訪問權限,請選擇關閉分配的訪問權限並註銷所選帳戶

在 MDM 中設置分配的訪問權限

分配的訪問權限只有一個設置,即 KioskModeApp。 在 KioskModeApp 設置中,你可以輸入用戶帳戶名稱和 AUMID 以使該應用在展臺模式下運行。

了解如何獲取 AUMID。

請參閱分配的訪問權限配置服務提供商的技術參考。

使用 Windows PowerShell 設置分配的訪問權限

你可以使用以下任一 PowerShell cmdlet 在多臺設備上設置分配的訪問權限。

若要在 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 設置分配的訪問權限,針對分配的訪問權限指定的用戶帳戶必須至少登錄過一次。

了解如何獲取 AUMID。

了解如何獲取 AppName(請參閱參數)。

了解如何獲取 SID。

若要使用 PowerShell 刪除分配的訪問權限,請運行以下 cmdlet。

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),並輸入十六進制形式的值數據(以毫秒為單位)。

經典 Windows 應用程序的 Shell 啟動程序

使用 Shell 啟動器,你可以配置運行經典 Windows 應用程序作為用戶界面的網亭。 你指定的應用程序將替換通常在用戶登錄時運行的默認 Shell (explorer.exe)。

備註

你還可以通過使用預配展臺設備向導配置展臺設備,以運行經典 Windows 應用程序。

警告

Shell 啟動程序不支持具有啟動不同進程然後退出的應用程序的自定義 shell。 例如,你不能在 Shell 啟動程序中指定 write.exe。 Shell 啟動程序啟動自定義 shell 並監視進程以識別自定義 shell 何時退出。 Write.exe 創建 32 位 wordpad.exe 進程並退出。 由於 Shell 啟動程序無法識別新創建的 wordpad.exe 進程,因此 Shell 啟動程序將基於 Write.exe 的退出代碼采取行動,如重啟自定義 shell。

要求

  • 域或本地用戶帳戶。

  • 為該帳戶安裝的經典 Windows 應用程序。 該應用可以是你自己的公司應用程序或常見應用(如 Internet Explorer)。

請參閱 Shell 啟動器組件的技術參考。

配置 Shell 啟動器

若要將經典 Windows 應用程序設置為 Shell,你首先打開 Shell 啟動程序功能,然後你可以使用 PowerShell 將自定義 Shell 設置為默認值。

在 Windows 功能中打開 Shell 啟動程序

  1. 轉到“控制面板”> 程序和功能 > 打開或關閉 Windows 功能

  2. 展開設備鎖定

  3. 依次選擇 Shell 啟動程序確定

或者,你可以使用 SMISettings > ShellLauncher 或部署映像服務和管理 (DISM.exe) 工具,通過預配包中的 Windows 配置設計器打開 Shell 啟動程序。

使用 DISM 打開 Shell 啟動器

  1. 以管理員身份打開命令提示符。
  2. 輸入以下命令。

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

設置自定義 Shell

適當修改以下 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 組的成員,請在設備安裝限制中,啟用允許管理員重寫設備安裝限制策略

在 Windows 10 專業版、企業版或教育版上設置展臺