Win32_Process 類別
Win32_Process WMI 類別 代表作業系統上的進程。
下列語法已經過受管理物件格式 (MOF) 程式碼簡化,並包含所有已繼承的屬性。
注意
如需有關 Windows 內進程和執行緒的一般討論,請參閱<進程和執行緒 >主題 。
語法
[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;
};
成員
Win32_Process 類別具有下列類型的成員:
方法
Win32_Process 類別具有這些方法。
方法 | 描述 |
---|---|
AttachDebugger | 啟動進程目前已註冊的偵錯工具。 |
建立 | 建立新的程式。 |
GetAvailableVirtualSize | 擷取進程可用可用虛擬位址空間的目前大小,以位元組為單位。 Windows Server 2012、Windows 8、Windows 7、Windows Server 2008 和 Windows Vista: Windows 8.1 和 Windows Server 2012 R2 之前不支援此方法。 |
GetOwner | 擷取進程執行所在的使用者名稱和功能變數名稱。 |
GetOwnerSid | 擷取進程擁有者的安全性識別碼 (SID)。 |
SetPriority | 變更進程的執行優先順序。 |
終止 | 終止進程及其所有線程。 |
屬性
Win32_Process 類別具有這些屬性。
-
標題
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MaxLen (64), DisplayName (「Caption」)
物件的簡短描述-一行字串。
此屬性繼承自 CIM_ManagedSystemElement 。
-
-
CommandLine
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: DisplayName (「要啟動程式的命令列」)
如果適用,用來啟動特定進程的命令列。
-
-
CreationClassName
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: CIM_Key 、 MaxLen (256)、 DisplayName (「類別名稱」)
建立實例時所使用的類別或子類別名稱。 搭配 類別的其他索引鍵屬性使用時,這個屬性允許唯一識別類別及其子類別的所有實例。
此屬性繼承自 CIM_Process 。
-
-
CreationDate
-
-
資料類型: datetime
-
存取類型:唯讀
-
限定詞: Fixed 、 DisplayName (「CreationDate」)
進程開始執行的日期。
此屬性繼承自 CIM_Process 。
-
-
CSCreationClassName
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: 傳播 (「 CIM_OperatingSystem. CSCreationClassName「), CIM_Key,MaxLen (256), DisplayName (」電腦系統類別名稱「)
建立範圍電腦系統的類別名稱。
此屬性繼承自 CIM_Process 。
-
-
CSName
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: 傳播 (「 CIM_OperatingSystem. CSName )、 CIM_Key 、 MaxLen (256)、 DisplayName (「電腦系統名稱」)
範圍電腦系統的名稱。
此屬性繼承自 CIM_Process 。
-
-
說明
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: DisplayName (「Description」)
物件的描述。
此屬性繼承自 CIM_ManagedSystemElement 。
-
-
ExecutablePath
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: Privileges (「SeDebugPrivilege」), MappingStrings (「Win32API|工具說明結構| MODULEENTRY32 |szExePath「), DisplayName (」可執行檔路徑「)
進程可執行檔的路徑。
範例:「C:\Windows\System\Explorer.Exe」
-
-
ExecutionState
-
-
資料類型: uint16
-
存取類型:唯讀
-
限定詞: DisplayName (「執行狀態」)
進程的目前作業條件。
此屬性繼承自 CIM_Process 。
-
-
未知 (0)
-
未知
-
其他 (1)
-
其他
-
就緒 (2)
-
執行 中 (3)
-
封鎖 (4)
-
已封鎖
-
暫停封鎖 (5)
-
暫停準備 (6)
-
終止 (7)
-
已停止 (8)
-
成長 (9)
Handle
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: Key 、 MaxLen (256)、 DisplayName (「Handle」)
進程識別碼。
此屬性繼承自 CIM_Process 。
HandleCount
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|HandleCount), DisplayName (「Handle Count」)
進程所擁有的開啟控制碼總數。 HandleCount 是此進程中每個執行緒目前開啟的控制碼總和。 控制碼可用來檢查或修改系統資源。 每個控制碼在內部維護的資料表中都有一個專案。 專案包含用來識別資源類型的資源和資料的位址。
InstallDate
-
資料類型: datetime
-
存取類型:唯讀
-
限定詞: MappingStrings (「MIF.DMTF|ComponentID|001.5「), DisplayName (」安裝日期「)
安裝物件的日期。 物件可以安裝,而不需寫入這個屬性的值。
此屬性繼承自 CIM_ManagedSystemElement 。
KernelModeTime
核心模式中的時間,以毫秒為單位。 如果無法使用這項資訊,請使用值為 0 (零)。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
MaximumWorkingSetSize
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: Privileges (「SeDebugPrivilege」), MappingStrings (「Win32|WINNT。H|QUOTA_LIMITS|MaximumWorkingSetSize)、 DisplayName (「工作集大小上限)、 單位 (」KB「)
進程的工作集大小上限。 進程的工作集是實體 RAM 中進程可見的記憶體頁面集。 這些頁面是常駐頁面,可供應用程式使用,而不會觸發分頁錯誤。
範例:1413120
MinimumWorkingSetSize
-
數據類型: uint32
-
存取類型:唯讀
-
限定符:Privileges (“SeDebugPrivilege”),MappingStrings (“Win32|WINNT。H|QUOTA_LIMITS|MinimumWorkingSetSize)、DisplayName (“最小工作集大小)、單位(”KB“)
進程的工作集大小下限。 進程的工作集是實體 RAM 中進程可見的記憶體頁面集。 這些頁面是常駐頁面,可供應用程式使用,而不會觸發頁面錯誤。
範例:20480
名稱
-
數據類型: 字串
-
存取類型:唯讀
-
限定符: DisplayName (“Name”)
負責進程的可執行檔名稱,相當於Task Manager中的Image Name屬性。
當子類別繼承時,屬性可以覆寫為索引鍵屬性。 名稱會硬式編碼到應用程式本身,而且不會受到變更檔名的影響。 例如,即使您重新命名 Calc.exe,名稱 Calc.exe 仍會顯示在 Task Manager 和擷取進程名稱的任何 WMI 腳本中。
此屬性繼承自 CIM_ManagedSystemElement。
OSCreationClassName
-
數據類型: 字串
-
存取類型:唯讀
-
限定符:傳播 (“CIM_OperatingSystem.CreationClassName)、CIM_Key、MaxLen (256)、DisplayName (“操作系統類別名稱”)
建立範圍操作系統的類別名稱。
此屬性繼承自 CIM_Process。
OSName
-
數據類型: 字串
-
存取類型:唯讀
-
限定符:傳播 (“CIM_OperatingSystem.Name),CIM_Key,MaxLen (256),DisplayName (“操作系統名稱”)
範圍操作系統的名稱。
此屬性繼承自 CIM_Process。
OtherOperationCount
-
數據類型: uint64
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程和線程結構|SYSTEM_PROCESS_INFORMATION|OtherOperationCount“), DisplayName (”Other Operation Count“)
未讀取或寫入作業執行的 I/O 作業數目。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
OtherTransferCount
-
數據類型: uint64
-
存取類型:唯讀
-
限定符:MappingStrings (“Win32API|進程和線程結構|SYSTEM_PROCESS_INFORMATION|OtherTransferCount)、DisplayName (“其他傳輸計數)、單位(”bytes“)
在未讀取或寫入作業的作業期間傳輸的數據量。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
PageFaults
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PageFaultCount“、” DisplayName (“Page Faults 的數目”)
進程產生的頁面錯誤數目。
範例:10
PageFileUsage
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PagefileUsage)、 DisplayName (“Page File Usage”), Units (“kbtes”)
進程目前使用的頁面檔案空間量。 此值與 TaskMgr.exe 中的 VMSize 值一致。
範例:102435
ParentProcessId
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|InheritedFromUniqueProcessId)、 DisplayName (“父進程標識符”)
建立進程之進程的唯一標識符。 進程標識碼號碼會重複使用,因此只會識別該程式存留期的進程。 ParentProcessId 所識別的進程可能會終止,因此 ParentProcessId 可能不會參考執行中的進程。 ParentProcessId 也可能不正確地參考重複使用進程標識碼的進程。 您可以使用 CreationDate 屬性來判斷指定的父系是否在建立這個 Win32_Process 實例所代表的進程之後建立。
PeakPageFileUsage
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PeakPagefileUsage)、 DisplayName (“Peak Page File Usage”), Units (“kbtes”)
進程存留期間所使用的頁面檔空間數量上限。
範例:102367
PeakVirtualSize
-
數據類型: uint64
-
存取類型:唯讀
-
限定符:MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PeakVirtualSize)、DisplayName(“Peak Virual 位址空間使用量”),單位(“bytes”)
進程一次使用的最大虛擬位址空間。 使用虛擬位址空間不一定意味著對磁碟或主要記憶體頁面的對應使用。 不過,虛擬空間是有限的,而且使用太多程式可能無法載入連結庫。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
PeakWorkingSetSize
-
數據類型: uint32
-
存取類型:唯讀
-
限定符:MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PeakWorkingSetSize)、DisplayName(“尖峰工作集大小”),單位(“KB”)
進程的尖峰工作集大小。
範例:1413120
優先順序
-
數據類型: uint32
-
存取類型:唯讀
-
限定符:覆寫 (“Priority”),MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|BasePriority)、DisplayName (“Priority”)
在作業系統內排程進程的優先順序。 值越高,進程接收的優先順序越高。 優先順序值的範圍可以從 0 (零),這是最低優先順序為 31,這是最高優先順序。
範例 7:
PrivatePageCount
-
數據類型: uint64
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|PrivatePageCount“), DisplayName (”Private Page Count“)
目前配置的頁面數目,只能供這個 Win32_Process 實例所表示的進程存取。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
ProcessId
-
數據類型: uint32
-
存取類型:唯讀
-
限定符:MappingStrings (“Win32API|進程和線程結構|PROCESS_INFORMATION|dwProcessId )、DisplayName (“Process Id”)
用來區分一個進程與另一個進程的數值標識碼。 Process識別碼從進程建立時間到處理終止都是有效的。 終止時,相同的數值標識碼可以套用至新的進程。
這表示您無法單獨使用 ProcessID 來監視特定進程。 例如,應用程式可能會有 7 個 ProcessID,然後失敗。 啟動新進程時,新進程可以指派 ProcessID 7。 因此,只檢查指定 ProcessID 的腳本可能會「被愚弄」,以為原始應用程式仍在執行中。
QuotaNonPagedPoolUsage
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|QuotaNonPagedPoolUsage)、 DisplayName (“非分頁集區使用量配額”)
進程的非分頁集區使用量配額數量。
範例:15
QuotaPagedPoolUsage
-
數據類型: uint32
-
存取類型:唯讀
-
限定符: MappingStrings (“Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|QuotaPagedPoolUsage)、 DisplayName (“分頁集區使用量配額”)
進程的分頁集區使用量配額數量。
範例:22
QuotaPeakNonPagedPoolUsage
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|QuotaPeakNonPagedPoolUsage)、 DisplayName (「尖峰非分頁集區使用量配額」)
進程的非分頁集區使用量尖峰配額數量。
範例:31
QuotaPeakPagedPoolUsage
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|QuotaPeakPagedPoolUsage)、 DisplayName (「Peak Paged Pool Usage Quota」)
進程的分頁集區使用量尖峰配額數量。
範例:31
ReadOperationCount
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程和執行緒結構|SYSTEM_PROCESS_INFORMATION|ReadOperationCount「), DisplayName (」讀取作業計數「)
執行的讀取作業數目。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
ReadTransferCount
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程和執行緒結構|SYSTEM_PROCESS_INFORMATION|ReadTransferCount)、 DisplayName (「讀取傳輸計數」), 單位 (「bytes」)
讀取的資料量。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
SessionId
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|SessionId)、 DisplayName (「會話識別碼」)
作業系統在建立會話時所產生的唯一識別碼。 會話跨越從登入到從特定系統登出的一段時間。
狀態
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MaxLen (10), DisplayName (「Status」)
這個屬性未實作,而且不會針對這個類別的任何實例填入。 一律 為 Null 。
此屬性繼承自 CIM_ManagedSystemElement 。
包括下列值:
確定 (「OK」)
錯誤 (「錯誤」)
已降級 (「已降級」)
未知 (「未知」)
Pred Fail (「Pred Fail」)
啟動 (「開始」)
停止 (「停止」)
服務 (「Service」)
壓力(「壓力」)
NonRecover (「NonRecover」)
無連絡人 (「無連絡人」)
Lost Comm (「Lost Comm」)
TerminationDate
-
資料類型: datetime
-
存取類型:唯讀
-
限定詞: DisplayName (「終止日期」)
進程已停止或終止。 若要取得終止時間,必須開啟進程的控制碼。 否則,這個屬性會傳 回 Null 。
此屬性繼承自 CIM_Process 。
ThreadCount
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|NumberOfThreads)、 DisplayName (「執行緒計數」)
進程中的作用中線程數目。 指令是處理器中執行的基本單位,而執行緒是執行指令的物件。 每個執行中的進程至少有一個執行緒。
UserModeTime
以 100 奈秒為單位的使用者模式時間。 如果無法使用這項資訊,請使用值為 0 (零)。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
VirtualSize
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程狀態|SYSTEM_PROCESS_INFORMATION|VirtualSize)、 DisplayName (「虛擬位址空間使用量」), 單位 (「bytes」)
進程正在使用的虛擬位址空間目前大小,而不是進程實際使用的實體或虛擬記憶體。 使用虛擬位址空間不一定意味著對磁片或主要記憶體頁面的對應使用。 虛擬空間是有限的,而且使用太多,程式可能無法載入程式庫。 此值與您在 Perfmon.exe 中看到的內容一致。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
WindowsVersion
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程和執行緒函式|GetProcessVersion)、 DisplayName (「Windows 版本」)
進程執行所在的 Windows 版本。
範例:4.0
WorkingSetSize
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: DisplayName (「工作集大小」), 單位 (「bytes」)
進程需要有效率地執行的記憶體數量,適用于使用頁面式記憶體管理的作業系統。 如果系統沒有足夠的記憶體(小於工作集大小),就會發生擲碎。 如果不知道工作集的大小,請使用 Null 或 0 (零)。 如果提供工作集資料,您可以監視資訊,以瞭解進程變更的記憶體需求。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
此屬性繼承自 CIM_Process 。
WriteOperationCount
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程和執行緒結構|SYSTEM_PROCESS_INFORMATION|WriteOperationCount「、」 DisplayName (「Write Operation Count」)
執行的寫入作業數目。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
WriteTransferCount
-
資料類型: uint64
-
存取類型:唯讀
-
限定詞: MappingStrings (「Win32API|進程和執行緒結構|SYSTEM_PROCESS_INFORMATION|WriteTransferCount)、 DisplayName (「寫入傳輸計數」), 單位 (「bytes」)
寫入的資料量。
如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本。
備註
Win32_Process 類別衍生自 CIM_Process 。 使用這個類別的呼叫進程必須具有 登錄所在電腦上的SE_RESTORE_NAME 許可權。 如需詳細資訊,請參閱 執行特殊許可權作業 。
概觀
程式幾乎會讓電腦上發生的一切運作都不足。 事實上,大部分電腦問題的根本原因都可以追蹤到進程;例如,太多進程可能會在電腦上執行(並爭用一組有限的資源),或單一進程可能會使用超過其資源分享。 這些因素使得請務必密切關注電腦上執行的進程。 進程監視是進程管理的主要活動,可讓您判斷電腦實際執行什麼、電腦執行的應用程式,以及這些應用程式受到計算環境中變更的影響。
監視進程
定期監視程式可協助您確保計算機以尖峰效率執行,並如預期般執行其指定工作。 例如,藉由監視進程,您可以立即收到已停止回應的任何應用程式通知,然後採取步驟結束該程式。 此外,行程監視可讓您在問題發生之前找出問題。 例如,藉由重複檢查進程所使用的記憶體數量,您可以識別記憶體流失。 接著,您可以停止進程,再讓應用程式使用所有可用的記憶體,並讓計算機停止。
程式監視也有助於將計劃性中斷所造成的中斷降到最低,以進行升級和維護。 例如,藉由檢查用戶端計算機上執行的資料庫應用程式狀態,您可以判斷讓資料庫離線以升級軟體的影響。
監視程式可用性。 測量進程可用的時間百分比。 可用性通常是使用簡單的探查來監視,其會報告進程是否仍在執行中。 藉由追蹤每個探查的結果,您可以計算程式的可用性。 例如,已探查 100 次的進程,並在其中 95 次回應,其可用性為 95%。 這種類型的監視通常會保留給預期隨時執行的資料庫、郵件程式和其他應用程式。 它不適用於一天中經常啟動和停止數次的文字處理程式、電子表格或其他應用程式。
您可以建立Win32_ProcessStartup類別的實例來設定進程。
您可以使用 Win32_PerfFormattedData_PerfProc_Process 類別和 WMI 重新整理器對象來監視進程效能,例如 SWbemRefresher。 如需詳細資訊,請參閱 監視效能數據。
範例
在範例 :呼叫 Provider 方法 主題中,程式代碼會使用 C++ 呼叫 Win32_Process 來建立進程。
可用性是程序監視的最簡單形式:使用此方法,您只需確定進程正在執行。 當您監視進程可用性時,通常會擷取計算機上執行的進程清單,然後確認特定進程仍在作用中。 如果進程為使用中,則會將其視為可用。 如果進程不是使用中,則無法使用。 下列 VBScript 範例會檢查計算機上執行的進程清單,並在找不到Database.exe進程時發出通知,藉此監視進程可用性。
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
下列 VBScript 範例會使用暫存事件取用者來監視程式建立。
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
下列 VBScript 會監視處理效能資訊。
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
下列 VBScript 程式代碼範例示範如何在本機計算機上取得每個進程的擁有者。 您可以使用此文稿從遠端電腦取得數據,例如,若要判斷哪些使用者有執行終端伺服器的進程,請將遠端電腦的名稱取代為第一行中的 “.”。 您也必須是遠端電腦上的系統管理員。
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
下列 VBScript 程式代碼範例示範如何取得與執行中進程相關聯的登入會話。 在腳本啟動之前,進程必須執行 記事本.exe。 此範例會找出與代表 記事本.exe 之Win32_Process相關聯的Win32_LogonSession實例。 Win32_SessionProcess指定為關聯類別。 如需詳細資訊,請參閱 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
需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
另請參閱