View difference between Paste ID: fZgiHjqK and HVc8JqGP
SHOW: | | - or go back to the newest paste.
1
# Create a handle to the class instance so we can call the static methods.
2
$ShellLauncherClass = [wmiclass]"\\localhost\root\standardcimv2\embedded:WESL_UserSetting"
3
4
function Get-UsernameSID($AccountName) {
5
    $NTUserObject = New-Object System.Security.Principal.NTAccount($AccountName)
6
    $NTUserSID = $NTUserObject.Translate([System.Security.Principal.SecurityIdentifier])
7
    return $NTUserSID.Value
8
}
9
10
# This well-known security identifier (SID) corresponds to the BUILTIN\Administrators group.
11
$Admins_SID = "S-1-5-32-544"
12
13
# Name of Kiosk account
14
$Kiosk_SID = Get-UsernameSID("KiOSK")
15
16
# Define actions to take when the shell program exits.
17
$restart_shell = 0
18
$restart_device = 1
19
$shutdown_device = 2
20
21
# Remove the new custom shells.
22
23
$ShellLauncherClass.RemoveCustomShell($Admins_SID)
24
25
$ShellLauncherClass.RemoveCustomShell($Kiosk_SID)
26
27
# Enable Shell Launcher
28
$ShellLauncherClass.SetEnabled( 1 )
29
30
# Set the custom shell for the kiosk, and restart the shell if it's closed.
31
$ShellLauncherClass.SetCustomShell($Kiosk_SID, "C:\Program Files (x86)\Omnivex\Moxie\Player\Omnivex Moxie Player.exe", ($null), ($null), $restart_shell)
32
33
# Set the admin's shell to Explorer
34
$ShellLauncherClass.SetCustomShell($Admins_SID, "explorer.exe")