Blog

Just another Tech site

Welcome

This is another tech site… I am working on and learning new skills, creative ways to get scripts/codes to work and sharing what I have come up with or have learned from others that work.

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

PowerShell: Remove folders older than x amount of days

Trying to do a clean up of installation version folders for applications installed after x amount of days.  This will remove folders and files in subfolders older than 4 days  as scripted below.  Change the variables to help identify the folder locations.  Please run on a test system before using for production, just to make…
Read more

PowerShell: update to Embed Audio file

Trying to get that the data stream is on one line vs hundreds of lines. The change was in the Convert to Base64 block. I found that I needed to add some additional parameters: [Convert]::ToBase64String($encrypted, [Base64FormattingOptions]::None) This will output the data stream to a one line, and even if output to a text file, now…
Read more