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 |