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 |
|
| DLL |
|