# 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%" }