WESL_UserSetting
Этот класс настраивает запуск средства запуска оболочки приложения на основе идентификатора безопасности (SID) вошедшего пользователя, а также настраивает набор кодов возврата и возвращаемых действий, которые средство запуска оболочки выполняет при выходе из приложения.
Синтаксис
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);
);
};
Члены
В следующих таблицах перечислены все методы и свойства, принадлежащие этому классу.
Методы
Методы | Описание |
---|---|
WESL_UserSetting.SetCustomShell | Настраивает средство запуска оболочки для определенного пользователя или группы на основе идентификатора безопасности. |
WESL_UserSetting.GetCustomShell | Извлекает конфигурацию средства запуска оболочки для определенного пользователя или группы на основе идентификатора безопасности. |
WESL_UserSetting.RemoveCustomShell | Удаляет конфигурацию средства запуска оболочки для определенного пользователя или группы на основе идентификатора безопасности. |
WESL_UserSetting.GetDefaultShell | Извлекает конфигурацию средства запуска оболочки по умолчанию. |
WESL_UserSetting.SetDefaultShell | Задает конфигурацию средства запуска оболочки по умолчанию. |
WESL_UserSetting.IsEnabled | Извлекает значение, указывающее, включена или отключена средство запуска оболочки. |
WESL_UserSetting.SetEnabled | Включает или отключает средство запуска оболочки. |
Свойства
Свойство | Тип данных | Квалификаторы | Описание |
---|---|---|---|
Ид безопасности | string | [чтение, запись, обязательное] | Идентификатор безопасности пользователя или группы. |
оболочка | string | [чтение, запись, обязательное] | Приложение для запуска в качестве оболочки. Свойство оболочки может быть именем файла в переменной среды Path или содержать полный путь к приложению. В пути также можно использовать переменные среды. Все пробелы в свойстве оболочки должны быть частью строки с разделителями кавычками. |
CustomReturnCodes | Sint32[] | [чтение, запись] | Массив пользовательских кодов возврата, которые могут быть возвращены оболочкой. |
CustomReturnCodesAction | Sint32[] | [чтение, запись] | Массив настраиваемых действий кода возврата, определяющих, какое действие выполняет средство запуска оболочки при выходе из оболочки. Пользовательские действия сопоставляется с массивом CustomReturnCodes. Возможные действия: 0 — перезапуск оболочки. 1 . Перезапустите устройство. 2. Завершение работы устройства. 3 . Ничего не делать. |
DefaultAction | Sint32 | [чтение, запись] | Действие по умолчанию средство запуска оболочки выполняет при выходе оболочки. Возможные действия определяются следующим образом: 0 — перезапустите оболочку. 1 . Перезапустите устройство. 2. Завершение работы устройства. 3 . Ничего не делать. |
Комментарии
На устройстве с командой запуска оболочки существует только один экземпляр WESL_UserSetting .
Средство запуска оболочки использует настраиваемую конфигурацию, определенную для идентификатора безопасности пользователя, вошедшего в систему, если она существует. В противном случае средство запуска оболочки использует настраиваемую конфигурацию, определенную для идентификатора безопасности группы, членом которых является пользователь, если таковые существуют. Если для пользователя существует несколько настраиваемых конфигураций групп, средство запуска оболочки использует первую допустимую конфигурацию, найденную. Порядок поиска не определен.
Если нет настраиваемой конфигурации для идентификатора безопасности пользователя или идентификаторов безопасности группы, в которые входит пользователь, средство запуска оболочки использует конфигурацию по умолчанию.
Идентификатор безопасности для пользователя и любых групп, членом которых является пользователь, можно найти с помощью средства командной строки whoami .
Пример
В следующем скрипте Windows PowerShell показано, как добавлять и удалять пользовательские конфигурации оболочки для средства запуска оболочки с помощью поставщиков инструментария управления Windows (WMI) для средства запуска оболочки.
$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)
Требования
Выпуск Windows | Поддерживается |
---|---|
Домашняя страница Windows | Нет |
Windows Pro | Нет |
Windows Корпоративная | Да |
Windows для образовательных учреждений | Да |
Windows IoT Enterprise | Да |