Join the PowerShell Track
Task-based command-line shell and scripting language designed especially for system administration.
Join the PowerShell Track
Track mentors

1 Mentor

Our mentors are friendly, experienced PowerShell developers who will help teach you new techniques and tricks.
Track students

66 Students

Join hundreds of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

9 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About PowerShell

Function Get-HelloWorld {
		[Parameter(Mandatory=$false, Position=0)]
		[string]$Person = "World"

	return "Hello, $Person!"

Windows PowerShell® is a task-based command-line shell and scripting language designed especially for system administration. Built on the .NET Framework, Windows PowerShell helps IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows.

Windows PowerShell commands, called cmdlets, let you manage the computers from the command line. Windows PowerShell providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. In addition, Windows PowerShell has a rich expression parser and a fully developed scripting language.

Windows PowerShell includes the following features:

  • Cmdlets for performing common system administration tasks, such as managing the registry, services, processes, and event logs, and using Windows Management Instrumentation (WMI).
  • A task-based scripting language and support for existing scripts and command-line tools.
  • Consistent design. Because cmdlets and system data stores use common syntax and naming conventions, data can be shared easily and the output from one cmdlet can be used as the input to another cmdlet without reformatting or manipulation.
  • Simplified, command-based navigation of the operating system, which lets users navigate the registry and other data stores by using the same techniques that they use to navigate the file system.
  • Powerful object manipulation capabilities. Objects can be directly manipulated or sent to other tools or databases.
  • Extensible interface. Independent software vendors and enterprise developers can build custom tools and utilities to administer their software.

PowerShell has been open sourced and when released, PowerShell Core 6 will be supported on Windows, Linux and MacOS.

Detailed documentation on many PowerShell concepts and features can be found at https://docs.microsoft.com/en-us/powershell

Join the PowerShell track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the PowerShell Track mentors

Once you join the PowerShell language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Kent Chenery

Kent Chenery https://github.com/kchenery

I use Powershell daily to help get my work done. Love it for DevOps work on Windows and now on Linux.
Fun. Challenging. Interesting

Community-sourced PowerShell exercises

These are a few of the 9 exercises on the PowerShell track. You can see all the exercises here.

control flow if else statements
Reverse String
control flow if else statements
Sum Of Multiples
Hello World

Get started with the PowerShell track. As with everything on Exercism, it's 100% free!

Join the PowerShell Track