Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Join the chat at Build Status PowerShell Gallery

A cross-platform, minimalist web framework for PowerShell.


Polaris is currently an unsupported, experimental, proof-of-concept. There is no current plan to turn it into a supported Microsoft product.

That being said, we do plan on continuing to experiment within this repository for the foreseeable future.


New-PolarisGetRoute -Path "/helloworld" -Scriptblock {
    $Response.Send('Hello World!')


Why yet another web framework for PowerShell?

There have been a great list of other micro web frameworks written over the years (Thanks @jaykul for the list!).

Polaris' differentiation is that it is cross-platform and uses the .NET HttpListener class.

Getting Started



From the PowerShell Gallery

PS > Install-Module -Name Polaris -Scope CurrentUser -Force

You can now try out the example above or checkout the site for more usage information!

From source

  1. Clone or download the zip of the repo
  2. Open PowerShell
  3. At this point, you can now run Import-Module ./Polaris.psd1

You can now try out the example above or checkout the site for more usage!

You can also run all the Pester tests by running Invoke-Pester in the test directory. You will need Pester version 4.1.0 or higher to run the tests on Linux or MacOS.


Check out the docs folder or the site for a full API reference.

Troubleshooting / Questions

  • Twitter: #PSPolaris
  • Slack: See us in the #Polaris channel of the PowerShell Slack
  • GitHub Issues: Submit a bug / new feature idea / or just a question as a new GitHub issue


We have a few paths we are interested in taking. We hope the community helps direct us.

  • Expanding on the current implementation using HttpListener to deliver features you'd expect from projects ASP.NET or Expressjs (route parameters, query parameters, middleware, auth etc)
  • Investigating the use of Kestrel/ASP.NET Routing instead of HttpListener
  • Creating a routing domain-specific language (DSL) for isolating and running script blocks as routes. Drawing inspiration from Pester.


This project is an experiment that has the possibility to grow into something great. We can't do that without great feedback from you.

If you have an idea or find a bug, join the discussions in the issues or create a new issue.


Polaris is licensed under the MIT License.


Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.