Training
Module
Introduction to PowerShell - Training
This module introduces PowerShell, a cross-platform command-line shell and scripting language built for task automation and configuration management.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
PowerShell 7 or higher requires macOS 11 and higher. All packages are available on our GitHub
releases page. After the package is installed, run pwsh
from a terminal. Before installing,
check the list of Supported versions below.
Note
PowerShell 7.4 is an in-place upgrade that removes previous versions of PowerShell 7. Preview versions of PowerShell can be installed side-by-side with other versions of PowerShell. If you need to run PowerShell 7.4 side-by-side with a previous version, reinstall the previous version using the binary archive method.
There are several ways to install PowerShell on macOS. Choose one of the following methods:
If the brew
command isn't found, you need to install Homebrew following their instructions.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Once brew
is installed you can install PowerShell.
The following command installs the latest stable release of PowerShell:
brew install powershell/tap/powershell
Finally, verify that your install is working properly:
pwsh
When new versions of PowerShell are released, update Homebrew's formulae and upgrade PowerShell:
brew update
brew upgrade powershell
Note
The commands above can be called from within a PowerShell (pwsh) host, but then the PowerShell
shell must be exited and restarted to complete the upgrade and refresh the values shown in
$PSVersionTable
.
After you've installed Homebrew, you can install PowerShell.
brew install powershell/tap/powershell-preview
Run the following command to start the preview version of PowerShell:
pwsh-preview
When new versions of PowerShell are released, update Homebrew's formulae and upgrade PowerShell:
brew update
brew upgrade powershell-preview
Note
The commands above can be called from within a PowerShell (pwsh) host, but then the PowerShell
shell must be exited and restarted to complete the upgrade. and refresh the values shown in
$PSVersionTable
.
brew install powershell/tap/powershell-lts
You can now verify your install
pwsh-lts
When new versions of PowerShell are released, run the following command.
brew upgrade powershell-lts
Note
Whether you use the cask or the tap method, when updating to a newer version of PowerShell, use the same method you used to initially install PowerShell. If you use a different method, opening a new pwsh session will continue to use the older version of PowerShell.
If you do decide to use different methods, there are ways to correct the issue using the Homebrew link method.
Starting with version 7.2, PowerShell supports the Apple M-series Arm-based processors. Download the install package from the releases page onto your computer. The links to the current versions are:
You can double-click the file and follow the prompts, or install it from the terminal using the following commands. Change the name of the file to match the file you downloaded.
sudo installer -pkg ./Downloads/powershell-7.4.6-osx-x64.pkg -target /
If you are running on macOS Big Sur 11.5 or higher you may receive the following error message when installing the package:
"powershell-7.4.6-osx-x64.pkg" cannot be opened because Apple cannot check it for malicious software.
There are two ways to work around this issue:
Using the Finder
From the command line
sudo xattr -rd com.apple.quarantine ./Downloads/powershell-7.4.6-osx-x64.pkg
. If you are using
PowerShell 7 or higher, you can use the Unblock-File
cmdlet. Include the full path to the
.pkg
file.Note
This is a known issue related to package notarization that will be addressed in the future.
If you already have the .NET Core SDK installed, it's easy to install PowerShell as a .NET Global tool.
dotnet tool install --global PowerShell
The dotnet tool installer adds ~/.dotnet/tools
to your PATH
environment variable. However, the
currently running shell doesn't have the updated PATH
. You should be able to start PowerShell from
a new shell by typing pwsh
.
PowerShell binary tar.gz
archives are provided for the macOS platform to enable advanced
deployment scenarios. When you install using this method you must also manually install any
dependencies.
Note
You can use this method to install any version of PowerShell including the latest:
Download the install package from the releases page onto your computer. The links to the current versions are:
Use the following commands to install PowerShell from the binary archive. Change the download URL to match the version you want to install.
# Download the powershell '.tar.gz' archive
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.4.6/powershell-7.4.6-osx-x64.tar.gz
# Create the target folder where powershell is placed
sudo mkdir -p /usr/local/microsoft/powershell/7
# Expand powershell to the target folder
sudo tar zxf /tmp/powershell.tar.gz -C /usr/local/microsoft/powershell/7
# Set execute permissions
sudo chmod +x /usr/local/microsoft/powershell/7/pwsh
# Create the symbolic link that points to pwsh
sudo ln -s /usr/local/microsoft/powershell/7/pwsh /usr/local/bin/pwsh
If you installed PowerShell with Homebrew, use the following command to uninstall:
brew uninstall --cask powershell
If you installed PowerShell via direct download, PowerShell must be removed manually:
sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell
To remove the additional PowerShell paths, refer to the paths section in this document and
remove the paths using sudo rm
.
Note
This isn't necessary if you installed with Homebrew.
$PSHOME
is /usr/local/microsoft/powershell/7
/usr/local/bin/pwsh
that points to pwsh
in the $PSHOME
location.~/.config/powershell/profile.ps1
$PSHOME/profile.ps1
~/.local/share/powershell/Modules
/usr/local/share/powershell/Modules
$PSHOME/Modules
~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt
PowerShell respects the XDG Base Directory Specification on macOS.
Microsoft supports PowerShell until PowerShell reaches end-of-support or the version of macOS reaches end-of-support.
Apple determines the support lifecycle of macOS. For more information, see the following:
Microsoft supports the installation methods in this document. There may be other methods of installation available from other sources. While those tools and methods may work, Microsoft can't support those methods.
PowerShell feedback
PowerShell is an open source project. Select a link to provide feedback:
Training
Module
Introduction to PowerShell - Training
This module introduces PowerShell, a cross-platform command-line shell and scripting language built for task automation and configuration management.