<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Powershell on Notities</title><link>https://19cc27e0.backup-website.pages.dev/tags/powershell/</link><description>Recent content in Powershell on Notities</description><generator>Hugo</generator><language>nl</language><lastBuildDate>Wed, 15 Jul 2026 23:50:02 +0200</lastBuildDate><atom:link href="https://19cc27e0.backup-website.pages.dev/tags/powershell/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows Server 2022 Home Lab — AD DS, DNS, CA en Beveiligde RDP</title><link>https://19cc27e0.backup-website.pages.dev/blog/2026-windows-server-2022-home-lab-ad-dns-ca-rdp/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://19cc27e0.backup-website.pages.dev/blog/2026-windows-server-2022-home-lab-ad-dns-ca-rdp/</guid><description>&lt;p&gt;Dit artikel beschrijft de volledige opbouw van een twee-server Windows Server 2022 home lab in Proxmox VE. De twee virtuele machines leveren samen Active Directory Domain Services, DNS, Group Policy en een Certificate Authority (ADCS). RDP-verbindingen worden beveiligd met PKI-certificaten, zodat de Mac Mini M1 als beheerstation zonder certificaatwaarschuwingen verbinding maakt.&lt;/p&gt;
&lt;p&gt;Dit is deel 3 van de serie over het opbouwen van een Windows DevOps lab in Proxmox. In &lt;a href="https://vandenboom.icu/blog/2026-proxmox-windows-server-2022-vm-aanmaken/"&gt;deel 1&lt;/a&gt; heb ik beschreven hoe je een VM aanmaakt, in &lt;a href="https://vandenboom.icu/blog/2026-proxmox-windows-server-2022-template-voorbereiding/"&gt;deel 2&lt;/a&gt; hoe je de template voorbereidt.&lt;/p&gt;</description></item><item><title>Windows Server 2022 in Proxmox — Template Voorbereiding</title><link>https://19cc27e0.backup-website.pages.dev/blog/2026-proxmox-windows-server-2022-template-voorbereiding/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://19cc27e0.backup-website.pages.dev/blog/2026-proxmox-windows-server-2022-template-voorbereiding/</guid><description>&lt;p&gt;Dit is deel 2 van de serie over het opbouwen van een Windows DevOps lab in Proxmox. In &lt;a href="https://19cc27e0.backup-website.pages.dev/blog/2026-proxmox-windows-server-2022-vm-aanmaken/"&gt;deel 1&lt;/a&gt; heb ik beschreven hoe je de VM aanmaakt. In dit artikel bereid ik de VM voor als herbruikbare Proxmox template. Alle toekomstige VMs — de CA server, member servers en andere rollen — worden vanuit deze template gekloond.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Download de volledige handleiding met screenshots (.docx):&lt;/strong&gt;
&lt;a href="https://19cc27e0.backup-website.pages.dev/blog/2026-proxmox-windows-server-2022-template-voorbereiding/WS2022-in-Proxmox-Template-Preparation-Guide-NL.docx"&gt;WS2022-in-Proxmox-Template-Preparation-Guide-NL.docx&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Belangrijk:&lt;/strong&gt; Start de VM na Sysprep &lt;strong&gt;nooit&lt;/strong&gt; opnieuw op. Als je dat doet wordt de generalisatie verbruikt en moet de template opnieuw worden opgebouwd.&lt;/p&gt;</description></item><item><title>PowerShell computerresourcemonitor-script met cpu-percentage en uitgebreide geheugeninformatie</title><link>https://19cc27e0.backup-website.pages.dev/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://19cc27e0.backup-website.pages.dev/blog/2024-powershell-computer-resource-monitor-script-with-cpu-percentage-and-advanced-memory-information/</guid><description>&lt;p&gt;PowerShell computerresourcemonitor-script met cpu-percentage en uitgebreide geheugeninformatie&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PowerShell

Resourcemonitor


 $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;

 # CPU-informatie van het proces

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


 # Geheugeninformatie van het proces

 $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;

 # Opdrachtregel-informatie
 $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

 }

 # Bronnen
 # https://learn.microsoft.com/en-us/windows/win32/psapi/process-memory-usage-information
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Powershell Clean Memory</title><link>https://19cc27e0.backup-website.pages.dev/blog/powershell-clean-memory/</link><pubDate>Mon, 13 Dec 2021 19:12:03 +0100</pubDate><guid>https://19cc27e0.backup-website.pages.dev/blog/powershell-clean-memory/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Function Opschonen-geheugen {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Get-PSSession | Remove-PSSession
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [System.GC]::Collect() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [GC]::Collect()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [GC]::WaitForPendingFinalizers()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Get-Variable |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; #Where-Object { $startupVariables -notcontains $_.Name } |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ForEach-Object {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; try {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Clear-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Remove-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -Scope &amp;#34;global&amp;#34; -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Remove-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; #Write-Host &amp;#34;Variabele &amp;#39;$($_.Name)&amp;#39; is opgeruimd.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; catch [Exception] {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; if ($_.Name -notlike &amp;#39;&amp;#39;) { Write-Host &amp;#34;An error has occured. Error Details: $($_.Exception.Message)&amp;#34; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; #Get-Variable
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>