Share via


WESL_UserSetting

Cette classe configure l’application Shell Lanceur démarre en fonction de l’identificateur de sécurité (SID) de l’utilisateur connecté, et configure également l’ensemble de codes de retour et les actions de retour effectuées par Shell Lanceur lors de la fermeture de l’application.

Syntaxe

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);
    );
};

Membres

Les tableaux suivants répertorient toutes les méthodes et propriétés qui appartiennent à cette classe.

Méthodes

Méthodes Description
WESL_UserSetting.SetCustomShell Configure l’Lanceur Shell pour un utilisateur ou un groupe spécifique, en fonction du SID.
WESL_UserSetting.GetCustomShell Récupère la configuration Lanceur Shell pour un utilisateur ou un groupe spécifique, en fonction du SID.
WESL_UserSetting.RemoveCustomShell Supprime une configuration Lanceur Shell pour un utilisateur ou un groupe spécifique, en fonction du SID.
WESL_UserSetting.GetDefaultShell Récupère la configuration Lanceur Shell par défaut.
WESL_UserSetting.SetDefaultShell Définit la configuration Lanceur Shell par défaut.
WESL_UserSetting.IsEnabled Récupère une valeur qui indique si l’Lanceur Shell est activé ou désactivé.
WESL_UserSetting.SetEnabled Active ou désactive l’Lanceur Shell.

Propriétés

Propriété Type de données Qualificateurs Description
Sid string [lecture, écriture, obligatoire] SID d’utilisateur ou de groupe.
Shell string [lecture, écriture, obligatoire] Application à démarrer en tant qu’interpréteur de commandes.
La propriété shell peut être un nom de fichier dans la variable d’environnement Path , ou elle peut contenir un chemin d’accès complet à l’application. Vous pouvez également utiliser des variables d’environnement dans le chemin d’accès.
Tous les espaces de la propriété shell doivent faire partie d’une chaîne délimitée par des guillemets.
CustomReturnCodes Sint32[] [lecture, écriture] Tableau de codes de retour personnalisés qui peuvent être retournés par l’interpréteur de commandes.
CustomReturnCodesAction Sint32[] [lecture, écriture] Tableau d’actions de code de retour personnalisées qui déterminent l’action que l’interpréteur de commandes Lanceur prend lorsque l’interpréteur de commandes quitte. Les actions personnalisées sont mappées au tableau de CustomReturnCodes.
Les actions possibles sont :
0 - Redémarrez l’interpréteur de commandes.
1 - Redémarrez l’appareil.
2 - Arrêter l’appareil.
3 - Ne rien faire.
DefaultAction Sint32 [lecture, écriture] L’action par défaut Lanceur prend lorsque l’interpréteur de commandes se termine.
Les actions possibles sont définies comme suit :
0 - Redémarrez l’interpréteur de commandes.
1 - Redémarrez l’appareil.
2 - Arrêter l’appareil.
3 - Ne rien faire.

Notes

Une seule instance WESL_UserSetting existe sur un appareil avec shell Lanceur.

Shell Lanceur utilise la configuration personnalisée définie pour le SID de l’utilisateur actuellement connecté, s’il en existe un. Sinon, Shell Lanceur utilise une configuration personnalisée définie pour un SID de groupe dont l’utilisateur est membre, le cas échéant. Si plusieurs configurations personnalisées de groupe existent pour l’utilisateur, Shell Lanceur utilise la première configuration valide qu’il trouve. L’ordre de recherche n’est pas défini.

S’il n’existe aucune configuration personnalisée pour le SID de l’utilisateur ou tout SID de groupe dont l’utilisateur est membre, Shell Lanceur utilise la configuration par défaut.

Vous trouverez le SID d’un utilisateur et tous les groupes dont l’utilisateur est membre à l’aide de l’outil en ligne de commande whoami .

Exemple

Le script Windows PowerShell suivant montre comment ajouter et supprimer des configurations d’interpréteur de commandes personnalisées pour shell Lanceur à l’aide des fournisseurs WMI (Windows Management Instrumentation) pour Shell Lanceur.

$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)

Spécifications

Édition Windows Pris en charge
Windows Édition familiale Non
Windows Pro Non
Windows Entreprise Oui
Windows Éducation Oui
Windows IoT Entreprise Oui