<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Advanced on Notities</title><link>https://d8224bcf.backup-website.pages.dev/en/tags/advanced/</link><description>Recent content in Advanced on Notities</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 20 Jul 2026 22:38:58 +0200</lastBuildDate><atom:link href="https://d8224bcf.backup-website.pages.dev/en/tags/advanced/index.xml" rel="self" type="application/rss+xml"/><item><title>PowerShell computer resource monitor script with cpu percentage and advanced memory information</title><link>https://d8224bcf.backup-website.pages.dev/en/blog/2024-powershell-computer-resource-monitor-script-with-cpu-percentage-and-advanced-memory-information/</link><pubDate>Thu, 04 Jan 2024 22:21:38 +0000</pubDate><guid>https://d8224bcf.backup-website.pages.dev/en/blog/2024-powershell-computer-resource-monitor-script-with-cpu-percentage-and-advanced-memory-information/</guid><description>&lt;p&gt;PowerShell computer resource monitor script with cpu percentage and advanced memory information&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PowerShell

Resource monitor 


 $app=&amp;#34;notepad&amp;#34;
 $ids = Get-Process $app | Select-Object -Property Id | ForEach-Object {$_.Id}

 $filedate = Get-Date -format &amp;#34;yyyy-MM-dd&amp;#34;

 #echo $pids

 foreach ($id in $ids) {
 
 $date = Get-Date -format &amp;#34;yyyy-MM-dd HH:mm:ss&amp;#34;

 # process CPU information

 $ProcessId = $id
 $Process = Get-WmiObject -Query &amp;#34;SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE IDProcess = $ProcessId&amp;#34;
 $usage = $Process.PercentProcessorTime
 
 
 # process Mem information

 $TotalMemory = (Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB

 $ProcessMem = Get-CIMInstance Win32_Process -Filter &amp;#34;ProcessId = &amp;#39;$id&amp;#39;&amp;#34;
 $MemSizeInKB = $ProcessMem.WS/1KB
 $PeakWorkingSetInKB = $Process.PeakWorkingSet/1KB
 $PageCountInKB = $ProcessMem.PrivatePageCount/1KB
 $NonPagedPoolInKB = $ProcessMem.QuotaNonPagedPoolUsage/1KB
 $PagedPoolInKB = $ProcessMem.QuotaPagedPoolUsage/1KB
 
 $TotalMemory = &amp;#34;{0:n3}&amp;#34; -f $TotalMemory
 $MemSizeInKB = &amp;#34;{0:n3}&amp;#34; -f $MemSizeInKB
 $PeakWorkingSetInKB = &amp;#34;{0:n3}&amp;#34; -f $PeakWorkingSetInKB
 $PageCountInKB = &amp;#34;{0:n3}&amp;#34; -f $PageCountInKB
 $NonPagedPoolInKB = &amp;#34;{0:n3}&amp;#34; -f $NonPagedPoolInKB
 $PagedPoolInKB = &amp;#34;{0:n3}&amp;#34; -f $PagedPoolInKB
 
 #write-host &amp;#34;$TotalMemory&amp;#34;
 #write-host &amp;#34;$MemSizeInKB&amp;#34;
 #write-host &amp;#34;$PeakWorkingSetInKB&amp;#34;
 #write-host &amp;#34;$PageCountInKB&amp;#34;
 #write-host &amp;#34;$NonPagedPoolInKB&amp;#34;
 #write-host &amp;#34;$PagedPoolInKB&amp;#34;
 
 # commandline information
 $commandline = (Get-CimInstance Win32_Process -Filter &amp;#34;ProcessId=$id&amp;#34;).CommandLine
 
 $FileName = $filedate+&amp;#34;_memory_usage.txt&amp;#34;
 $FullPath = Join-Path -Path &amp;#34;C:\Users\mvdbo\OneDrive\Documenten\PowerShell&amp;#34; -ChildPath $FileName

 $regel = &amp;#34;$date - pid: $id - cpu: $usage % - mem: $MemSizeInKB KB - pws: $PeakWorkingSetInKB KB - pc: $PageCountInKB KB - pp: $PagedPoolInKB KB - command: $commandline&amp;#34;
 $regel | Out-File -FilePath $FullPath -Encoding utf8 -Append
 
 }

 # Sources
 # https://learn.microsoft.com/en-us/windows/win32/psapi/process-memory-usage-information
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>