PowerPlug is a cross-platform PowerShell 7+ cmdlet utility library targeting .NET 8 and .NET 10. The main mission of PowerPlug is to make PowerShell development faster and easier with practical, everyday utilities. PowerPlug is built using C# PSCmdlet classes from the PowerShell Standard Library and is driven by the Ampere Library.
Note: All cmdlets are currently in BETA and may change in future releases.
| Cmdlet | Alias | Description |
|---|---|---|
Get-Speed |
speedtest, gspd |
Network speed test with download/upload speed, latency, jitter, and packet loss |
Get-NetworkInfo |
gni, netinfo |
Detailed network interface information (IP, subnet, gateway, DNS, MAC, speed) |
Test-Port |
tp |
TCP port connectivity test with latency reporting |
| Cmdlet | Alias | Description |
|---|---|---|
ConvertTo-Base64 |
tobase64 |
Encode strings or file contents to Base64 |
ConvertFrom-Base64 |
frombase64 |
Decode Base64 strings to plaintext or file |
| Cmdlet | Alias | Description |
|---|---|---|
Compare-Hash |
csh |
Compare file hashes (SHA256, SHA512, SHA384, MD5) against known signatures |
New-RandomString |
nrs, randstr |
Generate cryptographically secure random strings |
| Cmdlet | Alias | Description |
|---|---|---|
Move-Trash |
trash |
Move files to Recycle Bin (Windows) or Trash (macOS) |
New-TemporaryDirectory |
ntd |
Create uniquely named temporary directories |
| Cmdlet | Alias | Description |
|---|---|---|
New-Byname |
nbn |
Create a persistent alias in your $PROFILE |
Set-Byname |
sbn |
Modify an existing persistent alias |
Remove-Byname |
rbn |
Remove a persistent alias from $PROFILE |
| Cmdlet | Alias | Description |
|---|---|---|
Invoke-Retry |
retry |
Retry a script block with configurable backoff |
Measure-ScriptBlock |
msb |
Benchmark a script block with statistical analysis |
ConvertTo-HashTable |
toht |
Convert PSObject to an ordered hashtable |
Get-EnvironmentPath |
gpath |
List PATH entries with existence validation |
Install-Module -Name PowerPlugDownload the latest zip from the Releases Page. Place the module folder in a directory listed in $env:PSModulePath.
Import-Module PowerPlugTo load automatically on startup, add the above line to your $PROFILE.
- PowerShell 7.0 or later
- .NET 8 SDK or .NET 10 SDK
- Any editor (VS Code recommended)
dotnet buildThe output DLL will be in bin/Debug/net8.0/ (or net10.0/). Import it into PowerShell with:
Import-Module ./PowerPlug/bin/Debug/net8.0/PowerPlug.dllWe welcome contributions! See CONTRIBUTING.md for guidelines.
PowerPlug is licensed under the GNU General Public License v3.0. The GNU General Public License is a free, copyleft license for software and other kinds of works.
Thanks especially to my fellow friends and contributors