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