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
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

CIM_Setting

Betriebssystemklassen