From 8d876708b727c38c137b080ce050038bc4ea38bb Mon Sep 17 00:00:00 2001 From: Tomasz Kostrzewa Date: Sat, 16 Mar 2024 12:58:12 +0100 Subject: [PATCH] new file: functions/Get-Process-Detailed.ps1 --- functions/Get-Process-Detailed.ps1 | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 functions/Get-Process-Detailed.ps1 diff --git a/functions/Get-Process-Detailed.ps1 b/functions/Get-Process-Detailed.ps1 new file mode 100644 index 0000000..ce5617a --- /dev/null +++ b/functions/Get-Process-Detailed.ps1 @@ -0,0 +1,40 @@ +# gitea.RdzeN.net +# +# usage: +# Get-Process-Detailed -ProcessName "notepad" +function Get-Process-Detailed { + param ( + $ProcessName="*" + ) + try { + Write-Host "Process search name: $ProcessName" -ForegroundColor Yellow + $processesCIM = Get-CimInstance -ClassName Win32_Process | Where-Object {$_.ProcessName -match "($ProcessName)"} + $totalMemoryUsed = 0 + } catch { + Write-Host "Error Occured: $($Error[0] | select *)" + } + + foreach ($process in $processesCIM) { + $memoryUsageMB = [math]::Round($process.WorkingSetSize / 1MB, 2) + $memoryUsageGB = [math]::Round($process.WorkingSetSize / 1GB, 2) + + Write-Host "Process ID: $($process.ProcessId)" + Write-Host "Process Name: $($process.Name)" + Write-Host "Path to EXEC: $($process.ExecutablePath)" + Write-Host "Command Line: $($process.CommandLine)" + Write-Host "Run Time: $($process.CreationDate)" + Write-Host "Memory Usage: $memoryUsageMB MB ($memoryUsageGB GB)" + Write-Host "Details: Get-CimInstance -ClassName Win32_Process | Where-Object {`$_`.processid -eq `"$($process.ProcessId)`"} | select *" -ForegroundColor Yellow + Write-Host "----------------------------------------" + + $totalMemoryUsed += $process.WorkingSetSize + } + + $totalPhysicalMemory = (Get-CimInstance -ClassName Win32_ComputerSystem).TotalPhysicalMemory + $totalMemoryUsedMB = [math]::Round($totalMemoryUsed / 1MB, 2) + $totalMemoryUsedGB = [math]::Round($totalMemoryUsed / 1GB, 2) + $totalMemoryUsedPercent = [math]::Round(($totalMemoryUsed / $totalPhysicalMemory) * 100, 2) + + Write-Host "Total Memory Used by listed Processes: $totalMemoryUsedMB MB ($totalMemoryUsedGB GB)" + Write-Host "Total Memory Used Percentage: $totalMemoryUsedPercent%" +} \ No newline at end of file