title: PowerShell
category: page
slug: powershell
sortorder: 0210
toc: False
sidebartitle: PowerShell
meta: PowerShell is an implementation of the shell concept and is often used during Python software development on Windows.


[PowerShell](https://docs.microsoft.com/en-us/powershell/) is a commandline 
user interface for Windows that is often used as part
of a Python programmer's 
[development environment](/development-environments.html).

<a href="https://docs.microsoft.com/en-us/powershell/" class="nob"><img src="/img/logos/powershell.png" width="100%" alt="PowerShell logo."></a>

<div class="well see-also">PowerShell is an implementation of the <a href="/shells.html">shells</a> concept. Learn more in the <a href="/development-environments.html">development environments</a> chapter or view the <a href="/table-of-contents.html">table of contents</a> for all topics.</div> 


### PowerShell resources
* [A Python Developer's Guide to Powershell](https://akr.am/blog/posts/a-python-developers-guide-to-powershell)
  explains the PowerShell scripting language then shows how to combine a
  Python script and a PowerShell script to automate web scrapining downloads.

* [ChatOps with PowerShell](https://www.youtube.com/watch?v=XIMOFnfdOx0) covers
  how to use the Python-based chatbot named ErrBot. It also presents example code 
  to connect ErrBot to applications you are running.

* [PowerShell in Azure Functions](http://www.brianbunke.com/blog/2018/02/27/powershell-in-azure-functions/)
  shows how to use PowerShell code in Azure [serverless](/serverless.html)
  Functions.

* [Getting Started with Windows PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell)
  is a guide for your first steps with PowerShell.

* [Windows Command-Line: Backgrounder](https://blogs.msdn.microsoft.com/commandline/2018/06/20/windows-command-line-backgrounder/)
  and
  [Windows Command-Line: The Evolution of the Windows Command-Line](https://blogs.msdn.microsoft.com/commandline/2018/06/27/windows-command-line-the-evolution-of-the-windows-command-line/)
  give historical perspective on how the Windows shell has evolved from
  MS-DOS days into the current Windows 10 world.

* [Learning a New REST API with PowerShell](https://www.cloudsavvyit.com/2454/learning-a-new-rest-api-with-powershell/)
  covers how to create the common GET, POST, PUT and DELETE requests that are 
  used to work with [RESTful APIs](/application-programming-interfaces.html). 
  The the tutorial also contains some tips and tricks for reading API 
  documentation and how to use PowerShell more effectively in these 
  situations. 

* [PowerShell in Azure Functions](http://www.brianbunke.com/blog/2018/02/27/powershell-in-azure-functions/)
  shows you how to use PowerShell scripting language code in your Azure
  Functions. The language is only in experimental mode on Azure Functions 
  but could be useful if you have a bunch of existing scripts that you want
  to use on the [serverless](/serverless.html) platform.

* [PowerShell Core support in AWS Lambda](https://aws.amazon.com/blogs/developer/announcing-lambda-support-for-powershell-core/)
  is an announcement post that PowerShell can be used in AWS Lambda Functions
  along with how to get started.

* [PowerShellBuild](https://github.com/psake/PowerShellBuild) provides common
  reusable tasks for building PowerShell modules.

* [Invoke-Build](https://github.com/nightroman/Invoke-Build) is a build 
  automation tool. There is also extensive documentation on their 
  [wiki](https://github.com/nightroman/Invoke-Build/wiki).

* [Two months with Powershell on a UNIX](https://code.joejag.com/2020/a-month-with-powershell.html)
  examines one developer's experience using PowerShell not on Windows
  but on a \*nix [operating system](/operating-systems.html). The author
  covers the advantages and disadvantages he found during his experience
  and some of the bugs he hopes are fixed in PowerShell 7.
