Назад | Перейти на главную страницу

Режим киоска Windows 10 с настраиваемой оболочкой

Я хочу настроить режим киоска, при котором пользователь входит в систему, а браузер запускается автоматически.

Пользовательская оболочка Windows

$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.

$Kiosk_SID = Get-UsernameSID("Kiosk")

# Define actions to take when the shell program exits.

$restart_shell = 0
$restart_device = 1
$shutdown_device = 2

# Set Internet Explorer as the shell for "Cashier", and restart the machine if it's closed.

$ShellLauncherClass.SetCustomShell($Kiosk_SID, "c:\program files\internet explorer\iexplore.exe www.google.com", ($null), ($null), $restart_shell)

# Enable Shell Launcher

$ShellLauncherClass.SetEnabled($TRUE)

Когда я выполняю этот сценарий PowerShell и регистрируюсь в киоске, я вижу только черный экран.

Почему так сложно?

Windows позволяет настроить пользовательский интерфейс через одну строку реестра или с помощью Group Policys.

GPO:

User Configuration\Administrative Templates\System\Custom User Interface

Здесь вы можете установить, например,

C:\Program Files\Internet Explorer\iexplore.exe -k www.google.de

Это не только откроет Internet Explorer вместо проводника в качестве пользовательского интерфейса, но и откроет IE в полноэкранном режиме (опция -k).

Реестр:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

Здесь вам понадобится элемент REG_SZ с тем же содержанием, что и выше. Если «системного» ключа не существует, создайте его. И поскольку это делается в кусте «Текущий пользователь», это повлияет только на пользователя, который в данный момент вошел в систему.

Я использую это на некоторых компьютерах-киосках, где должен быть доступен только один конкретный сайт, и он отлично работает (я использую компьютер домена, поэтому я использую метод GPO).

Параметр GPO все еще существует в Windows 10, по крайней мере, в версиях Enterprise и Pro. Путь, указанный @Tobias, по-прежнему верен. Он находится на главной странице системы, а не в подпапке.

В Windows 10 это было заменено функцией, известной как Shell Launcher, с его помощью вы можете настроить приложение Win32 для запуска вместо проводника.

Более того, Windows можно даже настроить на автоматический перезапуск приложения при закрытии или даже на перезагрузку ПК, если приложение каким-то образом не открывается!

Вот еще немного информации по теме. Я обновлю это с помощью пошаговых инструкций сегодня же.