ローカルPCまたはリモートPCの実行中のプロセスを取得するには、Get-Processを使います。
構文
Get-Process -Name [プロセス名]
Get-Process -Id [プロセスID]
まず、単純にローカルPCの実行中のプロセス一覧を表示させるには下記のようにします。
PS C:\> Get-Process
結果はこのようになります。
次に名前を指定してプロセス一覧を表示させます。
たとえば、exで始まるプロセス一覧を表示させるには以下のようにします。
PS C:\> Get-Process -Name ex*
結果はこのようになります。
次にプロセスIDを指定して表示させます。
上で表示させたExcelのIDを指定してみたいと思います。
PS C:\> Get-Process -Id 10048
結果はこのようになります。
次に実行ファイルのバージョンを表示させるには下記のようにします。
PS C:\> Get-Process -Name excel -FileVersionInfo
結果はこのようになります。
次に、プロセスの詳細情報を表示させるには下記のようにします。
PS C:\> Get-Process -Name excel | Format-List *
結果はこのようになります。
Name : EXCEL
Id : 10048
PriorityClass : Normal
FileVersion : 15.0.4875.1000
HandleCount : 799
WorkingSet : 66961408
PagedMemorySize : 27009024
PrivateMemorySize : 27009024
VirtualMemorySize : 535175168
TotalProcessorTime : 00:00:02.5000000
SI : 15
Handles : 799
VM : 535175168
WS : 66961408
PM : 27009024
NPM : 48592
Path : C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE
Company : Microsoft Corporation
CPU : 2.5
ProductVersion : 15.0.4875.1000
Description : Microsoft Excel
Product : Microsoft Office 2013
__NounName : Process
BasePriority : 8
ExitCode :
HasExited : False
ExitTime :
Handle : 2788
SafeHandle : Microsoft.Win32.SafeHandles.SafeProcessHandle
MachineName : .
MainWindowHandle : 132852
MainWindowTitle : Book1 - Excel
MainModule : System.Diagnostics.ProcessModule (EXCEL.EXE)
MaxWorkingSet : 1413120
MinWorkingSet : 204800
Modules : {System.Diagnostics.ProcessModule (EXCEL.EXE), System.Diagnostics.ProcessModule (ntdll.dll), System.Diagnostics.ProcessModule (wow64.dll), System.Diagnostics.ProcessModule (wow64win.dll)...}
NonpagedSystemMemorySize : 48592
NonpagedSystemMemorySize64 : 48592
PagedMemorySize64 : 27009024
PagedSystemMemorySize : 938696
PagedSystemMemorySize64 : 938696
PeakPagedMemorySize : 115884032
PeakPagedMemorySize64 : 115884032
PeakWorkingSet : 141869056
PeakWorkingSet64 : 141869056
PeakVirtualMemorySize : 684355584
PeakVirtualMemorySize64 : 684355584
PriorityBoostEnabled : True
PrivateMemorySize64 : 27009024
PrivilegedProcessorTime : 00:00:01.0156250
ProcessName : EXCEL
ProcessorAffinity : 255
Responding : True
SessionId : 15
StartInfo : System.Diagnostics.ProcessStartInfo
StartTime : 2016/11/26 17:44:43
SynchronizingObject :
Threads : {6328, 6912, 12548, 9032...}
UserProcessorTime : 00:00:01.4843750
VirtualMemorySize64 : 535175168
EnableRaisingEvents : False
StandardInput :
StandardOutput :
StandardError :
WorkingSet64 : 66961408
Site :
Container :
最後にそのプロセスによりロードされているモジュールを表示させるには下記のようにします。
PS C:\> Get-Process -Name excel -Module
結果はこのようになります。
<関連記事>
【PowerShell】プロセスの停止を待つ
【PowerShell】プロセスをデバッグする
【PowerShell】プロセスを開始する
【PowerShell】実行中のプロセスを停止する
【PowerShell】サービスを開始する