Почему Windows 10 Enterprise Shell Launcher дает черный экран?

Я использую Windows 10 Enterprise, сборка 10586, на виртуальной машине Virtual Box, чтобы попробовать создать киоск с помощью Windows 10.

Приложение режима киоска - "cmd.exe", пока что в качестве теста. Это для традиционного приложения .Net, не универсального приложения Windows.

Я нашел статьи на SO, в которых уже указано, как это сделать, и я считаю, что правильно следовал «хлебным крошкам», но у меня появляется черный экран всякий раз, когда я загружаю виртуальную машину после запуска сценария ниже:

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

$ShellLauncherClass = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WESL_UserSetting"


$NTUserObject = New-Object System.Security.Principal.NTAccount($ACCOUNT_NAME)
$NTUserSID = $NTUserObject.Translate([System.Security.Principal.SecurityIdentifier]).Value

$NTUser_Shell = Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting | 
    where {$_.Sid -eq $NTUserSID}

if ($NTUser_Shell) {
    "`Custom shell already set for [$ACCOUNT_NAME] removing it"
    $ShellLauncherClass.RemoveCustomShell($NTUserSID)
}

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

$ShellLauncherClass.SetCustomShell($NTUserSID, "cmd.exe", ($null), ($null), $restart_device)

"`nCurrent settings for custom shells:"
Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting | Select Sid, Shell, DefaultAction

$ShellLauncherClass.SetEnabled($TRUE)
#$ShellLauncherClass.SetEnabled($FALSE)

""
"Enabled is set to " + $ShellLauncherClass.IsEnabled().Enabled

Когда я запускаю скрипт в Power Shell (как администратор), все выглядит правильно (см. ниже).

введите здесь описание изображения

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

Любая помощь будет принята с благодарностью.


person FuzzyBunnySlippers    schedule 01.08.2016    source источник


Ответы (3)


Перейдите в HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System и установите для параметра DWORD EnableLUA значение 0.

person user3790688    schedule 08.04.2019
comment
Отключение LUA не рекомендуется из соображений безопасности. Подробнее об этом здесь docs.microsoft.com/en-us/windows-hardware/customize/desktop/ - person solo; 03.08.2019

Похоже, вы включили средство запуска оболочки, не активировав эту функцию, или вы включили функцию, включили средство запуска оболочки, а затем отключили эту функцию. Попробуйте запустить скрипт Powershell:

# To Get Optional Features   -online means the running copy of Windows
# Get-WindowsOptionalFeature -online

# the -all says enable all features required by the feature to be added
Enable-WindowsOptionalFeature -online -FeatureName Client-EmbeddedShellLauncher -all
person Scott    schedule 28.06.2017

Была такая же проблема, как у вас сегодня. После долгих попыток и отладки в моем случае ПК не был обновлен до Windows 10 Enterprise. Что необходимо для использования режима киоска.

Никаких сообщений об ошибках при настройке не было, но пустой экран вместо .exe.

С уважением, Стейн

person XiteHosting    schedule 04.05.2021