Production-grade PowerShell automation for MSP engineers.
Covers system health, Windows Update, disk cleanup, software deployment, M365 diagnostics, Intune sync, and more — all from a single interactive menu.
AutoByte is a self-contained PowerShell toolkit that replaces a pile of one-off scripts with a single, structured tool any MSP engineer can run on a client machine. No dependencies to pre-install. No GUI frameworks. Just PowerShell.
| Module | What it automates |
|---|---|
| System Health | CPU, RAM, disk usage, uptime — at a glance |
| Windows Update | Scan and install via PSWindowsUpdate |
| Disk Cleanup | Temp files, WU cache, IE cache — shows MB freed |
| Software Deploy | 10 common apps via winget — silent, no prompts |
| M365 Diagnostics | Module presence check + connectivity test |
| OneDrive FOD | Enable/disable Files On-Demand via registry |
| Dell Command Update | Trigger dcu-cli.exe /applyUpdates |
| Network Diagnostics | Ping key endpoints, list active adapters |
| Intune Sync | Trigger MDM + Intune Management Extension sync |
| HTML Report | Full system snapshot exported to Desktop |
# Clone
git clone https://github.com/deep1ne8/misc.git
cd misc
# Run (requires Administrator)
Set-ExecutionPolicy -Scope Process Bypass
.\AutoByte.ps1Requires: PowerShell 5.1+, Windows 10/11 or Server 2016+, run as Administrator.
AutoByte presents an interactive numbered menu. Select a module by number and follow any prompts. All actions are logged to:
C:\ProgramData\AutoByte\Logs\AutoByte_YYYYMMDD.log
Option 10 generates a self-contained HTML report saved to your Desktop — useful for client documentation or ticket attachments.
Pulls CPU load percentage, RAM usage (used/total GB), system uptime, and per-drive disk usage — all in one shot.
Installs the PSWindowsUpdate module if not present, then runs a full scan and install pass. Reboots are suppressed by default.
Targets %TEMP%, %SystemRoot%\Temp, Windows Update download cache, and IE cache. Reports total MB freed.
Wraps winget install for 10 common MSP software titles. Silent install, no user interaction required. Extend $apps in the script to add your own.
Available titles:
- 7-Zip, Chrome, Firefox, Notepad++, VLC
- VS Code, Zoom, Microsoft Teams, Adobe Reader, Greenshot
Checks whether key PowerShell modules are installed (MSOnline, AzureAD, ExchangeOnlineManagement, MicrosoftTeams) and tests connectivity to login.microsoftonline.com.
Writes FilesOnDemandEnabled DWORD to HKCU:\Software\Microsoft\OneDrive — no OneDrive restart required.
Calls dcu-cli.exe /applyUpdates -reboot=disable. Fails gracefully if Dell Command Update is not installed.
Pings 8.8.8.8, 1.1.1.1, login.microsoftonline.com, and outlook.office365.com with latency. Lists all active network adapters and their link speeds.
Triggers the Intune Management Extension sync agent and the PushLaunch scheduled task. Works on Intune-enrolled devices.
Add a new module in three steps:
- Write a
function Invoke-YourModuleblock using theInvoke-WithLogwrapper. - Add a label string to
$menuItemsinStart-AutoByte. - Add a
caseentry in theswitchblock.
function Invoke-YourModule {
Invoke-WithLog 'Your module description' {
# your code here
Write-Log 'Done.' -Level OK
}
}Every action writes to a date-stamped log at C:\ProgramData\AutoByte\Logs\. Log levels: INFO, WARN, ERROR, OK.
| Requirement | Minimum |
|---|---|
| PowerShell | 5.1 |
| OS | Windows 10 / Windows Server 2016 |
| Privileges | Administrator |
| Winget | Required for Software Deployment module only |
Pull requests welcome. For major changes, open an issue first.
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-module - Commit:
git commit -m 'Add: my-module' - Push and open a PR
MIT — free to use, modify, and distribute. Attribution appreciated.
Built by an MSP engineer, for MSP engineers.
github.com/deep1ne8/misc