Skip to content

About

PowerShell scripts for IT helpdesk work on Windows: health checks, winget bulk installs, exam-room readiness checks and disk cleanup

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IT Helpdesk Toolkit

PowerShell scripts for everyday IT helpdesk work on Windows: health checks, bulk software installs, exam-room readiness checks and disk cleanup. Built from real tasks I did while supporting staff workstations and computer-based exam rooms.

PowerShell Platform License

Scripts

Script What it does Needs admin
Get-SystemHealth.ps1 OS, uptime, CPU, RAM, every disk, pending reboot, antivirus, network and internet, with OK / WARN / FAIL flags. Exports CSV or HTML. No
Install-Software.ps1 Installs a standard app set from a JSON list with winget, skips what is already installed and writes a log. Some apps
Test-ExamRoom.ps1 PASS/FAIL checklist for every PC in a test room: disk, RAM, required apps, screen resolution, exam server reachable, clock sync, pending reboot. No
Clear-DiskSpace.ps1 Clears temp files, update cache, error reports, thumbnail cache and the Recycle Bin, then reports space freed. For system folders

All scripts work on the built-in Windows PowerShell 5.1. Nothing extra to install. Get-SystemHealth and Test-ExamRoom can also check remote computers over PowerShell Remoting.

Quick start

git clone https://github.com/dlam17/it-helpdesk-toolkit.git
cd it-helpdesk-toolkit

# Allow local scripts for this session only
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

.\scripts\Get-SystemHealth.ps1

Usage

Health check

.\scripts\Get-SystemHealth.ps1                                   # this PC
.\scripts\Get-SystemHealth.ps1 -ReportPath .\health.html         # HTML report for a ticket
.\scripts\Get-SystemHealth.ps1 -ComputerName PC01, PC02 -DiskWarnPercent 20

Sample output:

Computer        Check          Status Detail
--------        -----          ------ ------
WS-042          OS             OK     Microsoft Windows 11 Pro (build 26200)
WS-042          Uptime         OK     4d 21h since last reboot
WS-042          Memory         OK     44% used (17.7 GB free of 31.7 GB)
WS-042          Disk C:        OK     69% free (206.1 GB of 299.1 GB)
WS-042          Pending reboot OK     No restart pending
WS-042          Antivirus      OK     Kaspersky active, signatures up to date
WS-042          Internet       OK     Reachable

Summary -> OK: 13

Set up a new machine

Edit config/apps.json with the apps your office uses (find IDs with winget search <name>), then:

.\scripts\Install-Software.ps1 -WhatIf      # preview
.\scripts\Install-Software.ps1              # install

Check an exam room before a test session

Put the room's computer names in a text file (see examples/room-a.txt) and set the requirements in config/exam-room.json:

{
  "minFreeDiskGB": 10,
  "minRamGB": 4,
  "minScreenWidth": 1280,
  "minScreenHeight": 720,
  "requiredApps": ["Google Chrome*"],
  "examServerUrls": ["https://www.microsoft.com"],
  "timeServer": "time.windows.com",
  "maxClockOffsetSeconds": 5
}
.\scripts\Test-ExamRoom.ps1 -ComputerListPath .\examples\room-a.txt -ReportPath .\room-a.csv
Computer Check                     Result Detail
-------- -----                     ------ ------
PC01     Free disk                 PASS   48.2 GB free on C: (need 10)
PC01     App: Google Chrome*       PASS   Google Chrome
PC01     Server: www.microsoft.com PASS   Port 443 open
PC01     Clock sync                PASS   Offset 0.55s from time.windows.com
PC02     Ping                      FAIL   No reply

1 of 2 computer(s) ready.
NOT READY  PC02: Ping

Free up disk space

.\scripts\Clear-DiskSpace.ps1 -WhatIf               # see what would be removed
.\scripts\Clear-DiskSpace.ps1 -OlderThanDays 3      # run it (as Administrator for system folders)

Remote computers

Remote checks use PowerShell Remoting. On a domain network it is usually already enabled. Otherwise run this once on each target as Administrator:

Enable-PSRemoting -Force

Project structure

it-helpdesk-toolkit/
├── scripts/     PowerShell scripts
├── config/      apps.json (software list), exam-room.json (room requirements)
└── examples/    sample computer list

Roadmap

  • Active Directory user onboarding / offboarding script
  • Printer install and queue reset
  • Scheduled health report emailed daily
  • Pester tests

License

MIT

About

PowerShell scripts for IT helpdesk work on Windows: health checks, winget bulk installs, exam-room readiness checks and disk cleanup

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages