HowTo Install Microsoft PowerShell

From NST Wiki
Jump to navigationJump to search


PowerShell is built on the .NET Framework, PowerShell is a task-based command-line shell and scripting language; it is designed specifically for system administrators and power-users, to rapidly automate the administration of multiple operating systems (Linux, macOS, Unix, and Windows) and the processes related to the applications that run on those operating systems.

Learning PowerShell

Whether you're a Developer, a DevOps or an IT Professional, this doc will help you getting started with PowerShell. In this document we'll cover the following: installing PowerShell, samples walkthrough, PowerShell editor, debugger, testing tools and a map book for experienced bash users to get started with PowerShell faster.

PowerShell Installation Instructions

PowerShell Core, for Linux, is published to package repositories for easy installation (and updates). Below is the preferred method for installation for the "nst" sudo user:

# Register the Microsoft signature key
sudo rpm --import;

# Register the Microsoft RedHat repository
curl | sudo tee /etc/yum.repos.d/microsoft.repo;

# Update the list of products
sudo dnf update;

# Install a system component
sudo dnf install compat-openssl10;

# Install PowerShell
sudo dnf install -y powershell;

# Start PowerShell

# Or Instead Install the Latest PowerShell Preview Version
sudo dnf install -y powershell-preview;

# Start the PowerShell Preview Version

Get the Installed PowerShell Version

Use the Automatic variable: "$PSVersionTable" to get PowerShell versioning information. Automatic variables store state information for PowerShell. These variables are created and maintained by PowerShell. The Get-Variable command displays the currently defined Automatic variables.

# Get PowerShell Version
[nst@d630 ~]$ pwsh-preview 
PowerShell v6.1.0-preview.3
Copyright (c) Microsoft Corporation. All rights reserved.
Type 'help' to get help.

PS /home/nst> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.3
PSEdition                      Core
GitCommitId                    v6.1.0-preview.3
OS                             Linux 4.17.3-200.fc28.x86_64 #1 SMP Tue Jun 26 14:17:07 UTC 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
WSManStackVersion              3.0

PS /home/nst> exit
[nst@d630 ~]$