ScriptDeck

Supercharge your StreamDeck with PowerShell

ScriptDeck is:

ScriptDeck and WindowsScriptDeck (the plugins)

ScriptDeck and WindowsScriptDeck are a pair of plugins that let your StreamDeck run PowerShell Core and Windows PowerShell, respectively.

Both plugins let you run any command at the touch of a button.

The PowerShell engine stays running and responsive, ready for your next press.

Using the plugins, you can:

Two variations of the ScriptDeck plugin can be downloaded:

Plugin Description OS
ScriptDeck ScriptDeck running on PowerShell Core MacOS/Windows
WindowsScriptDeck ScriptDeck running on Windows PowerShell Windows

ScriptDeck (the PowerShell Module)

Currently, you can use ScriptDeck to:

Get-StreamDeckProfile # Gets StreamDeck Profiles

Get-StreamDeckPlugin  # Gets StreamDeck Plugins

Get-StreamDeckAction  # Gets actions available

You can create actions with New-StreamDeckAction:

New-StreamDeckAction -HotKey "CTRL+V" -Title "Paste" 

New-StreamDeckAction -ProfileName "Default Profile" -Title '^'

New-StreamDeckAction -Uri https://github.com/ -Title GitHub

New-StreamDeckAction -ScriptBlock {
    foreach ($n in 1..10) {
        $n
        Start-Sleep -Seconds $n
    }
}

You can create profiles with New-StreamDeckProfile, and Save them with Save-StreamDeckProfile.

New-StreamDeckProfile -Name NewProfile -Action @{
    "0,0" = New-StreamDeckAction -ProfileName "Default Profile" -Title '^'
    "1,0" = New-StreamDeckAction -ScriptBlock {
        foreach ($n in 1..10) {
            $n
            Start-Sleep -Seconds $n
        }
    } -Title "1..10"
    "2,0" = New-StreamDeckAction -Uri https://github.com/ -Title GitHub -Image https://github.githubassets.com/images/icons/emoji/octocat.png?v8
} |
    Save-StreamDeckProfile

Want the module to do something more? Feel free to open an issue on GitHub.