Win32_Process-Klasse

Die Win32_ProcessWMI-Klasse stellt einen Prozess unter 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 Diskussion 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;
  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;
};

Member

Die Win32_Process-Klasse verfügt über folgende Membertypen:

Methoden

Die Win32_Process-Klasse verfügt über diese Methoden.

Methode BESCHREIBUNG
AttachDebugger Startet den aktuell 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 denen der Prozess ausgeführt wird.
GetOwnerSid Ruft den Sicherheitsbezeichner (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: Zeichenfolge

Zugriffstyp: Schreibgeschützt

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

Kurze Beschreibung eines Objekts – eine einzeilige Zeichenfolge.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

CommandLine

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

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

Falls zutreffend, wird die Befehlszeile zum Starten eines bestimmten Prozesses verwendet.

CreationClassName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: CIM_Key, MaxLen (256), DisplayName ("Klassenname")

Name der Klasse oder Unterklasse, die bei der Erstellung einer instance 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 von CIM_Process geerbt.

CreationDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Qualifizierer: Behoben, DisplayName ("CreationDate")

Datum, an dem der Prozess mit der Ausführung beginnt.

Diese Eigenschaft wird von CIM_Process geerbt.

CSCreationClassName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Weitergegeben ("CIM_OperatingSystem. CSCreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Computersystemklassenname")

Erstellungsklassenname des Bereichscomputersystems.

Diese Eigenschaft wird von CIM_Process geerbt.

CSName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Weitergegeben ("CIM_OperatingSystem. CSName"), CIM_Key, MaxLen (256), DisplayName ("Computersystemname")

Name des Bereichscomputersystems.

Diese Eigenschaft wird von CIM_Process geerbt.

Beschreibung

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Description")

Beschreibung eines Objekts.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

ExecutablePath

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Berechtigungen ("SeDebugPrivilege"), MappingStrings ("Win32API| Toolhilfestrukturen| MODULEENTRY32|szExePath"), DisplayName ("Ausführbarer Pfad")

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 von CIM_Process geerbt.

Unbekannt (0)

Unbekannt

Sonstiges (1)

Sonstiges

Bereit (2)

Wird ausgeführt (3)

Blockiert (4)

Blockiert

Gesperrt ( 5)

Angehalten bereit (6)

Beendet (7)

Beendet (8)

Wachsen (9)

Handle

Datentyp: string

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| Prozessstatus| SYSTEM_PROCESS_INFORMATION| HandleCount"), DisplayName ("Handle Count")

Gesamtanzahl der geöffneten Handles im Besitz des Prozesses. 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 ("Installationsdatum")

Datum der Installation eines Objekts. 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"), Units ("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 ("Maximale Arbeitssatzgröße"), Einheiten ("Kilobyte")

Maximale Arbeitssatzgröße des Prozesses. Der Arbeitssatz eines Prozesses ist der Satz von Speicherseiten, die für den Prozess im physischen RAM sichtbar sind. Diese Seiten sind resident und für eine Anwendung verfügbar, ohne einen Seitenfehler auszulösen.

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 Speicherseiten, 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: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Name")

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

Wenn sie von einer Unterklasse geerbt wird, kann die Eigenschaft als Schlüsseleigenschaft überschrieben werden. Der Name ist in der Anwendung selbst hartcodiert und wird von der Änderung des Dateinamens nicht beeinflusst. Auch wenn Sie z. B. Calc.exe umbenennen, wird der Name Calc.exe weiterhin im Task-Manager und in allen WMI-Skripts angezeigt, die den Prozessnamen abrufen.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

OSCreationClassName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Propagiert ("CIM_OperatingSystem. CreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Betriebssystemklassenname")

Der Name der Erstellungsklasse des Bereichsbetriebssystems.

Diese Eigenschaft wird von CIM_Process geerbt.

OSName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Propagiert ("CIM_OperatingSystem. Name"), CIM_Key, MaxLen (256), DisplayName ("Betriebssystemname")

Name des Bereichsbetriebssystems.

Diese Eigenschaft wird von CIM_Process geerbt.

OtherOperationCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozess- und Threadstrukturen| 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| Prozess- und Threadstrukturen| SYSTEM_PROCESS_INFORMATION| OtherTransferCount"), DisplayName ("Other Transfer Count"), Units ("Bytes")

Datenmenge, die bei Vorgängen übertragen wird, 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| Prozessstatus| SYSTEM_PROCESS_INFORMATION| PageFaultCount"), DisplayName ("Anzahl von Seitenfehlern")

Anzahl der Seitenfehler, die ein Prozess generiert.

Beispiel: 10

PageFileUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| PagefileUsage"), DisplayName ("Seitendateinutzung"), Einheiten ("Kilobytes")

Die Menge des Seitendateispeichers, den ein Prozess derzeit verwendet. Dieser Wert ist mit dem VMSize-Wert in TaskMgr.exe konsistent.

Beispiel: 102435

ParentProcessId

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| InheritedFromUniqueProcessId"), DisplayName ("Übergeordnete Prozess-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 durch ParentProcessId identifizierte Prozess beendet wird, sodass ParentProcessId möglicherweise nicht auf einen ausgeführten Prozess verweist. 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 Prozess, der durch diese Win32_Process dargestellt wird, instance erstellt wurde.

PeakPageFileUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| PeakPagefileUsage"), DisplayName ("Peak Page File Usage"), Units ("Kilobytes")

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

Beispiel: 102367

PeakVirtualSize

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| 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ägern oder Standard Speicherseiten. Der virtuelle Raum ist jedoch endlich, und durch zu viel Verwendung kann der Prozess möglicherweise keine Bibliotheken 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| Prozessstatus| SYSTEM_PROCESS_INFORMATION| PeakWorkingSetSize"), DisplayName ("Peak Working Set Size"), Units ("Kilobytes")

Maximale Arbeitssatzgröße eines Prozesses.

Beispiel: 1413120

Priority

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: Überschreiben ("Priority"), MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| BasePriority"), DisplayName ("Priority")

Terminplanungspriorität eines Prozesses innerhalb eines Betriebssystems. Je höher der Wert ist, desto höher ist die Priorität, die ein Prozess erhält. Prioritätswerte können von 0 (null) reichen, was die niedrigste Priorität ist, bis 31, was die höchste Priorität ist.

Beispiel: 7

PrivatePageCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| PrivatePageCount"), DisplayName ("Private Page Count")

Aktuelle Anzahl der zugeordneten Seiten, die nur für den prozess zugänglich sind, der durch diesen Win32_Process instance 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| Prozess- und Threadstrukturen| PROCESS_INFORMATION|dwProcessId "), DisplayName ("Prozess-ID")

Numerischer Bezeichner, der verwendet wird, um einen Prozess von einem anderen zu unterscheiden. ProcessIDs sind gültig von der Prozesserstellungszeit bis zur Prozessbeendigung. Nach der Beendigung kann derselbe numerische Bezeichner auf einen neuen Prozess angewendet werden.

Dies bedeutet, dass Sie ProcessID nicht allein verwenden können, um einen bestimmten Prozess zu überwachen. Beispielsweise könnte eine Anwendung eine ProcessID von 7 aufweisen und dann einen Fehler ausführen. Wenn ein neuer Prozess gestartet wird, kann dem neuen Prozess ProcessID 7 zugewiesen werden. Ein Skript, das nur auf eine angegebene ProcessID überprüft hat, könnte daher "getäuscht" werden, um zu denken, dass die ursprüngliche Anwendung noch ausgeführt wird.

QuotaNonPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| QuotaNonPagedPoolUsage"), DisplayName ("Nicht ausgelagertes Poolnutzungskontingent")

Kontingentmenge der nicht auslagerten Poolnutzung für einen Prozess.

Beispiel: 15

QuotaPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| QuotaPagedPoolUsage"), DisplayName ("Ausgelagertes Poolnutzungskontingent")

Kontingentmenge der Auslagerungspoolnutzung für einen Prozess.

Beispiel: 22

QuotaPeakNonPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| QuotaPeakNonPagedPoolUsage"), DisplayName ("Peak Non-Paged Pool Usage Quota")

Spitzenkontingentmenge der nicht auslagerten Poolnutzung für einen Prozess.

Beispiel: 31

QuotaPeakPagedPoolUsage

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozessstatus| SYSTEM_PROCESS_INFORMATION| QuotaPeakPagedPoolUsage"), DisplayName ("Peak Paged Pool Usage Quota")

Spitzenkontingentmenge der ausgelagerten Poolnutzung für einen Prozess.

Beispiel: 31

ReadOperationCount

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozess- und Threadstrukturen| 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| Prozess- und Threadstrukturen| SYSTEM_PROCESS_INFORMATION| ReadTransferCount), DisplayName ("Read Transfer Count"), Units ("Bytes")

