WESL_UserSetting

Essa classe configura qual aplicativo Iniciador de Shell inicia com base no identificador de segurança (SID) do usuário conectado e também configura o conjunto de códigos de retorno e ações de retorno que o Iniciador de Shell executa quando o aplicativo é encerrado.

Sintaxe

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

Membros

As tabelas a seguir listam todos os métodos e propriedades que pertencem a essa classe.

Métodos

Métodos Descrição
WESL_UserSetting.SetCustomShell Configura o Iniciador de Shell para um usuário ou grupo específico, com base no SID.
WESL_UserSetting.GetCustomShell Recupera a configuração do Iniciador de Shell para um usuário ou grupo específico, com base no SID.
WESL_UserSetting.RemoveCustomShell Remove uma configuração do Iniciador de Shell para um usuário ou grupo específico, com base no SID.
WESL_UserSetting.GetDefaultShell Recupera a configuração padrão do Iniciador de Shell.
WESL_UserSetting.SetDefaultShell Define a configuração padrão do Iniciador de Shell.
WESL_UserSetting.IsEnabled Recupera um valor que indica se o Iniciador de Shell está habilitado ou desabilitado.
WESL_UserSetting.SetEnabled Habilita ou desabilita o Iniciador de Shell.

Propriedades

Propriedade Tipo de dados Qualificadores Descrição
Sid string [ler, escrever, obrigatório] SID de usuário ou grupo.
concha string [ler, escrever, obrigatório] O aplicativo a ser iniciado como o shell.
A propriedade shell pode ser um nome de arquivo na variável de ambiente Path ou pode conter um caminho totalmente qualificado para o aplicativo. Você também pode usar variáveis de ambiente no caminho.
Todos os espaços na propriedade shell devem fazer parte de uma cadeia de caracteres delimitada por aspas.
CustomReturnCodes Sint32[] [ler, escrever] Uma matriz de códigos de retorno personalizados que podem ser retornados pelo shell.
CustomReturnCodesAction Sint32[] [ler, escrever] Uma matriz de ações de código de retorno personalizadas que determinam qual ação o Iniciador de Shell executa quando o shell é encerrado. As ações personalizadas são mapeadas para a matriz de CustomReturnCodes.
As ações possíveis são:
0 - Reinicie o shell.
1 - Reinicie o dispositivo.
2 - Desligue o aparelho.
3 - Não faça nada.
DefaultAction Sint32 [ler, escrever] A ação padrão que o Iniciador de Shell executa quando o shell é encerrado.
As ações possíveis são definidas da seguinte maneira:
0 - Reinicie o shell.
1 - Reinicie o dispositivo.
2 - Desligue o aparelho.
3 - Não faça nada.

Comentários

Apenas uma instância WESL_UserSetting existe em um dispositivo com o Iniciador de Shell.

O Iniciador de Shell usa a configuração personalizada definida para o SID do usuário conectado no momento, se houver. Caso contrário, o Iniciador de Shell usará uma configuração personalizada definida para um SID de grupo do qual o usuário é membro, se houver. Se existirem várias configurações personalizadas de grupo para o usuário, o Iniciador de Shell usará a primeira configuração válida encontrada. A ordem de pesquisa não está definida.

Se não houver nenhuma configuração personalizada para o SID do usuário ou qualquer SID de grupo do qual o usuário seja membro, o Iniciador de Shell usará a configuração padrão.

Você pode encontrar o SID de um usuário e de qualquer grupo do qual o usuário seja membro usando a ferramenta de linha de comando whoami .

Exemplo

O script do Windows PowerShell a seguir demonstra como adicionar e remover configurações de shell personalizadas para o Iniciador de Shell usando os provedores WMI (Instrumentação de Gerenciamento do Windows) para o Iniciador de Shell.

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

Requisitos

Edição do Windows Com suporte
Windows Home Não
Windows Pro Não
Windows Enterprise Sim
Educação do Windows Sim
Windows IoT Enterprise Yes