Win32 _ Process-Klasse

Die Win32 _ Process WMI-Klasse stellt einen Prozess auf einem Betriebssystem dar.

Die folgende Syntax wurde aus MOF-Code (Managed Object Format, verwaltetes Objektformat) vereinfacht und enthält alle geerbten Eigenschaften.

Hinweis

Eine allgemeine Erläuterung zu Prozessen und Threads in Windows finden Sie im Thema Prozesse und Threads.

Syntax

[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
  string   CreationClassName;
  string   Caption;
  string   CommandLine;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Description;
  string   ExecutablePath;
  uint16   ExecutionState;
  string   Handle;
  uint32   HandleCount;
  datetime InstallDate;
  uint64   KernelModeTime;
  uint32   MaximumWorkingSetSize;
  uint32   MinimumWorkingSetSize;
  string   Name;
  string   OSCreationClassName;
  string   OSName;
  uint64   OtherOperationCount;
  uint64   OtherTransferCount;
  uint32   PageFaults;
  uint32   PageFileUsage;
  uint32   ParentProcessId;
  uint32   PeakPageFileUsage;
  uint64   PeakVirtualSize;
  uint32   PeakWorkingSetSize;
  uint32   Priority = NULL;
  uint64   PrivatePageCount;
  uint32   ProcessId;
  uint32   QuotaNonPagedPoolUsage;
  uint32   QuotaPagedPoolUsage;
  uint32   QuotaPeakNonPagedPoolUsage;
  uint32   QuotaPeakPagedPoolUsage;
  uint64   ReadOperationCount;
  uint64   ReadTransferCount;
  uint32   SessionId;
  string   Status;
  datetime TerminationDate;
  uint32   ThreadCount;
  uint64   UserModeTime;
  uint64   VirtualSize;
  string   WindowsVersion;
  uint64   WorkingSetSize;
  uint64   WriteOperationCount;
  uint64   WriteTransferCount;
};

Members

Die Win32 _ Process-Klasse verfügt über folgende Typen von Membern:

Methoden

Die Win32 _ Process-Klasse verfügt über diese Methoden.

Methode BESCHREIBUNG
AttachDebugger Startet den derzeit registrierten Debugger für einen Prozess.
Erstellen Erstellt einen neuen Prozess.
GetAvailableVirtualSize Ruft die aktuelle Größe des für den Prozess verfügbaren freien virtuellen Adressraums in Bytes ab.
Windows Server 2012, Windows 8, Windows 7, Windows Server 2008 und Windows Vista: Diese Methode wird vor Windows 8.1 und Windows Server 2012 R2 nicht unterstützt.
GetOwner Ruft den Benutzernamen und domänennamen ab, unter dem der Prozess ausgeführt wird.
GetOwnerSid Ruft die Sicherheits-ID (SID) für den Besitzer eines Prozesses ab.
SetPriority Ändert die Ausführungspriorität eines Prozesses.
Terminate Beendet einen Prozess und alle zugehörigen Threads.

Eigenschaften

Die Win32 _ Process-Klasse verfügt über diese Eigenschaften.

Caption

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: MaxLen (64), DisplayName ("Caption")

Kurze Beschreibung eines Objekts– eine einzeilige Zeichenfolge.

Diese Eigenschaft wird von CIM _ ManagedSystemElementgeerbt.

CommandLine

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Befehlszeile zum Starten des Prozesses")

Befehlszeile, die verwendet wird, um einen bestimmten Prozess zu starten, falls zutreffend.

CreationClassName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: _ CIM-Schlüssel, MaxLen (256), DisplayName ("Klassenname")

Name der Klasse oder Unterklasse, die bei der Erstellung einer Instanz verwendet wird. Bei Verwendung mit anderen Schlüsseleigenschaften der -Klasse ermöglicht diese Eigenschaft die eindeutige Identifizierung aller Instanzen der Klasse und ihrer Unterklassen.

Diese Eigenschaft wird vom _ CIM-Prozessgeerbt.

CreationDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Qualifizierer: Behoben:, DisplayName ("CreationDate")

Datum, an dem die Ausführung des Prozesses beginnt.

Diese Eigenschaft wird vom _ CIM-Prozessgeerbt.

CSCreationClassName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Weitergegeben ("CIM _ OperatingSystem.CSCreationClassName), CIM _ Key, MaxLen (256), DisplayName ("Computer System Class Name")

Erstellungsklassenname des Bereichscomputersystems.

Diese Eigenschaft wird vom _ CIM-Prozessgeerbt.

CSName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Weitergegeben ("CIM _ OperatingSystem.CSName), _ CIM-Schlüssel, MaxLen (256), DisplayName ("Computersystemname")

Name des Bereichscomputersystems.

Diese Eigenschaft wird vom _ CIM-Prozessgeerbt.

Beschreibung

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Beschreibung")

Beschreibung eines Objekts.

Diese Eigenschaft wird von CIM _ ManagedSystemElementgeerbt.

ExecutablePath

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Berechtigungen ("SeDebugPrivilege"), MappingStrings ("Win32API | Tool Help Structures | MODULEENTRY32 | szExePath"), DisplayName ("Executable Path")

Pfad zur ausführbaren Datei des Prozesses.

Beispiel: "C: \ Windows \ System \Explorer.Exe"

ExecutionState

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Ausführungsstatus")

Aktuelle Betriebsbedingung des Prozesses.

Diese Eigenschaft wird vom _ CIM-Prozessgeerbt.

Unbekannt (0)

Unbekannt

Andere (1)

Sonstiges

Bereit (2)

Wird ausgeführt (3)

Blockiert (4)

Gesperrt

Angehalten blockiert (5)

Suspended Ready (6)

Beendet (7)

Beendet (8)

Anwachsend (9)

Handle

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Key, MaxLen (256), DisplayName ("Handle")

Prozessbezeichner.

Diese Eigenschaft wird von CIM Process _ geerbt.

HandleCount

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API | Process Status SYSTEM PROCESS INFORMATION | _ _ | HandleCount"), DisplayName ("Handle Count")

Gesamtanzahl der offenen Handles, die sich im Besitz des Prozesses befinden. HandleCount ist die Summe der Handles, die derzeit von jedem Thread in diesem Prozess geöffnet werden. Ein Handle wird verwendet, um die Systemressourcen zu untersuchen oder zu ändern. Jedes Handle verfügt über einen Eintrag in einer Tabelle, der intern verwaltet wird. Einträge enthalten die Adressen der Ressourcen und Daten, um den Ressourcentyp zu identifizieren.

InstallDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("MIF. DMTF | ComponentID | 001.5"), DisplayName ("Installation date")

Datum, an dem ein Objekt installiert wird. Das -Objekt kann installiert werden, ohne dass ein Wert in diese Eigenschaft geschrieben wird.

Diese Eigenschaft wird von CIM _ ManagedSystemElement geerbt.

KernelModeTime

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: Außerkraftsetzung ("KernelModeTime"), Einheiten ("100 Nanosekunden")

Zeit im Kernelmodus in Millisekunden. Wenn diese Informationen nicht verfügbar sind, verwenden Sie den Wert 0 (null).

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

MaximumWorkingSetSize

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: Berechtigungen ("SeDebugPrivilege"), MappingStrings ("Win32 | WINNT. H | QUOTA _ LIMITS | MaximumWorkingSetSize"), DisplayName ("Maximum Working Set Size"), Units ("kilobytes")

Maximale Arbeitssatzgröße des Prozesses. Der Arbeitssatz eines Prozesses ist der Satz von Arbeitsspeicherseiten, die für den Prozess im physischen RAM sichtbar sind. Diese Seiten sind resident und können von einer Anwendung verwendet werden, ohne dass ein Seitenfehler ausgelöst wird.

Beispiel: 1413120

MinimumWorkingSetSize

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: Berechtigungen ("SeDebugPrivilege"), MappingStrings ("Win32 | WINNT. H | QUOTA _ LIMITS | MinimumWorkingSetSize"), DisplayName ("Minimum Working Set Size"), Units ("kilobytes")

Minimale Arbeitssatzgröße des Prozesses. Der Arbeitssatz eines Prozesses ist der Satz von Arbeitsspeicherseiten, die für den Prozess im physischen RAM sichtbar sind. Diese Seiten sind resident und können von einer Anwendung verwendet werden, ohne dass ein Seitenfehler ausgelöst wird.

Beispiel: 20480

Name

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Name")

Name der ausführbaren Datei, die für den Prozess verantwortlich ist, entspricht der ImageName-Eigenschaft in Task-Manager.

Wenn sie von einer Unterklasse geerbt wird, kann die Eigenschaft überschrieben werden, um eine Schlüsseleigenschaft zu sein. Der Name ist in der Anwendung selbst hart codiert und wird durch das Ändern des Dateinamens nicht beeinflusst. Selbst wenn Sie beispielsweise Calc.exe umbenennen, wird der name Calc.exe weiterhin in Task-Manager und in allen WMI-Skripts angezeigt, die den Prozessnamen abrufen.

Diese Eigenschaft wird von CIM _ ManagedSystemElement geerbt.

OSCreationClassName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Propagated ("CIM _ OperatingSystem.CreationClassName"), _ CIM-Schlüssel, MaxLen (256), DisplayName ("Name der Betriebssystemklasse")

Der Name der Erstellungsklasse des Bereichsbetriebssystems.

Diese Eigenschaft wird von CIM Process _ geerbt.

OSName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Propagated ("CIM _ OperatingSystem.Name"), _ CIM-Schlüssel, MaxLen (256), DisplayName ("Betriebssystemname")

Name des Bereichsbetriebssystems.

Diese Eigenschaft wird von CIM Process _ geerbt.

OtherOperationCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | OtherOperationCount"), DisplayName ("Other Operation Count")

Anzahl der ausgeführten E/A-Vorgänge, bei denen es sich nicht um Lese- oder Schreibvorgänge handelt.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

OtherTransferCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | OtherTransferCount"), DisplayName ("Other Transfer Count"), Units ("bytes")

Menge der daten, die bei Vorgängen übertragen werden, bei denen es sich nicht um Lese- oder Schreibvorgänge handelt.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

PageFaults

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PageFaultCount"), DisplayName ("Number of Page Faults")

Anzahl von Seitenfehlern, die ein Prozess generiert.

Beispiel: 10

PageFileUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PagefileUsage"), DisplayName ("Page File Usage"), Units ("kilobytes")

Die Menge des Seitendateispeicherplatzes, den ein Prozess derzeit verwendet. Dieser Wert entspricht dem VMSize-Wert in TaskMgr.exe.

Beispiel: 102435

ParentProcessId

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | InheritedFromUniqueProcessId"), DisplayName ("Parent Process Id")

Eindeutiger Bezeichner des Prozesses, der einen Prozess erstellt. Prozessbezeichnernummern werden wiederverwendet, sodass sie nur einen Prozess für die Lebensdauer dieses Prozesses identifizieren. Es ist möglich, dass der von ParentProcessId identifizierte Prozess beendet wird, sodass ParentProcessId möglicherweise nicht auf einen ausgeführten Prozess verweisen kann. Es ist auch möglich, dass ParentProcessId fälschlicherweise auf einen Prozess verweist, der einen Prozessbezeichner wiederverwendet. Sie können die CreationDate-Eigenschaft verwenden, um zu bestimmen, ob das angegebene übergeordnete Element erstellt wurde, nachdem der von dieser Win32-Prozessinstanz _ dargestellte Prozess erstellt wurde.

PeakPageFileUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PeakPagefileUsage"), DisplayName ("Peak Page File Usage"), Units ("kilobytes")

Maximale Menge an Seitendateispeicherplatz, der während der Lebensdauer eines Prozesses verwendet wird.

Beispiel: 102367

PeakVirtualSize

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PeakVirtualSize"), DisplayName ("Peak Virual Address Space Usage"), Units ("bytes")

Maximaler virtueller Adressraum, den ein Prozess gleichzeitig verwendet. Die Verwendung des virtuellen Adressraums impliziert nicht unbedingt die entsprechende Verwendung von Datenträger- oder Hauptspeicherseiten. Der virtuelle Raum ist jedoch endlich, und wenn zu viel verwendet wird, ist der Prozess möglicherweise nicht in der Lage, Bibliotheken zu laden.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

PeakWorkingSetSize

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PeakWorkingSetSize"), DisplayName ("Peak Working Set Size"), Units ("kilobytes")

Die Spitzengröße eines Arbeitssatzes eines Prozesses.

Beispiel: 1413120

Priority

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: Außerkraftsetzung ("Priorität"), MappingStrings ("Win32API-Prozessstatus | SYSTEM PROCESS INFORMATION | _ _ | BasePriority"), DisplayName ("Priority")

Planungspriorität eines Prozesses innerhalb eines Betriebssystems. Je höher der Wert ist, desto höher ist die Priorität, die ein Prozess empfängt. Prioritätswerte können zwischen 0 (null) und 31 (höchste Priorität) liegen.

Beispiel: 7

PrivatePageCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | PrivatePageCount"), DisplayName ("Private Page Count")

Aktuelle Anzahl zugeordneter Seiten, die nur für den Prozess zugänglich sind, der von dieser Win32-Prozessinstanz _ dargestellt wird.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

ProcessId

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API | Process and Thread Structures PROCESS | _ INFORMATION | dwProcessId "), DisplayName ("Process Id")

Numerischer Bezeichner, der verwendet wird, um einen Prozess von einem anderen zu unterscheiden. ProcessIDs sind ab dem Zeitpunkt der Prozesserstellung bis zur Beendigung des Prozesses gültig. Nach Beendigung kann derselbe numerische Bezeichner auf einen neuen Prozess angewendet werden.

Dies bedeutet, dass Sie ProcessID nicht allein zum Überwachen eines bestimmten Prozesses verwenden können. Beispielsweise könnte eine Anwendung die ProcessID 7 haben und dann fehlschlagen. Wenn ein neuer Prozess gestartet wird, könnte dem neuen Prozess ProcessID 7 zugewiesen werden. Ein Skript, das nur nach einer angegebenen ProcessID überprüft hat, könnte daher "überlegt" werden, dass die ursprüngliche Anwendung noch ausgeführt wird.

QuotaNonPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | QuotaNonPagedPoolUsage"), DisplayName ("Non-Paged Pool Usage Quota")

Kontingent für die Nutzung eines nicht auspageierten Pools für einen Prozess.

Beispiel: 15

QuotaPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | QuotaPagedPoolUsage"), DisplayName ("Paged Pool Usage Quota")

Die Kontingentmenge der Auspagepoolnutzung für einen Prozess.

Beispiel: 22

QuotaPeakNonPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | QuotaPeakNonPagedPoolUsage"), DisplayName ("Peak Non-Paged Pool Usage Quota")

Spitzenkontingent für die Nutzung nicht auspager Pools für einen Prozess.

Beispiel: 31

QuotaPeakPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | QuotaPeakPagedPoolUsage"), DisplayName ("Peak Paged Pool Usage Quota")

Die Spitzenkontingentmenge der Auspagepoolnutzung für einen Prozess.

Beispiel: 31

ReadOperationCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API | Process and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | ReadOperationCount"), DisplayName ("Read Operation Count")

Anzahl der ausgeführten Lesevorgänge.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

ReadTransferCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | ReadTransferCount"), DisplayName ("Read Transfer Count"), Units ("bytes")

Menge der gelesenen Daten.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

SessionId

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API-Prozessstatus | SYSTEM PROCESS INFORMATION | _ _ | SessionId"), DisplayName ("Sitzungs-ID")

Eindeutiger Bezeichner, den ein Betriebssystem generiert, wenn eine Sitzung erstellt wird. Eine Sitzung umfasst einen Zeitraum von der Anmeldung bis zur Abmelde von einem bestimmten System.

Status

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: MaxLen (10), DisplayName ("Status")

Diese Eigenschaft ist nicht implementiert und wird für keine Instanz dieser Klasse aufgefüllt. Es ist immer NULL.

Diese Eigenschaft wird von CIM _ ManagedSystemElement geerbt.

Folgende Werte sind gültig:

OK ("OK")

Fehler ("Fehler")

Heruntergestuft ("Heruntergestuft")

Unbekannt ("Unbekannt")

Pred Fail ("Pred Fail")

Wird gestartet ("Wird gestartet")

Wird beendet ("Wird beendet")

Dienst ("Dienst")

Striche ("Strich")

NonRecover ("NonRecover")

Kein Kontakt ("Kein Kontakt")

Lost Comm ("Lost Comm")

TerminationDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Beendigungsdatum")

Der Prozess wurde beendet oder beendet. Um die Beendigungszeit zu erhalten, muss ein Handle für den Prozess geöffnet gehalten werden. Andernfalls gibt diese Eigenschaft NULL zurück.

Diese Eigenschaft wird von CIM Process _ geerbt.

ThreadCount

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API | Process Status SYSTEM PROCESS INFORMATION | _ _ | NumberOfThreads"), DisplayName ("Thread Count")

Anzahl der aktiven Threads in einem Prozess. Eine Anweisung ist die grundlegende Ausführungseinheit in einem Prozessor, und ein Thread ist das Objekt, das eine Anweisung ausricht. Jeder ausgeführte Prozess verfügt über mindestens einen Thread.

UserModeTime

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: Außerkraftsetzung ("UserModeTime"), Einheiten ("100 Nanosekunden")

Zeit im Benutzermodus in Einheiten von 100 Nanosekunden. Wenn diese Informationen nicht verfügbar sind, verwenden Sie den Wert 0 (null).

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

VirtualSize

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | Status SYSTEM PROCESS INFORMATION | _ _ | VirtualSize"), DisplayName ("Virtual Address Space Usage"), Units ("bytes")

Aktuelle Größe des virtuellen Adressraums, den ein Prozess verwendet, nicht der physische oder virtuelle Arbeitsspeicher, der tatsächlich vom Prozess verwendet wird. Die Verwendung des virtuellen Adressraums impliziert nicht unbedingt die entsprechende Verwendung von Datenträger- oder Hauptspeicherseiten. Der virtuelle Raum ist endlich, und wenn zu viel verwendet wird, ist der Prozess möglicherweise nicht in der Lage, Bibliotheken zu laden. Dieser Wert ist konsistent mit dem, was Sie in der Perfmon.exe.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

WindowsVersion

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API | Process and Thread Functions | GetProcessVersion"), DisplayName ("Windows Version")

Version von Windows, in der der Prozess ausgeführt wird.

Beispiel: 4.0

WorkingSetSize

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Working Set Size"), Units ("bytes")

Menge an Arbeitsspeicher in Bytes, die ein Prozess effizient ausführen muss – für ein Betriebssystem, das seitenbasierte Speicherverwaltung verwendet. Wenn das System nicht über genügend Arbeitsspeicher (kleiner als die Arbeitssatzgröße) verfügt, tritt ein Überschlag auf. Wenn die Größe des Arbeitssets nicht bekannt ist, verwenden Sie NULL oder 0 (null). Wenn Arbeitssatzdaten bereitgestellt werden, können Sie die Informationen überwachen, um die sich ändernden Arbeitsspeicheranforderungen eines Prozesses zu verstehen.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

Diese Eigenschaft wird von CIM Process _ geerbt.

WriteOperationCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | WriteOperationCount"), DisplayName ("Write Operation Count")

Anzahl der ausgeführten Schreibvorgänge.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

WriteTransferCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API Process | and Thread Structures SYSTEM PROCESS INFORMATION | _ _ | WriteTransferCount"), DisplayName ("Write Transfer Count"), Units ("bytes")

Menge der geschriebenen Daten.

Weitere Informationen zur Verwendung von uint64-Werten in Skripts finden Sie unter Skripterstellung in WMI.

Bemerkungen

Die Win32 _ Process-Klasse wird von CIM Process _ abgeleitet. Der aufrufende Prozess, der diese Klasse verwendet, muss auf dem Computer, auf dem sich die Registrierung befindet, über SE _ RESTORE _ NAME-Berechtigung verfügen. Weitere Informationen finden Sie unter Ausführen von privilegierten Vorgängen.

Übersicht

Prozesse unterliegen fast allem, was auf einem Computer geschieht. Tatsächlich kann die Grundursache der meisten Computerprobleme auf Prozesse zurückverfolgt werden. Beispielsweise können zu viele Prozesse auf einem Computer ausgeführt werden (und um eine begrenzte Menge von Ressourcen zu konkurrieren), oder ein einzelner Prozess verwendet möglicherweise mehr als den Ressourcenanteil. Diese Faktoren machen es wichtig, die prozesse, die auf einem Computer ausgeführt werden, genau zu beobachten. Mit der Prozessüberwachung, der Hauptaktivität in der Prozessverwaltung, können Sie bestimmen, was ein Computer tatsächlich tut, welche Anwendungen auf dem Computer ausgeführt werden und wie diese Anwendungen von Änderungen in der Computerumgebung betroffen sind.

Überwachen eines Prozesses

Durch regelmäßiges Überwachen von Prozessen können Sie sicherstellen, dass ein Computer mit der höchsten Effizienz ausgeführt wird und die ihm zu erwartenden Aufgaben ausgeführt werden. Durch die Überwachung von Prozessen können Sie beispielsweise sofort über jede Anwendung benachrichtigt werden, die nicht mehr reagiert hat, und dann Maßnahmen ergreifen, um diesen Prozess zu beenden. Darüber hinaus können Sie mit der Prozessüberwachung Probleme identifizieren, bevor sie auftreten. Wenn Sie beispielsweise wiederholt überprüfen, wie viel Arbeitsspeicher von einem Prozess verwendet wird, können Sie einen Arbeitsspeicherverlust identifizieren. Anschließend können Sie den Prozess beenden, bevor die Anwendung den verfügbaren Arbeitsspeicher nutzt und den Computer zum Anhalten bringt.

Die Prozessüberwachung trägt auch dazu bei, die Unterbrechungen zu minimieren, die durch geplante Ausfälle von Upgrades und Wartungen verursacht werden. Wenn Sie beispielsweise den Status einer Datenbankanwendung überprüfen, die auf Clientcomputern ausgeführt wird, können Sie die Auswirkungen ermitteln, die sich aus dem Offlinebetrieb der Datenbank für das Upgrade der Software machen.

Überwachen der Prozessverfügbarkeit. Misst den Prozentsatz der Zeit, in der ein Prozess verfügbar ist. Die Verfügbarkeit wird in der Regel mithilfe eines einfachen Tests überwacht, der meldet, ob der Prozess noch ausgeführt wird. Indem Sie die Ergebnisse der einzelnen Tests nachverfolgen, können Sie die Verfügbarkeit des Prozesses berechnen. Beispielsweise ist ein Prozess, der 100-mal untersucht wird und bei 95 dieser Male antwortet, eine Verfügbarkeit von 95 Prozent. Diese Art der Überwachung ist in der Regel für Datenbanken, E-Mail-Programme und andere Anwendungen reserviert, die jederzeit ausgeführt werden sollen. Sie ist nicht für Programme zur Textverarbeitung, Tabellenkalkulationen oder andere Anwendungen geeignet, die routinemäßig mehrmals täglich gestartet und beendet werden.

Sie können eine Instanz der Win32 _ ProcessStartup-Klasse erstellen, um den Prozess zu konfigurieren.

Sie können die Prozessleistung mit der Win32 _ PerfFormattedData _ PerfProc _ Process-Klasse und einem WMI-Aktualisierungsobjekt wie SWbemRefresher überwachen. Weitere Informationen finden Sie unter Überwachen von Leistungsdaten.

Beispiele

Das PowerShell-Codebeispiel List the Properties of WMI Classes (Eigenschaften von WMI-Klassen auflisten) im TechNet-Katalog beschreibt die Win32 _ Process-Klasse und gibt die Ergebnisse im Excel aus.

Der Beendigungsvorgang auf mehreren Servern beendet einen Prozess, der auf einem einzelnen oder mehreren Computern ausgeführt wird.

Im Thema Beispiel: Aufrufen einer Anbietermethode verwendet der Code C++ zum Aufrufen von Win32 _ Process, um einen Prozess zu erstellen.

Verfügbarkeit ist die einfachste Form der Prozessüberwachung: Bei diesem Ansatz stellen Sie einfach sicher, dass der Prozess ausgeführt wird. Wenn Sie die Prozessverfügbarkeit überwachen, rufen Sie in der Regel eine Liste von Prozessen ab, die auf einem Computer ausgeführt werden, und überprüfen dann, ob ein bestimmter Prozess noch aktiv ist. Wenn der Prozess aktiv ist, gilt er als verfügbar. Wenn der Prozess nicht aktiv ist, ist er nicht verfügbar. Im folgenden VBScript-Beispiel wird die Prozessverfügbarkeit überwacht, indem die Liste der auf einem Computer ausgeführten Prozesse überprüft und eine Benachrichtigung ausgegeben wird, wenn der Database.exe Prozess nicht gefunden wird.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
 Wscript.Echo "Database.exe is not running."
Else
 Wscript.Echo "Database.exe is running."
End If

Im folgenden VBScript-Beispiel wird die Prozesserstellung mit einem temporären Ereignisverbraucher überwacht.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
                                                     & "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
 Set objLatestProcess = colMonitoredProcesses.NextEvent
 Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop

Der folgende VBScript-Code überwacht Informationen zur Prozessleistung.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
 Wscript.Echo "Process: " & objProcess.Name
 Wscript.Echo "Process ID: " & objProcess.ProcessID
 Wscript.Echo "Thread Count: " & objProcess.ThreadCount
 Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
 Wscript.Echo "Page Faults: " & objProcess.PageFaults
 Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next

Das folgende VBScript-Codebeispiel zeigt, wie Sie den Besitzer jedes Prozesses auf einem lokalen Computer abrufen. Sie können dieses Skript verwenden, um Daten von einem Remotecomputer abzurufen, z. B. um zu bestimmen, welche Benutzer Über Prozesse verfügen, die den Terminalserver ausführen. Ersetzen Sie in der ersten Zeile den Namen des Remotecomputers durch ".". Sie müssen auch Administrator auf dem Remotecomputer sein.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses

  If objProcess.GetOwner ( User, Domain ) = 0 Then
    Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
  Else
    Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
  End If
Next

Das folgende VBScript-Codebeispiel zeigt, wie Sie die Anmeldesitzung abrufen, die einem ausgeführten Prozess zugeordnet ist. Ein Prozess muss Notepad.exe ausgeführt werden, bevor das Skript gestartet wird. Im Beispiel werden die Instanzen von Win32 _ LogonSession gesucht, die dem Win32-Prozess _ zugeordnet sind, der Notepad.exe darstellt. Win32 _ SessionProcess wird als Zuordnungsklasse angegeben. Weitere Informationen finden Sie unter ASSOCIATORS OF-Anweisung.

On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
  ProcessId = objProcess.ProcessId
  Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
                                               & "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
  If Err <> 0 Then
    WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
    WScript.Quit
  End If
  For Each LogonSession in colLogonSessions
    Wscript.Echo " Logon id is " & LogonSession.LogonId
  Next
Next

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Namespace
Stamm \ CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Weitere Informationen

_CIM-Prozess

Betriebssystemklassen

WMI-Aufgaben: Prozesse