> For the complete documentation index, see [llms.txt](https://docs.poshtools.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.poshtools.com/open-source-tools/pscommander.md).

# PSCommander

PSCommander is a Windows desktop automation module. It lets you define PowerShell script blocks for Windows integration points such as hot keys, tray menus, schedules, Explorer context menus, file associations, custom protocol handlers, and desktop widgets.

Use PSCommander when you want persistent desktop automation that is configured with PowerShell.

## Features

* [CRON schedules](/open-source-tools/pscommander/feature-reference/cron-schedules.md).
* [Desktop shortcuts](/open-source-tools/pscommander/feature-reference/desktop-shortcuts.md).
* [Desktop widgets](/open-source-tools/pscommander/feature-reference/desktop-widgets.md).
* [Data sources for widgets](/open-source-tools/pscommander/feature-reference/data-sources.md).
* [Windows and PSCommander events](/open-source-tools/pscommander/feature-reference/events.md).
* [Explorer context menus](/open-source-tools/pscommander/feature-reference/explorer-context-menus.md).
* [File associations](/open-source-tools/pscommander/feature-reference/file-associations.md).
* [Custom protocol handlers](/open-source-tools/pscommander/feature-reference/custom-protocol-handlers.md).
* [Global hot keys](/open-source-tools/pscommander/feature-reference/global-hot-keys.md).
* [Tray icon and menus](/open-source-tools/pscommander/feature-reference/tray-icon-and-menu.md).

## Quick Examples

Install the module and register PSCommander to run at logon.

```powershell
Install-Module PSCommander
Install-Commander
```

Create and open the user configuration file.

```powershell
Start-Commander
```

Add a hot key to `Documents\PSCommander\config.ps1`.

```powershell
New-CommanderHotKey -Key 'T' -ModifierKey 'Ctrl' -Action {
    Start-Process notepad
}
```

Add a tray menu item.

```powershell
New-CommanderToolbarIcon -MenuItem @(
    New-CommanderMenuItem -Text 'Open Notepad' -Action {
        Start-Process notepad
    }
)
```

## Configuration

PSCommander loads its configuration from `Documents\PSCommander\config.ps1`. Add PSCommander commands to that file. Changes to the file are reloaded while PSCommander is running.

See [Configuration](/open-source-tools/pscommander/configuration.md) for more information.

## More Information

* [Changelog](https://github.com/ironmansoftware/pscommander/releases)
* [Installation](/open-source-tools/pscommander/installation.md)
* [Uninstallation](/open-source-tools/pscommander/uninstallation.md)
* [System Requirements](/open-source-tools/pscommander/system-requirements.md)
* [Configuration](/open-source-tools/pscommander/configuration.md)
* [Feature Reference](/open-source-tools/pscommander/feature-reference.md)
* [GitHub](https://github.com/ironmansoftware/pscommander)
* [PowerShell Gallery](https://www.powershellgallery.com/packages/PSCommander)
