<?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://www.vandenboom.icu/en/tags/powershell/</link><description>Recent content in PowerShell on Notities</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 02 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.vandenboom.icu/en/tags/powershell/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows Server 2022 Home Lab — AD DS, DNS, CA and Secured RDP</title><link>https://www.vandenboom.icu/en/blog/2026-windows-server-2022-home-lab-ad-dns-ca-rdp/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.vandenboom.icu/en/blog/2026-windows-server-2022-home-lab-ad-dns-ca-rdp/</guid><description>This article describes the full setup of a two-server Windows Server 2022 home lab in Proxmox VE. Together the two virtual machines provide Active Directory Domain Services, DNS, Group Policy and a Certificate Authority (ADCS). RDP connections are secured with PKI certificates so that the Mac Mini M1 management workstation connects without certificate warnings.
This is part 3 of the series on building a Windows DevOps lab in Proxmox. In part 1 I described how to create a VM, and in part 2 how to prepare the template.</description></item><item><title>Proxmox Lab — Windows Server 2022 Template Preparation</title><link>https://www.vandenboom.icu/en/blog/2026-proxmox-windows-server-2022-template-preparation/</link><pubDate>Tue, 31 Mar 2026 10:00:00 +0100</pubDate><guid>https://www.vandenboom.icu/en/blog/2026-proxmox-windows-server-2022-template-preparation/</guid><description>This guide covers the complete process of preparing a freshly installed Windows Server 2022 VM as a reusable Proxmox template. All future VMs (CA server, member servers, etc.) are cloned from this template, saving significant time and ensuring a consistent baseline across the entire lab.
📄 Download the full guide with screenshots: WS2022-in-Proxmox-Template-Preparation-Guide.docx
Overview The full process consists of these steps:
Install VirtIO guest drivers Run Windows Update — fully patch the OS Apply performance tweaks Basic housekeeping — timezone, RDP, IE Enhanced Security Sysprep — generalize and shut down Convert to template in Proxmox Warning: Never boot the VM after Sysprep.</description></item><item><title>PowerShell computer resource monitor script with cpu percentage and advanced memory information</title><link>https://www.vandenboom.icu/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://www.vandenboom.icu/en/blog/2024-powershell-computer-resource-monitor-script-with-cpu-percentage-and-advanced-memory-information/</guid><description>PowerShell computer resource monitor script with cpu percentage and advanced memory information
PowerShell Resource monitor $app=&amp;quot;notepad&amp;quot; $ids = Get-Process $app | Select-Object -Property Id | ForEach-Object {$_.Id} $filedate = Get-Date -format &amp;quot;yyyy-MM-dd&amp;quot; #echo $pids foreach ($id in $ids) { $date = Get-Date -format &amp;quot;yyyy-MM-dd HH:mm:ss&amp;quot; # process CPU information $ProcessId = $id $Process = Get-WmiObject -Query &amp;quot;SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE IDProcess = $ProcessId&amp;quot; $usage = $Process.PercentProcessorTime # process Mem information $TotalMemory = (Get-CimInstance Win32_ComputerSystem).</description></item><item><title>Powershell Clean Memory</title><link>https://www.vandenboom.icu/en/blog/powershell-clean-memory/</link><pubDate>Mon, 13 Dec 2021 19:12:03 +0100</pubDate><guid>https://www.vandenboom.icu/en/blog/powershell-clean-memory/</guid><description>Function Clean-Memory { Get-PSSession | Remove-PSSession [System.GC]::Collect() [GC]::Collect() [GC]::WaitForPendingFinalizers() Get-Variable | #Where-Object { $startupVariables -notcontains $_.Name } | ForEach-Object { try { Clear-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -Scope &amp;#34;global&amp;#34; -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-Variable -Name &amp;#34;$($_.Name)&amp;#34; -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue #Write-Host &amp;#34;Variable &amp;#39;$($_.Name)&amp;#39; has been cleaned up.&amp;#34; } catch [Exception] { if ($_.Name -notlike &amp;#39;&amp;#39;) { Write-Host &amp;#34;An error has occured. Error Details: $($_.</description></item></channel></rss>