Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa classe configura l'applicazione Shell Launcher avviata in base all'identificatore di sicurezza (SID) dell'utente connesso e configura anche il set di codici restituiti e le azioni restituite eseguite da Shell Launcher quando l'applicazione viene chiusa.
Requisiti dell'edizione di Windows
L'elenco seguente contiene le edizioni di Windows che supportano Shell Launcher:
✅ Enterprise/Enterprise LTSC
✅ Education
✅ IoT Enterprise / IoT Enterprise LTSC
Sintassi
class WESL_UserSetting {
[read, write, Required] string Sid;
[read, write, Required] string Shell;
[read, write] Sint32 CustomReturnCodes[];
[read, write] Sint32 CustomReturnCodesAction[];
[read, write] sint32 DefaultAction;
[Static] uint32 SetCustomShell(
[In, Required] string Sid,
[In, Required] string Shell,
[In] sint32 CustomReturnCodes[],
[In] sint32 CustomReturnCodesAction[],
[In] sint32 DefaultAction
);
[Static] uint32 GetCustomShell(
[In, Required] string Sid,
[Out, Required] string Shell,
[Out, Required] sint32 CustomReturnCodes[],
[Out, Required] sint32 CustomReturnCodesAction[],
[Out, Required] sint32 DefaultAction
);
[Static] uint32 RemoveCustomShell(
[In, Required] string Sid
);
[Static] uint32 GetDefaultShell(
[Out, Required] string Shell,
[Out, Required] sint32 DefaultAction
);
[Static] uint32 SetDefaultShell(
[In, Required] string Shell,
[In, Required] sint32 DefaultAction
);
[Static] uint32 IsEnabled(
[Out, Required] boolean Enabled
);
[Static] uint32 SetEnabled(
[In, Required] boolean Enabled);
);
};
Membri
Nelle tabelle seguenti sono elencati tutti i metodi e le proprietà che appartengono a questa classe.
Metodi
| Metodi | Descrizione |
|---|---|
| WESL_UserSetting.SetCustomShell | Configura Shell Launcher per un utente o un gruppo specifico, in base al SID. |
| WESL_UserSetting.GetCustomShell | Recupera la configurazione dell'utilità di avvio della shell per un utente o un gruppo specifico, in base al SID. |
| WESL_UserSetting.RemoveCustomShell | Rimuove una configurazione di Shell Launcher per un utente o un gruppo specifico, in base al SID. |
| WESL_UserSetting.GetDefaultShell | Recupera la configurazione predefinita dell'utilità di avvio della shell. |
| WESL_UserSetting.SetDefaultShell | Imposta la configurazione predefinita dell'utilità di avvio della shell. |
| WESL_UserSetting.IsEnabled | Recupera un valore che indica se Shell Launcher è abilitato o disabilitato. |
| WESL_UserSetting.SetEnabled | Abilita o disabilita l'utilità di avvio della shell. |
Proprietà
| Proprietà | Tipo di dati | Qualificazioni | Descrizione |
|---|---|---|---|
| Sid | stringa | [read, write, required] | SID utente o di gruppo. |
| Guscio | stringa | [read, write, required] | Applicazione da avviare come shell. La proprietà della shell può essere un nome file nella variabile di ambiente Path oppure può contenere un percorso completo dell'applicazione. È anche possibile usare le variabili di ambiente nel percorso. Tutti gli spazi nella proprietà della shell devono far parte di una stringa delimitata da virgolette. |
| CustomReturnCodes | Sint32[] | [lettura, scrittura] | Matrice di codici restituiti personalizzati che possono essere restituiti dalla shell. |
| CustomReturnCodesAction | Sint32[] | [lettura, scrittura] | Matrice di azioni di codice restituito personalizzate che determinano l'azione eseguita dall'utilità di avvio della shell quando la shell viene chiusa. Le azioni personalizzate eseguono il mapping alla matrice di CustomReturnCodes. Le azioni possibili sono: 0 - Riavviare la shell. 1 - Riavviare il dispositivo. 2 - Arrestare il dispositivo. 3 - Non fare nulla. |
| DefaultAction | Sint32 | [lettura, scrittura] | Azione predefinita eseguita dall'utilità di avvio della shell quando la shell viene chiusa. Le azioni possibili sono definite come segue: 0 - Riavviare la shell. 1 - Riavviare il dispositivo. 2 - Arrestare il dispositivo. 3 - Non fare nulla. |
Osservazioni
In un dispositivo con Shell Launcher esiste una sola istanza di WESL_UserSetting .
Shell Launcher usa la configurazione personalizzata definita per il SID dell'utente attualmente connesso, se esistente. In caso contrario, Shell Launcher usa una configurazione personalizzata definita per un SID di gruppo di cui l'utente è membro, se presente. Se esistono più configurazioni personalizzate di gruppo per l'utente, Shell Launcher usa la prima configurazione valida trovata. L'ordine di ricerca non è definito.
Se non è presente alcuna configurazione personalizzata per il SID dell'utente o per i SID di gruppo di cui l'utente è membro, Shell Launcher usa la configurazione predefinita.
È possibile trovare il SID per un utente e tutti i gruppi di cui l'utente è membro usando lo strumento da riga di comando whoami .
Esempio
Lo script di Windows PowerShell seguente illustra come aggiungere e rimuovere configurazioni della shell personalizzate per Shell Launcher usando i provider di Strumentazione gestione Windows (WMI) per Shell Launcher.
$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.
$Cashier_SID = Get-UsernameSID("Cashier")
# Define actions to take when the shell program exits.
$restart_shell = 0
$restart_device = 1
$shutdown_device = 2
$do_nothing = 3
# Examples
# Set the command prompt as the default shell, and restart the device if it's closed.
$ShellLauncherClass.SetDefaultShell("cmd.exe", $restart_device)
# Display the default shell to verify that it was added correctly.
$DefaultShellObject = $ShellLauncherClass.GetDefaultShell()
"`nDefault Shell is set to " + $DefaultShellObject.Shell + " and the default action is set to " + $DefaultShellObject.defaultaction
# Set Internet Explorer as the shell for "Cashier", and restart the machine if it's closed.
$ShellLauncherClass.SetCustomShell($Cashier_SID, "c:\program files\internet explorer\iexplore.exe www.microsoft.com", ($null), ($null), $restart_shell)
# Set Explorer as the shell for administrators.
$ShellLauncherClass.SetCustomShell($Admins_SID, "explorer.exe")
# View all the custom shells defined.
"`nCurrent settings for custom shells:"
Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting | Select Sid, Shell, DefaultAction
# Remove the new custom shells.
$ShellLauncherClass.RemoveCustomShell($Admins_SID)
$ShellLauncherClass.RemoveCustomShell($Cashier_SID)