Skip to content

PowerShell IT Management Dashboard

raiz-toff / POWERSHELL_SCRIPTING


This is a Windows Forms GUI built in PowerShell — a full IT Management Dashboard that runs on a Domain Controller. It covers 10 admin tasks: AD user management, password expiry alerts, patch auditing, backups, system health checks, scheduled tasks, and more.

Before the dashboard loads, a credential wrapper runs first. It prompts for admin credentials, tests them against a privileged path, and only launches the main GUI if the check passes.


  1. User Account Management — create, enable, disable, search AD accounts
  2. Password Expiration Alerts — flag accounts close to expiry
  3. Time Tracking Reminders — session usage and alerts
  4. Patch Management — query local hotfixes and updates
  5. Password Reset — change user passwords securely
  6. System Health Checks — live CPU, RAM, disk, and service status
  7. Backup Automation — scheduled and on-demand folder backups
  8. Reporting & Logging — search and review application logs
  9. Phonetic Spelling — convert names/usernames to NATO phonetic alphabet
  10. Scheduled Tasks — list, create, and delete local task scheduler entries

The entry point script handles authentication before anything else loads.

  1. Prompts for credentials via Get-Credential
  2. Spawns a background process under those credentials to test a privileged path
  3. Catches auth failures and logs them
  4. If the exit code is 0, loads the main dashboard
Terminal window
# Key snippet for Secure Credentials Retrieval
$Credentials = Get-Credential -Message "Enter administrator credentials to access the script."
# Key snippet for Verification execution
$Result = Start-Process -FilePath "powershell.exe" -ArgumentList "-Command", $TestCommand -Credential $Credentials -NoNewWindow -Wait -PassThru

Credentials Authentication Prompt

ComponentScreenshot
Main DashboardMain GUI Code
AD Users & SearchUser Search
Stats ConsoleStats Console
Account ControlsAccount Controls
Alerts & LoggingAlerts and Logging

  • PowerShell 5.1 or later
  • Elevated session (Run as Administrator)
  • ActiveDirectory module installed on the Domain Controller
  • Don’t hardcode credentials — use Get-Credential or a vault

The wrapper entry point — handles credential prompting and verification before loading the dashboard:

Verify-AdminCredentials.ps1
# Wrapper logic to secure the IT Management Dashboard
Function Verify-AdminCredentials {
# Prompt for credentials
$credentials = Get-Credential -Message "Enter administrator credentials to access the script."
if (-not $credentials) {
Write-Host "No credentials entered. Exiting script." -ForegroundColor Red
return
}
# Define a test command to validate credentials
$testCommand = {
Test-Path "C:\Windows\System32"
}
try {
# Run a test command using the entered credentials
$result = Start-Process -FilePath "powershell.exe" -ArgumentList "-Command", $testCommand -Credential $credentials -NoNewWindow -Wait -PassThru
if ($result.ExitCode -eq 0) {
Write-Host "Authentication successful. Access granted." -ForegroundColor Green
# Call the external script file main.ps1
& "C:\Users\Administrator\Desktop\main.ps1"
} else {
Write-Host "Authentication failed. Access denied." -ForegroundColor Red
}
} catch {
Write-Host "An error occurred during authentication: $_" -ForegroundColor Red
}
}
# Call the Verify-AdminCredentials function
Verify-AdminCredentials

To browse, clone, or download the full dashboard (5,600+ lines):

Check the repo