To install PowerShell on Windows Full SKU (works on Win8 and above - x64 based systems), download either the MSI from AppVeyor for a nightly build,
or a released package from our GitHub releases page. The MSI file looks like this - PowerShell_6.0.0.buildversion.msi
Once downloaded, double-click the installer and follow the prompts.
There is a shortcut placed in the Start Menu upon installation.
By default the package is installed to
$env:ProgramFiles\PowerShell\
You can launch PowerShell via the Start Menu or
$env:ProgramFiles\PowerShell\powershell.exe
Note: On Windows 8.1 / Windows 2012R2, ensure Visual C++ Redistributable for VS2015 is installed from here:
Beginning with 6.0.0-alpha.9, the PowerShell package for Windows includes a WinRM plugin (pwrshplugin.dll) and an installation script (Install-PowerShellRemoting.ps1). These files enable PowerShell to accept incoming PowerShell remote connections when its endpoint is specified.
An installation of PowerShell can establish PowerShell sessions to remote computers using New-PSSession
and Enter-PSSession
.
To enable it to accept incoming PowerShell remote connections, the user must create a WinRM remoting endpoint.
This is an explicit opt-in scenario where the user runs Install-PowerShellRemoting.ps1 to create the WinRM endpoint.
The installation script is a short-term solution until we add additional functionality to Enable-PSRemoting
to perform the same action.
For more details, please see issue #1193.
The script
- Creates a directory for the plugin within %windir%\System32\PowerShell
- Copies pwrshplugin.dll to that location
- Generates a configuration file
- Registers that plugin with WinRM
The script must be executed within an Administrator-level PowerShell session and runs in two modes.
- Executed by the instance of PowerShell that it will register
Install-PowerShellRemoting.ps1
- Executed by another instance of PowerShell on behalf of the instance that it will register.
<path to powershell>\Install-PowerShellRemoting.ps1 -PowerShellHome "<absolute path to the instance's $PSHOME>" -PowerShellVersion "<the powershell version tag>"
For Example:
C:\Program Files\PowerShell\6.0.0.9\Install-PowerShellRemoting.ps1 -PowerShellHome "C:\Program Files\PowerShell\6.0.0.9\" -PowerShellVersion "6.0.0-alpha.9"
Create a PowerShell session to the new PowerShell endpoint by specifying -ConfigurationName "some endpoint name"
. To connect to the PowerShell instance from the example above, use either:
New-PSSession ... -ConfigurationName "powershell.6.0.0-alpha.9"
Enter-PSSession ... -ConfigurationName "powershell.6.0.0-alpha.9"
Note that New-PSSession
and Enter-PSSession
invocations that do not specify -ConfigurationName
will target the default PowerShell endpoint, microsoft.powershell
.
We publish an archive with CoreCLR and FullCLR bits on every CI build with AppVeyor.
- Download zip package from artifacts tab of the particular build.
- Unblock zip file: right-click in File Explorer -> Properties -> check 'Unblock' box -> apply
- Extract zip file to
bin
directory ./bin/powershell.exe