General Information

What is PowerShell?

PowerShell is Microsoft's Command Line Interface for Windows systems, it provides access to:

  • Existing Windows Command Line tools.

  • PowerShell Cmdlets (PowerShell own Commands)

  • PowerShell Functions

  • Access to the .Net Framework API

  • Access to WMI (Windows Management Instrumentation

  • Access to Windows COM (Component Object Model)

  • Access to function in Windows DLL (Dynamic Linked Libraries)

I would like to note that there is now PowerShell available for unix-based operating systems.

Is it similar to shell on unix?

There are some key differences between unix-based systems and Windows that are important for scripting and automation:

Unix/Linux

Windows

Possible resource

File System

Everything is mounted under the "/" and it has quite strict structure

usage of drives for mountpoints

Configuration

File based (everything is a file)

mix of files and Windows Registry

Application Distribution

One central package manager (yum, apt, pacman, etc.)

No centralized option (there is microsoft store for some applications though).

Important to note here, that while one can install anything anywhere on windows, installators are using registry to have information about locations stored in one place.

Shell

string and binary based

object and binary based

PowerShell Versions and Support Matrix

PowerShell Version

Release Date

Default Windows Versions

Available Windows Versions

PowerShell 3.0

September 2012

Windows 8 Windows Server 2012

PowerShell 4.0

October 2013

Windows 8.1 Windows Server 2012 R2

PowerShell 5.1

January 2017

Windows 10 Anniversary Update Windows Server 2016

* Has to be installed through Server manager ** Also integrated in all later Windows versions

PowerShell Core

PowerShell Core is the successor of Windows PowerShell 5.1 and runs on Windows, Linux and macOS. The table below lists all supported operating systems and the FAQ at the end of this article answers important questions about the difference between Windows PowerShell and PowerShell Core.

OS

Windows PowerShell 5.1

PowerShell Core 6.0

Windows

Windows 7 SP1Windows 8.1Windows 10Windows Server 2008 R2 SP1+Windows Server 2012Windows Server 2012 R2Windows Server 2016

Windows 7 SP1Windows 8.1Windows 10 1607+Windows Server 2008 R2 SP1+Windows Server 2012Windows Server 2012 R2Windows Server 2016

macOS

-

10.12+

Red Hat Enterprise Linux

-

7

CentOS

-

7

Oracle Linux

-

7

Fedora

-

25, 26

Debian

-

8.7+, 9

Ubuntu

-

14.04, 16.04, 17.04 18, 17

openSUSE

-

42.2+

Arch Linux

-

N/A

Kali

-

N/A

Raspbian

-

N/A

PowerShell Architecture

Last updated