Gelesene Datenmenge.

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 erstreckt sich über einen bestimmten Zeitraum von der Anmeldung bis zur Abmeldung 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 instance dieser Klasse aufgefüllt. Es ist immer NULL.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

Folgende Werte sind gültig:

OK ("OK")

Fehler ("Fehler")

Degraded ("Degraded")

Unbekannt ("Unbekannt")

Pred Fail ("Pred Fail")

Wird gestartet ("Wird gestartet")

Beenden ("Wird beendet")

Dienst ("Dienst")

Gestresst ("Gestresst")

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 offen 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| Prozessstatus| SYSTEM_PROCESS_INFORMATION| NumberOfThreads"), DisplayName ("Threadanzahl")

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 ausführt. Jeder ausgeführte Prozess verfügt über mindestens einen Thread.

UserModeTime

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

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

Zeit im Benutzermodus in 100 Nanosekundeneinheiten. 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| Prozessstatus| SYSTEM_PROCESS_INFORMATION| VirtualSize"), DisplayName ("Virtual Address Space Usage"), Units ("bytes")

Aktuelle Größe des virtuellen Adressraums, den ein Prozess verwendet, nicht des physischen oder virtuellen Speichers, der vom Prozess tatsächlich verwendet wird. Die Verwendung des virtuellen Adressraums impliziert nicht notwendigerweise die entsprechende Verwendung von Datenträger- oder Standard Speicherseiten. Der virtuelle Raum ist begrenzt, und wenn zu viel verwendet wird, kann der Prozess möglicherweise keine Bibliotheken laden. Dieser Wert entspricht dem, was in Perfmon.exe angezeigt wird.

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

WindowsVersion

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32API| Prozess- und Threadfunktionen| 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 ("Größe des Arbeitssatzes"), Einheiten ("Bytes")

Menge des Arbeitsspeichers in Bytes, den ein Prozess für eine effiziente Ausführung benötigt – für ein Betriebssystem, das die seitenbasierte Speicherverwaltung verwendet. Wenn das System nicht über genügend Arbeitsspeicher verfügt (kleiner als die Arbeitssatzgröße), erfolgt die Prozedur. Wenn die Größe des Arbeitssatzes 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| Prozess- und Threadstrukturen| SYSTEM_PROCESS_INFORMATION| WriteOperationCount"), DisplayName ("Anzahl von Schreibvorgängen")

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| Prozess- und Threadstrukturen| 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 über die SE_RESTORE_NAME Berechtigung auf dem Computer verfügen, auf dem sich die Registrierung befindet. Weitere Informationen finden Sie unter Ausführen von privilegierten Vorgängen.

Übersicht

Prozesse beruhen auf fast allem, was auf einem Computer geschieht. Tatsächlich kann die Ursache 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 kämpfen), oder ein einzelner Prozess verwendet möglicherweise mehr als seinen Ressourcenanteil. Diese Faktoren machen es wichtig, einen engen watch zu den Prozessen zu halten, die auf einem Computer ausgeführt werden. Die Prozessüberwachung, die Standard Aktivität in der Prozessverwaltung, ermöglicht es Ihnen zu bestimmen, was ein Computer tatsächlich tut, welche Anwendungen der Computer ausführt und wie diese Anwendungen von Änderungen in der Computerumgebung betroffen sind.

