Toolbox
1.0.2
A robust PowerShell module for parallel remote task orchestration with runspaces, throttling, timeout controls, structured output, error aggregation, retry logic, and pluggable task framework.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2025 Zachary Shupp. All rights reserved.
Package Details
Author(s)
- Zachary Shupp
Tags
PowerShell Remote Orchestration Parallel Runspaces Tasks WinRM SSH Toolbox Tools Toolkit
Functions
Invoke-Task Get-TaskDefinition New-TaskDefinition Export-TaskResult Get-TaskLog Get-TbConfig Set-TbConfig
PSEditions
Dependencies
-
- ImportExcel (>= 7.0.0)
Release Notes
## 1.0.2 - Bug Fix Release (November 2025)
### Fixed
- **CRITICAL**: Fixed PowerShell 5.1 compatibility issue
- Rewrote New-TaskDefinition to use template file approach (TaskTemplate.ps1)
- Applied ASCII encoding to resolve parse errors
- Module now imports correctly on both PowerShell 5.1 and 7.x
### Known Issues
- Command name Invoke-Task conflicts with psake build automation module
- Workaround: Use Install-Module Toolbox -AllowClobber if you have psake installed
## 1.0.1 - Bug Fix Attempt (November 2025)
### Fixed
- Attempted fix for encoding issues (incomplete)
## 1.0.0 - First Stable Release (November 2025)
### Core Features
- **Parallel Task Execution**: Execute tasks across multiple computers simultaneously with runspace pooling
- **Configurable Throttling**: Control concurrent execution with throttle limits (1-256)
- **Timeout & Retry**: Automatic timeout handling and exponential backoff retry logic
- **Smart Computer Lists**: Load targets from TXT, CSV, or Excel files with column specification
- **Multiple Export Formats**: Export results to CSV, JSON, XML, or Excel
- **Comprehensive Logging**: JSON Lines format logs with sensitive data masking
### Built-In Tasks (11 Total)
- **System**: Get-Uptime, Get-BasicInfo
- **File**: Test-PathExists, Get-PathSize
- **Network**: Test-Connection, Test-Port
- **Process**: Get-Process
- **Service**: Get-Service
- **Registry**: Get-Value
- **HTTP**: Invoke-Request
### Cmdlets (7 Total)
- `Invoke-Task`: Execute tasks on remote computers
- `Get-TaskDefinition`: Query available tasks
- `New-TaskDefinition`: Create custom task scaffolding
- `Export-TaskResult`: Export results to various formats
- `Get-TaskLog`: Query execution logs
- `Get-TbConfig`: View configuration
- `Set-TbConfig`: Modify configuration
### Quality & Testing
- 103 comprehensive tests (100 passing)
- Full compatibility: PowerShell 5.1 and 7.x
- Cross-platform support: Windows, Linux, macOS (PS 7+)
- Complete documentation with 41 help examples
- Task authoring guide and contribution guidelines
### Requirements
- PowerShell 5.1 or higher
- ImportExcel module (for Excel export)
FileList
- Toolbox.nuspec
- Config\Config.Default.json
- Private\RemoteExecution.ps1
- Private\TaskNameCompleter.ps1
- Private\Write-TbLog.ps1
- Public\Get-TaskLog.ps1
- Public\New-TaskDefinition.ps1
- Templates\TaskTemplate.ps1
- Tasks\BuiltIn\HTTP\Invoke-Request.ps1
- Tasks\BuiltIn\Process\Get-Process.ps1
- Tasks\BuiltIn\Service\Get-Service.ps1
- Tasks\BuiltIn\System\Get-BasicInfo.ps1
- Toolbox.psd1
- Private\ComputerListParser.ps1
- Private\RunspacePool.ps1
- Private\Types.ps1
- Public\Export-TaskResult.ps1
- Public\Get-TbConfig.ps1
- Public\Set-TbConfig.ps1
- Tasks\BuiltIn\File\Get-PathSize.ps1
- Tasks\BuiltIn\Network\Test-Connection.ps1
- Tasks\BuiltIn\Registry\Get-Value.ps1
- Tasks\BuiltIn\Service\Set-ServiceStatus.ps1
- Tasks\BuiltIn\System\Get-Uptime.ps1
- Toolbox.psm1
- Private\Initialize-TbConfig.ps1
- Private\StatusEnum.ps1
- Private\WorkQueue.ps1
- Public\Get-TaskDefinition.ps1
- Public\Invoke-Task.ps1
- Schemas\Config.schema.json
- Tasks\BuiltIn\File\Test-PathExists.ps1
- Tasks\BuiltIn\Network\Test-Port.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.0.2 (current version) | 7 | 11/18/2025 |