Automated Windows Print Server Deployment Platform
Connect USB Printer → Launch PrinterToolkit → Click "Setup Printer" → Everything Automated → Printer Available to Windows, Android & LAN Devices
powershell -ExecutionPolicy Bypass -Command "iwr -Uri https://github.com/00AstroGit00/windows-printer-toolkit/raw/main/install.ps1 -OutFile \"$env:TEMP\ptk.ps1\"; & \"$env:TEMP\ptk.ps1\""Downloads the latest release, imports the module, and opens the interactive dashboard.
Transforms a USB-connected printer into a fully configured, validated, and network-accessible shared printer for Windows, Android, and LAN devices with one click.
Connect USB Printer
↓
Launch PrinterToolkit
↓
Click 'W' — Print Server Wizard
↓
Step 1: Detect USB Printer ✓
Step 2: Install Driver ✓
Step 3: Configure Windows Features ✓
Step 4: Configure Registry ✓
Step 5: Configure Firewall ✓
Step 6: Configure Network ✓
Step 7: Share Printer ✓
Step 8: Enable IPP ✓
Step 9: Enable SMB ✓
Step 10: Validate Everything ✓
Step 11: Print Test Page ✓
↓
Printer is available to Windows → \\ComputerName\PrinterShare
Printer is available to Android → ipp://hostname/printers/Printer
Printer is available to LAN → SMB / IPP / HTTP
For fully automated setup, launch the toolkit and press [Z] — Zero-Touch Deployment. The engine runs the complete lifecycle with no manual steps:
Connect USB Printer
↓
Launch PrinterToolkit
↓
Click 'Z' — Zero-Touch Deployment
↓
Detect → Analyze → Backup → Configure → Validate → Rollback if needed → Report
↓
Printer shared automatically; reachable by Windows, macOS, Android & Linux clients
Every change is detected, backed up, validated, and rolled back automatically on
failure. A per-deployment transaction log records every operation, change, repair,
validation, and rollback. Use Get-ZeroTouchDashboard for a live health overview
and Get-ClientConnectionInfo for client-specific connection strings (Windows,
macOS, Android, Linux).
git clone https://github.com/00AstroGit00/windows-printer-toolkit.git
cd windows-printer-toolkit
.\launcher.ps1Import-Module .\PrinterToolkit.psd1 -Force
Invoke-PrintServerWizardInvoke-EndToEndValidationGet-ConnectionInfo╔══════════════════════════════════════════════╗
║ PrinterToolkit v8.0.0 ║
║ Print Server Deployment Platform ║
╚══════════════════════════════════════════════╝
PRINT SERVER WIZARD
[W] Launch Print Server Wizard (11 steps)
[Z] Zero-Touch Deployment (Click Start Setup)
[V] Validation Dashboard
DETECTION & DRIVERS
[1] Printer Inventory
[2] Printer Details & Status
[3] USB Printer Detection
[4] Hardware ID Information
[5] Driver Intelligence Engine
[6] Driver Management
[7] Driver Upgrade Recommendations
CONFIGURATION
[8] Windows Features
[9] Windows Services
[10] Firewall & Network
[11] Registry & Service Snapshots
SHARING & CONNECTIVITY
[12] IPP Printer Attributes
[13] Share Management
[14] SMB Configuration
[15] Android / Mopria
[16] Connection Info & QR Codes
DIAGNOSTICS & REPAIR
[17] Network Validation Report
[18] Automatic Share Repair
[19] Rollback Last Repair
[20] Spooler Queue Health
REPORTS
[21] Generate Report
[22] Compliance Report
[23] Diagnostic Bundle
[0] Exit
PrinterToolkit/
├── PrinterToolkit.psd1 # Module manifest (66+ exported functions)
├── PrinterToolkit.psm1 # Root loader + interactive menu
├── launcher.ps1 # Standalone entry point
├── install.ps1 # Bootstrap downloader & runner
├── Modules/ # 20 specialized submodules
│ ├── Core/ # Spooler, queue, printer enumeration
│ ├── Detection/ # USB printer, VID/PID, Hardware ID detection
│ ├── Configuration/ # Windows Features, Services, Registry inspection
│ ├── Drivers/ # Driver Intelligence Engine (VID/PID/Type3/4/WHQL)
│ ├── Networking/ # Network profile, firewall rule management
│ ├── IPP/ # Internet Printing Protocol
│ ├── SMB/ # SMB protocol configuration
│ ├── Sharing/ # SMB/IPP/WSD transport, permissions
│ ├── Android/ # Mopria compatibility + QR codes + connection info
│ ├── Diagnostics/ # Network validation + snapshots
│ ├── Repair/ # Automatic Repair Engine (issue→root→backup→repair→validate→rollback)
│ ├── Rollback/ # Configuration rollback engine
│ ├── Validation/ # End-to-End Validation Dashboard
│ ├── SetupWizard/ # 11-step Print Server Configuration Wizard
│ ├── Reporting/ # HTML/JSON/CSV/Markdown reports
│ ├── Logging/ # Structured logging framework
│ ├── Utilities/ # Admin check, system info, UI helpers
│ ├── Bundle/ # Diagnostic ZIP archive
│ ├── ZeroTouch/ # One-click deployment lifecycle (Detect→Analyze→Backup→Configure→Validate→Rollback→Report)
│ └── Orchestration/ # v8 DAG task engine, event bus, state/transaction/recovery managers, config providers
├── Tests/ # Pester unit tests
├── CI/ # Build & release scripts
├── Validation/ # Validation documentation
├── Handover/ # Maintainer documentation
└── dist/ # Distribution packages (Chocolatey, PSGallery, Scoop, WinGet)
11-step guided wizard that automates everything: USB detection → driver install → Windows configuration → firewall → network → sharing → IPP → SMB → validation → test page → connection info.
End-to-end PASS/FAIL dashboard checking: printer detection, driver, queue, port, spooler, services, registry, firewall, sharing, SMB, IPP, network, Android compatibility, and test page.
Automatically detects VID, PID, Hardware IDs, Compatible IDs, manufacturer, model, driver version, driver type (Type 3/4), architecture, and WHQL status. Attempts installation through Windows Update, Driver Store, or user-provided INF.
Inspects Windows Features (Print Services, IPP, SMB), Services (Spooler, RPC, DCOM, Server, Workstation, Discovery), Registry (RpcAuthn, HTTP printing), Firewall (File & Printer Sharing, Network Discovery, IPP), and Network (profile, IPv4/IPv6, DNS, gateway).
Complete repair cycle: Issue → Root Cause → Backup → Repair → Validate → Success or Rollback. Never leaves partial repairs.
Generates connection strings for Windows (\\ComputerName\Share), SMB, IPP (ipp://hostname/printers/Printer), HTTP (http://hostname:631/printers/Printer), and QR code content for IPP URLs, setup guide, and troubleshooting guide.
Creates full restore points (registry, services, printers, network) before any changes. One-command rollback to previous state.
The v8 execution core. Every operation is modeled as a declarative Task (New-OrchestrationTask) carrying Name, Dependencies, Prerequisites, RetryPolicy, RequiredElevation, IsCritical, CanSkip, plus Execute/Validate/Rollback script blocks. The orchestrator (Invoke-Orchestrator) resolves execution order via a topological DAG (Get-TopologicalTaskOrder, with cycle detection), then executes tasks honoring dependencies — skipping tasks whose prerequisites fail or whose dependencies did not complete, retrying per RetryPolicy, rolling back failed critical tasks, and invoking the recovery engine (Invoke-RecoveryEngine) when possible.
Supporting subsystems:
- Event Bus (
Subscribe-OrchestrationEvent/Publish-OrchestrationEvent) — structured, subscribable events for UI/logging. - State Manager (
Set-SubsystemState/Get-SubsystemState) — tracks subsystem health (Healthy/Warning/Failed/Unknown/Pending). - Transaction Engine (
Start-OrchestrationTransaction/Record-TaskTransaction/Get-OrchestrationTransactionLog) — per-task state-transition audit log. - Desired-State Model (
Get-DefaultDesiredState/Get-DesiredState) consumed by Configuration Providers (Invoke-ConfigurationProvider) that centralize platform configuration forService,Firewall,Network,Sharing,IPP,Registry,Driver, andPrinter.
Start-ZeroTouchDeployment is now built on this engine: it constructs a dependency graph (Detect → Driver → Services → Registry/Firewall/Network → Sharing → IPP → Validate → Report) and runs it through Invoke-Orchestrator. Public signature and return shape are unchanged.
- OS: Windows 10 (21H2+), Windows 11 (22H2+), or Windows Server 2022+
- PowerShell: 5.1 or 7.x (7.4 recommended)
- Administrator rights: Required for all print server operations
- Internet: Only needed for the one-liner bootstrap installer
Invoke-Pester -Path .\Tests\PrinterToolkit.Tests.ps1Coverage includes unit tests, integration tests, driver detection, queue management, sharing, IPP, SMB, repair, rollback, and reporting.
.\CI\build.ps1 -Configuration Release
.\CI\package.ps1 -ArtifactPath .\artifacts\PrinterToolkit_v8.0.0_<timestamp>MIT — see LICENSE
- GitHub Issues — Bug reports & feature requests
- Security Policy — Vulnerability reporting