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
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
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
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
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
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 (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
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
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
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