Add scheduled maintenance, PC list export, and subnet scanner scripts
- Schedule-Maintenance.ps1: DPAPI credential storage + Task Scheduler integration - Export-PCList.ps1: Pull PC lists from ShopDB API with type/BU filtering - Find-ShopfloorPCs.ps1: Parallel subnet scanner with WinRM and DNS checks - INSTRUCTIONS.txt: Schedule-Maintenance.ps1 documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
100
remote-execution/INSTRUCTIONS.txt
Normal file
100
remote-execution/INSTRUCTIONS.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
============================================================
|
||||
Schedule-Maintenance.ps1 - Documentation
|
||||
============================================================
|
||||
|
||||
Wrapper script that stores credentials securely and
|
||||
runs Invoke-RemoteMaintenance.ps1 unattended or on a
|
||||
schedule via Windows Task Scheduler.
|
||||
|
||||
|
||||
============================================================
|
||||
REQUIREMENTS
|
||||
============================================================
|
||||
|
||||
- PowerShell 5.1+
|
||||
- Run as Administrator (required for scheduling only)
|
||||
- Invoke-RemoteMaintenance.ps1 in the same folder
|
||||
- A PC list text file (one hostname per line)
|
||||
|
||||
|
||||
============================================================
|
||||
PARAMETERS
|
||||
============================================================
|
||||
|
||||
-SaveCredential Save credentials for unattended use
|
||||
-Username Domain\username (use with -SaveCredential)
|
||||
-Password Password (use with -SaveCredential)
|
||||
-Task Maintenance task name (e.g. Reboot)
|
||||
-ComputerListFile Path to text file with PC hostnames
|
||||
-CreateScheduledTask Register a Windows Scheduled Task
|
||||
-TaskFrequency Daily, Weekly, or Once (default: Weekly)
|
||||
-TaskDay Day of week (default: Sunday)
|
||||
-TaskTime Time in HH:mm format (default: 03:00)
|
||||
-TaskDate Specific date for Once (e.g. 2026-02-22)
|
||||
|
||||
|
||||
============================================================
|
||||
USAGE
|
||||
============================================================
|
||||
|
||||
1. SAVE CREDENTIALS (one time, does not require admin)
|
||||
|
||||
.\Schedule-Maintenance.ps1 -SaveCredential -Username "DS\570005354" -Password "MyP@ssw0rd"
|
||||
|
||||
- Encrypted with Windows DPAPI
|
||||
- Only your user account on this machine can decrypt
|
||||
- Re-run if your password changes
|
||||
|
||||
|
||||
2. RUN IMMEDIATELY (does not require admin)
|
||||
|
||||
.\Schedule-Maintenance.ps1 -ComputerListFile ".\shopfloor-pcs.txt" -Task Reboot
|
||||
|
||||
|
||||
3. SCHEDULE A ONE-TIME TASK (requires admin)
|
||||
|
||||
# Reboot one PC today at 3:00 PM
|
||||
.\Schedule-Maintenance.ps1 -CreateScheduledTask -ComputerListFile ".\test-reboot.txt" -Task Reboot -TaskFrequency Once -TaskTime "15:00" -TaskDate "2026-02-19"
|
||||
|
||||
# Reboot all PCs Sunday Feb 22 at 12:01 AM
|
||||
.\Schedule-Maintenance.ps1 -CreateScheduledTask -ComputerListFile ".\shopfloor-pcs.txt" -Task Reboot -TaskFrequency Once -TaskTime "00:01" -TaskDate "2026-02-22"
|
||||
|
||||
|
||||
4. SCHEDULE A RECURRING TASK (requires admin)
|
||||
|
||||
# Every Sunday at 12:01 AM
|
||||
.\Schedule-Maintenance.ps1 -CreateScheduledTask -ComputerListFile ".\shopfloor-pcs.txt" -Task Reboot -TaskFrequency Weekly -TaskDay Sunday -TaskTime "00:01"
|
||||
|
||||
# Every day at 2:00 AM
|
||||
.\Schedule-Maintenance.ps1 -CreateScheduledTask -ComputerListFile ".\shopfloor-pcs.txt" -Task DiskCleanup -TaskFrequency Daily -TaskTime "02:00"
|
||||
|
||||
|
||||
5. MANAGE SCHEDULED TASKS
|
||||
|
||||
Get-ScheduledTask | Where-Object { $_.TaskName -like "ShopfloorMaintenance*" }
|
||||
Start-ScheduledTask -TaskName "ShopfloorMaintenance-Reboot"
|
||||
Unregister-ScheduledTask -TaskName "ShopfloorMaintenance-Reboot"
|
||||
|
||||
|
||||
============================================================
|
||||
LOGS
|
||||
============================================================
|
||||
|
||||
.\logs\maintenance-YYYY-MM-DD_HHMMSS-TaskName.log
|
||||
|
||||
|
||||
============================================================
|
||||
TROUBLESHOOTING
|
||||
============================================================
|
||||
|
||||
"No saved credentials found"
|
||||
-> Run -SaveCredential with -Username and -Password
|
||||
|
||||
"Access is denied" when scheduling
|
||||
-> Right-click PowerShell -> Run as Administrator
|
||||
|
||||
"No credentials provided. Exiting."
|
||||
-> GUI prompt failed. Use -Username and -Password flags
|
||||
|
||||
Password changed
|
||||
-> Re-run -SaveCredential with new password
|
||||
Reference in New Issue
Block a user