Überwachen eines Prozesses

Die regelmäßige Überwachung von Prozessen hilft Ihnen sicherzustellen, dass ein Computer mit höchster Effizienz ausgeführt wird und dass er die von ihm festgelegten Aufgaben wie erwartet ausführt. Durch die Überwachung von Prozessen können Sie beispielsweise sofort über jede Anwendung benachrichtigt werden, die nicht mehr reagiert, und dann Schritte ausführen, um diesen Prozess zu beenden. Darüber hinaus können Sie mit der Prozessüberwachung Probleme identifizieren, bevor sie auftreten. Wenn Sie z. B. wiederholt überprüfen, wie viel Arbeitsspeicher von einem Prozess verwendet wird, können Sie einen Speicherverlust identifizieren. Anschließend können Sie den Prozess beenden, bevor die fehlerhafte Anwendung den gesamten verfügbaren Arbeitsspeicher nutzt und den Computer zum Stillstand bringt.

Die Prozessüberwachung trägt auch dazu bei, die Unterbrechungen zu minimieren, die durch geplante Ausfälle bei Upgrades und Wartungen verursacht werden. Wenn Sie z. B. die status einer Datenbankanwendung überprüfen, die auf Clientcomputern ausgeführt wird, können Sie die Auswirkungen des Offline schaltens der Datenbank ermitteln, um die Software zu aktualisieren.

Ü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. Ein Prozess, der 100 Mal untersucht wird und bei 95 dieser Fälle antwortet, verfügt beispielsweise über eine Verfügbarkeit von 95 Prozent. Diese Art der Überwachung ist in der Regel für Datenbanken, E-Mail-Programme und andere Anwendungen reserviert, von denen erwartet wird, dass sie jederzeit ausgeführt werden. Es ist nicht geeignet für Textverarbeitungsprogramme, Tabellenkalkulationen oder andere Anwendungen, die routinemäßig mehrmals täglich gestartet und beendet werden.

Sie können eine instance 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 Auflisten der Eigenschaften von WMI-Klassen im TechNet-Katalog beschreibt die Win32_Process-Klasse und gibt die Ergebnisse im Excel-Format aus.

Der Prozess "Ausführen auf mehreren Servern beenden" beendet einen Prozess, der auf einem einzelnen oder mehreren Computern ausgeführt wird.

Im Thema Beispiel: Aufrufen einer Anbietermethode verwendet der Code C++, um Win32_Process aufzurufen, um einen Prozess zu erstellen.

Verfügbarkeit ist die einfachste Form der Prozessüberwachung: Mit 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 der Prozesse 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 mithilfe eines temporären Ereignis-Consumers ü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

Die folgende VBScript-Datei überwacht Die Prozessleistungsinformationen.

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 Der Besitzer der einzelnen Prozesse auf einem lokalen Computer abgerufen wird. Sie können dieses Skript verwenden, um Daten von einem Remotecomputer abzurufen, z. B. um zu ermitteln, welche Benutzer über Prozesse verfügen, die 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. Das Beispiel sucht die Instanzen von Win32_LogonSession , die dem Win32_Process zugeordnet sind, das Notepad.exe darstellt. Win32_SessionProcess wird als Zuordnungsklasse angegeben. Weitere Informationen finden Sie unter ASSOCIATORS OF Statement..

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

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_Process

Betriebssystemklassen

WMI-Aufgaben: Prozesse