Мне нужно создать специальную учетную запись на компьютере под управлением Windows 10 Enterprise. Эта учетная запись запускает приложение непосредственно при входе в систему вместо оболочки по умолчанию, и выход из приложения должен заставлять компьютер перезагружаться.
Я смог сделать это легко в Windows 8.1 Embedded Industry Pro, используя консоль конфигурации и функции блокировки.
Теперь, в Windows 10, я пытаюсь выполнить два учебника по технике WESL_UserSetting и Настройте киоск в Windows 10 Pro, Enterprise или Education
Однако ни один из учебников не работает. Мне удалось выполнить сценарии, описанные в них, но они не имеют эффекта (я изменил их, чтобы они не удаляли набор оболочек).
Наконец, я получил следующий код:
$COMPUTER = "localhost"
$NAMESPACE = "root\standardcimv2\embedded"
$ACCOUNT_NAME = "cmp"
$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
Выполнение этого script в командной строке admin дает желаемый результат:
Custom shell already set for [cmp] removing it
Current settings for custom shells:
Sid Shell DefaultAction
--- ----- -------------
S-1-5-21-3842421150-1098587697-2315725148-1002 cmd.exe 1
Однако запись в качестве пользователя cmp просто показывает стандартную оболочку Windows 10.
Что я должен изменить, чтобы иметь возможность запускать программу вместо стандартной оболочки?