WESL_UserSetting

Kelas ini mengonfigurasi aplikasi mana yang dimulai Shell Launcher berdasarkan pengidentifikasi keamanan (SID) pengguna yang masuk, dan juga mengonfigurasi serangkaian kode pengembalian dan mengembalikan tindakan yang dilakukan Shell Launcher saat aplikasi keluar.

Sintaks

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

Anggota

Tabel berikut mencantumkan metode dan properti apa pun yang termasuk dalam kelas ini.

Metode

Metode Deskripsi
WESL_UserSetting.SetCustomShell Mengonfigurasi Peluncur Shell untuk pengguna atau grup tertentu, berdasarkan SID.
WESL_UserSetting.GetCustomShell Mengambil konfigurasi Shell Launcher untuk pengguna atau grup tertentu, berdasarkan SID.
WESL_UserSetting.RemoveCustomShell Menghapus konfigurasi Shell Launcher untuk pengguna atau grup tertentu, berdasarkan SID.
WESL_UserSetting.GetDefaultShell Mengambil konfigurasi Shell Launcher default.
WESL_UserSetting.SetDefaultShell Mengatur konfigurasi Shell Launcher default.
WESL_UserSetting.IsEnabled Mengambil nilai yang menunjukkan apakah Peluncur Shell diaktifkan atau dinonaktifkan.
WESL_UserSetting.SetEnabled Mengaktifkan atau menonaktifkan Peluncur Shell.

Properti

Properti Jenis Data Kualifikasi Deskripsi
Sid string [baca, tulis, diperlukan] SID pengguna atau grup.
Shell string [baca, tulis, diperlukan] Aplikasi untuk memulai sebagai shell.
Properti shell dapat menjadi nama file dalam variabel lingkungan Jalur , atau dapat berisi jalur yang sepenuhnya memenuhi syarat ke aplikasi. Anda juga dapat menggunakan variabel lingkungan di jalur.
Spasi apa pun di properti shell harus menjadi bagian dari string yang dibatasi kutipan.
CustomReturnCodes Sint32[] [baca, tulis] Array kode pengembalian kustom yang dapat dikembalikan oleh shell.
CustomReturnCodesAction Sint32[] [baca, tulis] Array tindakan kode pengembalian kustom yang menentukan tindakan apa yang dilakukan Shell Launcher saat shell keluar. Tindakan kustom memetakan ke array CustomReturnCodes.
Tindakan yang mungkin adalah:
0 - Mulai ulang shell.
1 - Hidupkan ulang perangkat.
2 - Matikan perangkat.
3 - Jangan lakukan apa-apa.
DefaultAction Sint32 [baca, tulis] Tindakan default Shell Launcher mengambil ketika shell keluar.
Tindakan yang mungkin didefinisikan sebagai berikut:
0 - Mulai ulang shell.
1 - Hidupkan ulang perangkat.
2 - Matikan perangkat.
3 - Jangan lakukan apa-apa.

Keterangan

Hanya satu instans WESL_UserSetting yang ada di perangkat dengan Shell Launcher.

Shell Launcher menggunakan konfigurasi kustom yang ditentukan untuk SID pengguna yang saat ini masuk, jika ada. Jika tidak, Shell Launcher menggunakan konfigurasi kustom yang ditentukan untuk grup SID tempat pengguna menjadi anggota, jika ada. Jika beberapa konfigurasi kustom grup untuk pengguna ada, Shell Launcher menggunakan konfigurasi valid pertama yang ditemukannya. Urutan pencarian tidak ditentukan.

Jika tidak ada konfigurasi kustom untuk SID pengguna atau SID grup apa pun yang menjadi anggota pengguna, Shell Launcher menggunakan konfigurasi default.

Anda dapat menemukan SID untuk pengguna dan grup apa pun yang menjadi anggota pengguna dengan menggunakan alat baris perintah whoami .

Contoh

Skrip Windows PowerShell berikut menunjukkan cara menambahkan dan menghapus konfigurasi shell kustom untuk Shell Launcher dengan menggunakan penyedia Windows Management Instrumentation (WMI) untuk 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)

Persyaratan

Edisi Windows Didukung
Windows Home Tidak
Windows Pro Tidak
Windows Enterprise Ya
Windows Education Ya
Windows IoT Enterprise Ya