40 lines
1.8 KiB
PowerShell
40 lines
1.8 KiB
PowerShell
# 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%"
|
|
} |