Blog

Just another Tech site

PowerShell: install Oracle Java 21

learning to install silently install Oracle Java 21 SDK Search for a .msi file containing jdk-21 in its name. Install it silently to the target directory. Set JAVA_HOME and update PATH. Handle errors gracefully.   # PowerShell Script: Auto-detect and install Oracle Java 21 SDK (64-bit) from local MSI # Requirements: # – Run as Administrator # – MSI file must already…
Read more

PowerShell: Download Tool

Testing a new process for downloading #region Variables $Script:FormWidth = 1080 $Script:FormHeight = 800 $Script:Formicon = “batman.ico” $Script:FormTitle = “Batman Download & Deploy Tool” $Script:FormVersion = “v2026.03.07” $Script:DownloadPath = “C:\Source\Download” $Script:LogPath = “C:\Logs” $Script:ChromeUrl = “https://dl.google.com/chrome/install/googlechromestandaloneenterprise64.msi” $Script:FirefoxUrl = “https://download.mozilla.org/?product=firefox-msi-latest-ssl&os=win64&lang=en-US” $Script:SevenZipUrl = “https://www.7-zip.org/a/7z2600-x64.msi” # Adjust as needed $Script:Notepadplusplusurl = “https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.9.2/npp.8.9.2.Installer.x64.msi” $Script:FolderDate = Get-Date -Format “yyyyMMdd” $Script:ChromeDest…
Read more

MECM: clean uninstall

Trying to clean up MECM clients that have failed to get updated or have corrupt installs   <# MECM Full Removal Script – Graceful uninstall (if possible) – Forced cleanup of all MECM components – Logging to file – Summary report at end #> # ============================ # Logging + Summary Functions # ============================ $Global:LogFile =…
Read more

MECM: Client re-install

Re-installing the MECM client   <# MECM Reinstall Script – Installs MECM client cleanly after full removal – Logging + summary report – Validates installation success #> # ============================ # Logging + Summary Functions # ============================ $Global:LogFile = “C:\Windows\Temp\SCCM_Reinstall_$(Get-Date -Format ‘yyyyMMdd_HHmmss’).log” $Global:Summary = @() function Write-Log { param( [string]$Message, [string]$Level = “INFO” ) $timestamp =…
Read more

MECM: Client check

Updating to a new client and want to check to make sure the client is working correctly.   <# SCCM Health Check Script – Validates SCCM client health – Logging + summary report – Designed to pair with removal/reinstall scripts #> # ============================ # Logging + Summary Functions # ============================ $Global:LogFile = “C:\Windows\Temp\SCCM_HealthCheck_$(Get-Date -Format ‘yyyyMMdd_HHmmss’).log”…
Read more

MECM: uninstall MECM client from a list using PowerShell

Trying to cleanly clean up MECM client installation # Path to list of computers $ComputerList = Get-Content “C:\Scripts\Computers.txt” # Log file $LogFile = “C:\Scripts\SCCM_Removal_Log.txt” “=== SCCM/MECM Client Removal Log – $(Get-Date) ===” | Out-File $LogFile # Max concurrent jobs $MaxJobs = 20 # Script block for removal $RemoveSCCM = { param($ComputerName) try { Write-Host “[$ComputerName]…
Read more

Migration from MECM to Intune: A Complete Rollout Blueprint

Migration from MECM (SCCM) to Intune: A Complete Rollout Blueprint As organizations embrace cloud-first strategies, the shift from MECM (SCCM) to Microsoft Intune has become a defining step in modern endpoint management. This migration is more than a technical upgrade — it’s a strategic transformation that enables scalability, agility, and Zero Trust security. I’ve seen…
Read more

PowerShell – RGB Color Table

RGB color table something to help with coding colors RGB color space RGB color space or RGB color system, constructs all the colors from the combination of the Red, Green and Blue colors. The red, green and blue use 8 bits each, which have integer values from 0 to 255. This makes 256*256*256=16777216 possible colors.…
Read more

PowerShell Script – Batman Download Tool

I was learning a new way to use Windows forms by building a download tool for common applications I was working on building a cool download tool for Google Chrome, Mozilla Firefox and 7-Zip   #region Variables $Script:FormWidth = 1080 $Script:FormHeight = 800 $Script:Formicon = “batman.ico” $Script:FormTitle = “Batman Download & Deploy Tool” $Script:FormVersion =…
Read more

PowerShell: Base64 compression to clipboard

Using the Base64 to embed logos into a Windows form and then compressing the image to reduce the footprint of the size of the code. Add-Type -AssemblyName System.IO.Compression $imagePath = “Location to file\firefoxlogosmall.png” $bytes = [System.IO.File]::ReadAllBytes($imagePath) $ms = New-Object System.IO.MemoryStream $gzip = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Compress) $gzip.Write($bytes, 0, $bytes.Length) $gzip.Close() $base64 = [Convert]::ToBase64String($ms.ToArray()) Set-Clipboard -Value $base64…
Read more