Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

1.

Have windows 10 enterprise licence


2. Create secont user account for kiosk mode
3. Set password for first account
4. Remove all unnecessary programs and files
5. Set your kiosk app in desktop (hidden folder)
6. Open Add or remove programs -> Programs and features -> Turn Windows features on
or off -> Device Lockdown and check Shell Launcher
7. Launch PowerShell as admin and paste next codes:

//-----Step_1-----
$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"

function Get-UsernameSID($AccountName) {

$NTUserObject = New-Object System.Security.Principal.NTAccount($AccountName)


$NTUserSID =
$NTUserObject.Translate([System.Security.Principal.SecurityIdentifier])

return $NTUserSID.Value

}
$ShellLauncherClass.SetEnabled($TRUE)

$IsShellLauncherEnabled = $ShellLauncherClass.IsEnabled()
"`nEnabled is set to " + $IsShellLauncherEnabled.Enabled
//-----Step_1end-----
//There shuldnt be any error and Shell launcher shuld be enabled

//-----Step_2-----
//Bellow are user accounts stored as variables, you can use any number of accounts
you want, make shure you have write correct account names
$KIOSK_SID = Get-UsernameSID("KioskMode")
$ADMIN_SID = Get-UsernameSID("AdminPC")

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

//Setup default shell


$ShellLauncherClass.SetDefaultShell("C:\Windows\explorer.exe", $restart_shell)
$DefaultShellObject = $ShellLauncherClass.GetDefaultShell()
"`nDefault Shell is set to " + $DefaultShellObject.Shell + " and the default action
is set to " + $DefaultShellObject.defaultaction

//Setup for other accounts custom shells, for kiosk mode set link to application
$ShellLauncherClass.SetCustomShell($KIOSK_SID,"C:\Users\KioskMode\Desktop\KioskAppF
older\KioskApp.exe", ($null), ($null), $restart_shell)
$ShellLauncherClass.SetCustomShell($ADMIN_SID,"C:\Windows\explorer.exe", ($null),
($null), $restart_shell)
"`nCurrent settings for custom shells:"
Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting |
Select Sid, Shell, DefaultAction
//-----Step_2end-----

// If you screw up something in process you cant override shell, you must remove it
first and set up again. This code removes shell:
$ShellLauncherClass.RemoveCustomShell($KIOSK_SID)

Additional links:
https://docs.microsoft.com/en-us/windows-hardware/customize/enterprise/shell-
launcher
https://docs.microsoft.com/en-us/windows/configuration/kiosk-shelllauncher

You might also like