在 Windows 10 专业版、企业版或教育版上设置展台
原文: 在 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 应用必须能够处理多个视图,并且无法启动其他应用或对话框。
备注
分配的访问权限在连接到多个监视器的设备上不起效。
在电脑设置上设置分配的访问权限。
转到开始 > 设置 > 帐户 > 其他用户。
选择设置分配的访问权限。
选择帐户。
选择应用。 仅显示可以运行上述锁屏界面的应用。 有关详细信息,请参阅选择具有分配的访问权限的应用指南。
关闭设置 – 你所做的选择会自动保存,并将在下次用户帐户登录时应用。
若要删除分配的访问权限,请选择关闭分配的访问权限并注销所选帐户。
在 MDM 中设置分配的访问权限
分配的访问权限只有一个设置,即 KioskModeApp。 在 KioskModeApp 设置中,你可以输入用户帐户名称和 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
设置分配的访问权限,针对分配的访问权限指定的用户帐户必须至少登录过一次。
了解如何获取 AppName(请参阅参数)。
若要使用 PowerShell 删除分配的访问权限,请运行以下 cmdlet。
Clear-AssignedAccess
设置自动登录
当你的网亭设备重新启动时(无论从更新还是断电),你可以手动登录分配的访问权限帐户或者可以将设备配置为自动登录分配的访问权限帐户。 请确保应用到设备的组策略设置不会阻止自动登录。
编辑注册表以自动登录帐户。
打开注册表编辑器 (regedit.exe)。
备注
如果你不熟悉注册表编辑器,请了解如何修改 Windows 注册表。
转到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
设置以下项的值。
AutoAdminLogon:将值设置为 1。
DefaultUserName:将值设置为你希望登录的帐户。
DefaultPassword:将值设置为帐户的密码。
备注
如果 DefaultUserName 和 DefaultPassword 不存在,请将其添加为新建 > 字符串值。
DefaultDomainName:为域设置值,仅适用于域帐户。 对于本地帐户,不要添加此项。
打开注册表编辑器。 计算机下次重新启动时,将自动登录该帐户。
注销分配的访问权限
若要退出分配的访问权限(展台)应用,请按 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 启动器
若要将经典 Windows 应用程序设置为 Shell,你首先打开 Shell 启动程序功能,然后你可以使用 PowerShell 将自定义 Shell 设置为默认值。
在 Windows 功能中打开 Shell 启动程序
转到“控制面板”> 程序和功能 > 打开或关闭 Windows 功能。
展开设备锁定。
依次选择 Shell 启动程序和确定。
或者,你可以使用 SMISettings > ShellLauncher
或部署映像服务和管理 (DISM.exe) 工具,通过预配包中的 Windows 配置设计器打开 Shell 启动程序。
使用 DISM 打开 Shell 启动器
- 以管理员身份打开命令提示符。
输入以下命令。
复制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 专业版、企业版或教育版上设置展台的更多相关文章
- Windows 10四大版本区别详解:家庭版, 专业版, 企业版和教育版
Windows 10有四个基本版本:Windows 10 家庭版, Windows 10 专业版, Windows 10 企业版, 和Windows 10 教育版(这是Windows家族的新成员).以 ...
- Win10家庭版、专业版、企业版、教育版各版本功能区别对照表
关于Win10系统的版本问题,MS酋长之前曾经分享过Windows10有哪些版本,在这篇文章中简单地介绍了一下Win10各版本的功能区别及适宜用户群,但是并没有对各版本的功能区别做一详细的对比.日前微 ...
- Windows 10 开发人员预览版中的新增功能(转自 IT之家)
Windows 10 开发人员预览版中的新增功能 在Win10预览版中安装工具与SDK后,即可着手创建Windows通用应用或先浏览目前的环境与此前相比都发生了什么变化. 应用建模 文件资源管理器: ...
- Windows 10 Tensorflow 2 gpu正式版安装和更新日志
Windows 10 Tensorflow 2 gpu正式版安装和更新日志 Tensorflow 2.0.0 released on2019年10月1日星期二 Link: https://github ...
- Windows 10一周年更新正式版官方ISO镜像(1607)
微软已经开始推送Win10一周年更新正式版系统,按照此前预告微软官方网站也同步推出了Win10一周年更新正式版ISO官方镜像下载,版本已经升级到最新的1607,也就是Win10 Build 1607, ...
- Windows 10简体中文最新预览版Build 9926
Windows 10 消费者预览版全新特性: • 全新的开始菜单Win 10的开始菜单产生了较大改变,磁贴界面在原有磁贴概念的基础上进行了大幅度的调整,新的磁贴界面开始支持纵向滚动,并可以利用开始按钮 ...
- windows 10专业版14393.447 64位纯净无广告版系统 基于官方稳定版1607制作 更新于20161112
系统特点: 447更新日志(Win10 PC一周年更新正式版14393.447 32位/64位更新补丁KB3200970下载 Flash补丁Kb3202790下载): 1.通过网友的反馈,保留了Edg ...
- Windows 10 专业版 长期服务版 激活
这个用小白系统之后一段时间显示要求激活,或者更改产品秘钥.网上找了许多秘钥也是没啥用,又不想用激活工具的话,可以试试用win+R 输入cmd : 依次输入:slmgr /skms kms.digibo ...
- windows 10 enterprise 企业版 mak激活密钥
企业版用户请依次输入: slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /skms kms.xspace.in slmgr /ato
随机推荐
- java十五个常用类学习及方法举例
<code class="language-java">import java.util.Scanner; import java.util.Properties; i ...
- NOIP模拟 Ball - log积化和
题目描述 Alice 与 Bob 在玩游戏.他们一共玩了 t 轮游戏.游戏中,他们分别获得了 n 个和 m 个小球.每个球上有一个分数.每个人的得分都为他所获得所有小球分数的乘积,分数小者获胜.问每轮 ...
- Java Web 实用返回结果封装
实用的返回结果封装 使用示例 效果 Result ResultEnum 使用示例 /** * @Author: huangwenjun * @Description: * @Date: Created ...
- Android app 第三方微信支付接入详解
微信支付做了好几遍了,都没有出现什么棘手的问题,下面一一为大家分享一下,欢迎吐槽. 还是老样子,接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 首先就处理略坑的一个问题,app应 ...
- solrj 7.x Expected mime type application/octet-stream but got text/html.
出现这种情况是因为baseurl填写错误,最开始的时候我写的是用tomcat启动后浏览器中访问solr的地址 结果就出现了如题的异常,当然提示的是404,还有可能提示405,Method not al ...
- Groovy&Gradle总结
欢迎大家加入QQ群一起讨论: 489873144(android格调小窝) 我的github地址:https://github.com/jeasonlzy 0x01 Groovy 概述 Groovy ...
- Configuring a remote m-phy
An interface for low power, high bandwidth communications between units in a device in provided here ...
- Delphi2010,DelphiXE 安装控件找不到DesignIntf 解决办法
今天安装了一个可以支持IP 地址输入的edit控件,安装后可以放到窗体上,但是编译提示找不到DesignIntf,DesignEditors 从Delphi6开始,就对DesignIntf,Desig ...
- Python: 文件操作与数据读取
文件及目录操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块,主要用到的几个函数是, import os 返回指定目录下的所有文件和目录名: os.listdir() 重命名: ...
- i/o多路复用笔记
1.用户空间和内核空间 操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也可以访问底层硬件设备.为了保护用户进程不能直接操作内核,保证内核的安全,操作系统将虚拟空间划分为两部分, ...