Public library of modules for PowerShell Universal.
This repository is a collection of modules that you can use directly with PowerShell Universal. These modules provide pre-built solutions for specific platforms like Azure, Windows and Slack.
These scripts are not supported through the general Ironman Software support agreement for PowerShell Universal. Bugs and feature requests should be made through this repository.
Contains scripts and widgets that are specific to Active Directory.
Contains full apps that can be run with PowerShell Universal.
Diagnostic tools for PowerShell Universal.
Contains scripts that interact with the Microsoft Graph.
Miscellaneous scripts, such as weather components.
Contains scripts that can be used to send notifications like email and chat apps.
Contains scripts that interact with Microsoft Office products.
Contains general purpose PowerShell scripts and widgets.
Contains scripts and widgets that return information about the system.
Contains scripts that are specific to PowerShell Universal.
Contains scripts that are specific to Windows environments.
You can use this repository outside of PowerShell Universal by installing the release to your local machine. PowerShell Universal uses PSResourceGet. You will need to install this module.
Install-Module -Name Microsoft.PowerShell.PSResourceGet -Force -SkipPublisherCheck -AllowClobber -Scope CurrentUser -ErrorAction SilentlyContinue
Register-PSRepository -Name 'PSUScriptLibrary' -SourceLocation 'https://gallery.powershelluniversal.com/feed/index.json'
This repository is automatically installed with PowerShell Universal v5 and integrated into the admin console. You can access the gallery by clicking Platform \ Gallery.
The gallery contains a collection of modules that you can use in your environment. You can install these modules directly from the gallery page. You can also access the gallery from various resource pages.
Solutions installed from the gallery will appear in the Modules page and their resources will automatically be added.
This repository can be installed with PowerShell Universal v4 by registering it as a module repository.
PowerShell Universal uses PSResourceGet. You will need to install this module.
Install-Module -Name Microsoft.PowerShell.PSResourceGet -Force -SkipPublisherCheck -AllowClobber -Scope CurrentUser -ErrorAction SilentlyContinue
To install this repository with PowerShell Universal v4, you can use the following command.
Register-PSRepository -Name 'PSUScriptLibrary' -SourceLocation 'https://gallery.powershelluniversal.com/feed/index.json'
You can add resources found in this gallery to your PSU instance by visiting the modules page. Click Platform \ Modules \ Repositories and select the PSUScriptLibrary repository.
To install this repository offline, you can download the repository and register a folder a provider.
Invoke-WebRequest -Uri 'https://github.com/ironmansoftware/gallery/releases/download/1.0.0/library.zip' -OutFile 'library.zip'
Expand-Archive -Path 'library.zip' -DestinationPath 'C:\gallery'
Register-PSRepository -Name 'PSUScriptLibrary' -SourceLocation 'C:\gallery'
If you would like to contribute to this repository, please submit a pull request. We accept any PowerShell script that you would like to share with the community. We recommend structure it so that it can be used with PowerShell Universal.
Each script should be in a folder that contains the script and a psd1
file that contains the metadata for the script. To include resources in PowerShell Universal, you can create a .universal
folder. These will be automatically exposed in PSU when the module is imported. You can view examples within the repository to see how this is accomplished.
Tags, images and description of your module will appear directly in the platform.
The following tags are used to categorize modules in PowerShell Universal
script
- Contains a script resourceapp
- Contains an Appwidget
- Contains one or more Portal Widgetsapi
- Contains API endpointstrigger
- Contains triggers
We prefer that you include comment based help. A readme.md
is also useful to better describe your module or solution. The readme content will be displayed in PowerShell Universal.
We currently do not require tests but prefer any tests are written in Pester. We will run these tests during CI builds.
The repository is automatically build using the build.ps1
script. It finds all PSD1 files and generates nuget packages for each module. These will be stored in the output folder. They should not be checked in. A .gitignore has been created to prevent this.