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