Win32_StartupCommand-Klasse
Die Win32_StartupCommandWMI-Klasse stellt einen Befehl dar, der automatisch ausgeführt wird, wenn sich ein Benutzer am Computersystem anmeldet.
Die folgende Syntax wurde aus MOF-Code (Managed Object Format, verwaltetes Objektformat) vereinfacht und enthält alle geerbten Eigenschaften. Eigenschaften und Methoden befinden sich in alphabetischer Reihenfolge, nicht in MOF-Reihenfolge.
Syntax
[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C50A-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_StartupCommand : CIM_Setting
{
string Caption;
string Description;
string SettingID;
string Command;
string Location;
string Name;
string User;
string UserSID;
};
Member
Die Win32_StartupCommand-Klasse verfügt über die folgenden Membertypen:
Eigenschaften
Die Win32_StartupCommand-Klasse verfügt über diese Eigenschaften.
-
Caption
-
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MaxLen (64)
Kurze Textbeschreibung des aktuellen Objekts.
Diese Eigenschaft wird von CIM_Setting geerbt.
-
-
Befehl
-
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: key, MappingStrings ("Win32Registry| SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
Befehl, der vom Startbefehl ausgeführt wird.
WMI ruft diese Daten aus dem Registrierungsschlüssel ab.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fenster\Currentversion\Ausführen
Beispiel: "C:\Windows\notepad.exe myfile.txt"
-
-
Beschreibung
-
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
Textbeschreibung des aktuellen Objekts.
Diese Eigenschaft wird von CIM_Setting geerbt.
-
-
Location
-
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: key, MappingStrings ("Win32Registry|\SOFTWARE\\MICROSOFT\WINDOWS\\CURRENTVERSION\\Windows")
Pfad, in dem sich der Startbefehl im Dateisystem des Datenträgers befindet.
Beispiel: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
-
Start ("Startup")
-
Allgemeiner Start ("Allgemeiner Start")
-
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run ("HKLM\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
-
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices ("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices")
Name
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: key, MappingStrings ("Win32API| Dateistrukturen| WIN32_FIND_DATA|cFileName")
Dateiname des Startbefehls.
Beispiel: "FindFast"
SettingID
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MaxLen (256)
Bezeichner, durch den das aktuelle Objekt bekannt ist.
Diese Eigenschaft wird von CIM_Setting geerbt.
Benutzer
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: key, MappingStrings ("WMI")
Benutzername, für den dieser Startbefehl ausgeführt wird.
Beispiel: "mydomain\myname"
UserSID
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("WMI")
Die UserSID-Eigenschaft gibt die SID des Benutzers an, für den dieser Startbefehl ausgeführt wird. Diese User-Eigenschaft ist möglicherweise leer, aber UserSID verfügt weiterhin über einen Wert, wenn der Benutzername nicht aufgelöst werden kann (wie bei einem gelöschten Benutzer). Die Eigenschaft ist hilfreich, um zwischen Befehlen zu unterscheiden, die zwei verschiedenen Benutzern mit nicht aufgelösten Namen zugeordnet sind. Es kann NULL sein, wenn der Befehl Elementen zugeordnet ist, die einen Benutzer wie Alle Benutzer nicht wirklich identifizieren.
Beispiel: S-1-5-21-1579938362-1064596589-3161144252-1006
Bemerkungen
Die Win32_StartupCommand-Klasse wird von CIM_Setting abgeleitet.
Der Computerstart endet nicht, nachdem das Betriebssystem geladen wurde. Stattdessen kann das Windows-Betriebssystem so konfiguriert werden, dass Startbefehle bei jedem Start von Windows ausgeführt werden. Startbefehle werden in der Registrierung oder als Teil des Benutzerprofils gespeichert und werden verwendet, um angegebene Skripts oder Anwendungen jedes Mal automatisch zu starten, wenn Windows geladen wird.
In den meisten Fällen sind Autostartprogramme nützlich. Sie stellen sicher, dass bestimmte Anwendungen, z. B. Antivirentools, bei jedem Laden von Windows automatisch gestartet und ausgeführt werden. Autostartprogramme können jedoch auch für Probleme verantwortlich sein, z. B.:
- Computer, deren Start außergewöhnlich lange dauert. Dies kann das Ergebnis einer großen Anzahl von Anwendungen sein, die bei jedem Start von Windows gestartet werden müssen.
- Anwendungen, die in der Taskleiste oder im Task-Manager dargestellt werden, obwohl der Benutzer sie nicht gestartet hat. Obwohl diese Anwendungen nicht unbedingt Probleme verursachen, können sie zu Helpdesk-Anrufen von Benutzern führen, die verwirrt sind, woher diese Programme stammen und warum sie ausgeführt werden.
- Computer, die Probleme haben, auch wenn sie im Leerlauf scheinen. Diese Probleme werden häufig auf Startbefehle zurückverfolgt, die ausgeführt werden, wenn niemand weiß, dass sie ausgeführt werden.
Die Identifizierung der Anwendungen und Skripts, die beim Start automatisch ausgeführt werden, ist eine wichtige, aber schwierige Verwaltungsaufgabe, da Startbefehle an vielen verschiedenen Speicherorten gespeichert werden können:
- HKLM\Software\Microsoft\Windows\CurrentVersion\Run
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKU\ProgID\Software\Microsoft\Windows\CurrentVersion\Run
- systemdrive\Dokumente und Einstellungen\Alle Benutzer\Startmenü\Programme\Start
- systemdrive\Dokumente und Einstellungen\Benutzername\Startmenü\Programme\Start
Sie können die WMI-Win32_StartupCommand-Klasse verwenden, um Autostartprogramme aufzulisten, unabhängig davon, wo die Informationen gespeichert sind.
Der aufrufende Prozess, der diese Klasse verwendet, muss über die SE_RESTORE_NAME Berechtigungen auf dem Computer verfügen, auf dem sich die Registrierung befindet. Wenn Sie diese Klasse beispielsweise auf dem lokalen Computer auflisten, muss das Konto, unter dem Ihre Anwendung ausgeführt wird, über diese Berechtigung verfügen. Weitere Informationen finden Sie unter Ausführen privilegierter Vorgänge.
Sie können die Registrierungswerte ändern, in denen Win32_StartupCommand Daten abruft, indem Sie die WMI-Systemregistrierungsanbietermethoden im Skript oder in C++ aufrufen. Weitere Informationen finden Sie unter Ändern der Systemregistrierung.
Beispiele
Das folgende VBScript listet die Startbefehle auf einem Computer auf.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colStartupCommands = objWMIService.ExecQuery _
("SELECT * FROM Win32_StartupCommand")
For Each objStartupCommand in colStartupCommands
Wscript.Echo "Command: " & objStartupCommand.Command
Wscript.Echo "Description: " & objStartupCommand.Description
Wscript.Echo "Location: " & objStartupCommand.Location
Wscript.Echo "Name: " & objStartupCommand.Name
Wscript.Echo "SettingID: " & objStartupCommand.SettingID
Wscript.Echo "User: " & objStartupCommand.User
Next
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
Siehe auch