Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse konfiguriert, welche Anwendung shell Launcher basierend auf der Sicherheits-ID (SID) des angemeldeten Benutzers startet, und konfiguriert auch den Satz von Rückgabecodes und Rückgabeaktionen, die das Shell-Startprogramm ausführt, wenn die Anwendung beendet wird.
Anforderungen an die Windows-Edition
Die folgende Liste enthält die Windows-Editionen, die das Shell-Startprogramm unterstützen:
✅ Enterprise/Enterprise LTSC
✅ Education
✅ IoT Enterprise / IoT Enterprise LTSC
Syntax
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);
);
};
Member
In den folgenden Tabellen sind alle Methoden und Eigenschaften aufgeführt, die zu dieser Klasse gehören.
Methoden
| Methoden | Beschreibung |
|---|---|
| WESL_UserSetting.SetCustomShell | Konfiguriert das Shell-Startprogramm für einen bestimmten Benutzer oder eine bestimmte Gruppe basierend auf der SID. |
| WESL_UserSetting.GetCustomShell | Ruft die Konfiguration des Shell-Startprogramms für einen bestimmten Benutzer oder eine bestimmte Gruppe basierend auf der SID ab. |
| WESL_UserSetting.RemoveCustomShell | Entfernt eine Shell-Startprogrammkonfiguration für einen bestimmten Benutzer oder eine bestimmte Gruppe basierend auf der SID. |
| WESL_UserSetting.GetDefaultShell | Ruft die Standardkonfiguration des Shell-Startprogramms ab. |
| WESL_UserSetting.SetDefaultShell | Legt die Standardkonfiguration des Shell-Startprogramms fest. |
| WESL_UserSetting.IsEnabled | Ruft einen Wert ab, der angibt, ob das Shell-Startprogramm aktiviert oder deaktiviert ist. |
| WESL_UserSetting.SetEnabled | Aktiviert oder deaktiviert das Shell-Startprogramm. |
Eigenschaften
| Eigenschaft | Datentyp | Qualifikation | Beschreibung |
|---|---|---|---|
| Sid | string | [Lesen, Schreiben, erforderlich] | Benutzer- oder Gruppen-SID. |
| Muschel | string | [Lesen, Schreiben, erforderlich] | Die Anwendung, die als Shell gestartet werden soll. Die Shelleigenschaft kann ein Dateiname in der Path-Umgebungsvariable sein oder einen vollqualifizierten Pfad zur Anwendung enthalten. Sie können auch Umgebungsvariablen im Pfad verwenden. Alle Leerzeichen in der Shell-Eigenschaft müssen Teil einer durch Anführungszeichen getrennten Zeichenfolge sein. |
| CustomReturnCodes | Sint32[] | [lesen, schreiben] | Ein Array von benutzerdefinierten Rückgabecodes, die von der Shell zurückgegeben werden können. |
| CustomReturnCodesAction | Sint32[] | [lesen, schreiben] | Ein Array von benutzerdefinierten Rückgabecodeaktionen, die bestimmen, welche Aktion das Shell-Startprogramm ausführt, wenn die Shell beendet wird. Die benutzerdefinierten Aktionen werden dem Array von CustomReturnCodes zugeordnet. Folgende Aktionen sind möglich: 0 : Starten Sie die Shell neu. 1 : Starten Sie das Gerät neu. 2 – Fahren Sie das Gerät herunter. 3 – Nichts tun. |
| DefaultAction | Sint32 | [lesen, schreiben] | Die Standardaktion Shell-Startprogramm wird ausgeführt, wenn die Shell beendet wird. Die möglichen Aktionen sind wie folgt definiert: 0 : Starten Sie die Shell neu. 1 : Starten Sie das Gerät neu. 2 – Fahren Sie das Gerät herunter. 3 – Nichts tun. |
Hinweise
Auf einem Gerät mit Shell-Startprogramm ist nur eine WESL_UserSetting instance vorhanden.
Das Shell-Startprogramm verwendet die benutzerdefinierte Konfiguration, die für die SID des aktuell angemeldeten Benutzers definiert ist, sofern vorhanden. Andernfalls verwendet das Shell-Startprogramm eine benutzerdefinierte Konfiguration, die für eine Gruppen-SID definiert ist, deren Mitglied der Benutzer ist( sofern vorhanden). Wenn mehrere benutzerdefinierte Gruppenkonfigurationen für den Benutzer vorhanden sind, verwendet das Shell-Startprogramm die erste gültige Konfiguration, die es findet. Die Suchreihenfolge ist nicht definiert.
Wenn keine benutzerdefinierte Konfiguration für die SID des Benutzers oder Gruppen-SIDs vorhanden ist, in denen der Benutzer Mitglied ist, verwendet das Shell-Startprogramm die Standardkonfiguration.
Sie finden die SID für einen Benutzer und alle Gruppen, in denen der Benutzer Mitglied ist, mithilfe des whoami-Befehlszeilentools .
Beispiel
Das folgende Windows PowerShell Skript veranschaulicht das Hinzufügen und Entfernen benutzerdefinierter Shellkonfigurationen für shell Launcher mithilfe der WMI-Anbieter (Windows Management Instrumentation) für 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)