Chocolatey Fest - Chocolatey's inaugural conference on Windows Automation (WinOps) is coming - Learn more!

This is not the latest version of powershell-core (Install) available.

powershell-core (Install)

6.0.4

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package skips automatic verification:

Requires https://chocolatey.org/packages/kb2999226 which requires a reboot after installation. This is required to have the install be successful on older systems.


This package was approved as a trusted package on 8/11/2018.

PowerShell Core is the open source multiplatform version of PowerShell

Preview releases are under the package id powershell-preview so that they can be safely installed and maintained side-by-side with the release versions on production systems.
Preview versions do not become the default powershell core edition on a system (unless they are the ONLY edition), if you have a preview version installed, access it via pwsh's '-pre' switch.

This package automatically does verbose MSI logging to %temp%(packagenameandversion).MsiInstall.log

Some helpful install options (any of them can be combined - delimited by space):

* Any MSI Properties the package responds to can be specified in the same way, even if not documented here.

--install-arguments='"ADDEXPLORERCONTEXTMENUOPENPOWERSHELL=1"'
Installs a right click context menu to start a PowerShell Core prompt for a specific folder.

--install-arguments='"REGISTER_MANIFEST=1"'
Causes PowerShell Core to deliver logs to Windows Event logs.

--install-arguments='"ENABLE_PSREMOTING=1"'
Enable PS remoting during installation.

--install-arguments='"ADDEXPLORERCONTEXTMENUOPENPOWERSHELL=1 REGISTERMANIFEST=1 ENABLEPSREMOTING=1"'
Do it all.

--packageparameters '"/CleanUpPath"'
Removes all powershell core paths before starting install. Cleans up old paths from old powershell core MSIs.

To install powershell-core (Install), run the following command from the command line or from PowerShell:

C:\> choco install powershell-core --version 6.0.4

To upgrade powershell-core (Install), run the following command from the command line or from PowerShell:

C:\> choco upgrade powershell-core --version 6.0.4

Files

Hide
  • tools\chocolateyinstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    
    $packageName= 'powershell-core'
    $toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $Version = "6.0.4"
    $InstallFolder = "$env:ProgramFiles\PowerShell\$Version"
    
    If (Test-Path "$InstallFolder\pwsh.exe")
    {
      Write-output "$packagename version $PFSubfolder is already installed by another means."
      Exit 0
    }
    
    $packageArgs = @{
      packageName   = $packageName
      unzipLocation = $toolsDir
      fileType      = 'MSI'
      url           = "https://github.com/PowerShell/PowerShell/releases/download/v$version/PowerShell-$version-win-x86.msi"
      url64bit      = "https://github.com/PowerShell/PowerShell/releases/download/v$version/PowerShell-$version-win-x64.msi"
    
      softwareName  = "PowerShell-6.0.*"
    
      checksum      = '7490D13D797E7E1398EFDCD1E5253611D419B672B45B94D8AA99F837ABC4899C'
      checksumType  = 'sha256'
      checksum64    = 'D511E8C409E0B67923B39741080BE3FD187EA1E600A0838FC8E2C2388976D4EC'
      checksumType64= 'sha256'
    
      silentArgs    = "/qn /norestart /l*v `"$($env:TEMP)\$($packageName).$($env:chocolateyPackageVersion).MsiInstall.log`"" # ALLUSERS=1 DISABLEDESKTOPSHORTCUT=1 ADDDESKTOPICON=0 ADDSTARTMENU=0
      validExitCodes= @(0, 3010, 1641)
      }
    
    $pp = Get-PackageParameters
    
    if ($pp.CleanUpPath) {
      Write-Host "/CleanUpSystemPath was used, removing all PowerShell Core path entries before installing"
      & "$toolsDir\Reset-PWSHSystemPath.ps1" -PathScope Machine, User -RemoveAllOccurances
    }
    
    If ($PSVersionTable.PSVersion -ilike '6*')
    {
      Write-Warning "You are running this package under PowerShell core, replacing an in-use version may be unpredictable or require multiple attempts."
    }
    
    Install-ChocolateyPackage @packageArgs
    
    Write-Output "************************************************************************************"
    Write-Output "*  INSTRUCTIONS: Your system default PowerShell version has not been changed."
    Write-Output "*   PowerShell Core $version, was installed to: `"$installfolder`""
    Write-Output "*   To start PowerShell Core $version, at a prompt or the start menu execute:"
    Write-Output "*      `"pwsh.exe`""
    Write-Output "*   Or start it from the desktop or start menu shortcut installed by this package."
    Write-Output "************************************************************************************"
    
    Write-Output "**************************************************************************************"
    Write-Output "*  As of OpenSSH 0.0.22.0 Universal Installer, a script is distributed that allows   *"
    Write-Output "*  setting the default shell for openssh. You could call it with code like this:     *"
    Write-Output "*    If (Test-Path `"$env:programfiles\openssh-win64\Set-SSHDefaultShell.ps1`")         *"
    Write-Output "*      {& `"$env:programfiles\openssh-win64\Set-SSHDefaultShell.ps1`" [PARAMETERS]}     *"
    Write-Output "*  Learn more with this:                                                             *"
    Write-Output "*    Get-Help `"$env:programfiles\openssh-win64\Set-SSHDefaultShell.ps1`"               *"
    Write-Output "*  Or here:                                                                          *"
    Write-Output "*    https://github.com/DarwinJS/ChocoPackages/blob/master/openssh/readme.md         *"
    Write-Output "**************************************************************************************"
    
  • tools\LICENSE.txt Show
    From: https://raw.githubusercontent.com/PowerShell/PowerShell/master/LICENSE.txt
    
    LICENSE
    
    PowerShell 6.0
    
    Copyright (c) Microsoft Corporation
    
    All rights reserved.
    
    MIT License
    
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the ""Software""), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    
  • tools\Reset-PWSHSystemPath.ps1 Show
    <#
    .SYNOPSIS
      Idempotently removes extra PowerShell Core paths from the machine, user and/or process environment scope with no reordering.
    
    .DESCRIPTION
      Defaults to machine scope and leaving the last sorted path alone.
      Does not touch path if there is nothing to clean.
      Emits one simple log line about it's actions for each scope.
    
      Also accessible in the powershell-core Chocolatey package by using -params '"/CleanUpSystemPath"'
    
    .PARAMETER PathScope
      Set of machine scopes to clean up.  Valid options are one or more of: Machine, User, Process.
      Default: machine
    
    .PARAMETER RemoveAllOccurences
      By default the cleanup leaves the highest sorted PowerShell Core path alone.  
      This switch causes it to be cleaned up as well.
      Default: false
    
    .EXAMPLE
      .\Reset-PWSHSystemPath.ps1
      
      Removes all PowerShell core paths but the very last one when sorted in ascending order from the Machine level path.
      Good for running on systems that already has at least one valid PowerShell install.
    
    .EXAMPLE
      .\Reset-PWSHSystemPath.ps1 -RemoveAllOccurences
      
      Removes ALL PowerShell core paths from the Machine level path.
      Good for running right before upgrading PowerShell core.
    .EXAMPLE
      .\Reset-PWSHSystemPath.ps1 -PathScope Machine, User, Process
    
      Removes all paths but the very last one when sorted in ascending order.
      Processes all path scopes including current process.
    .EXAMPLE
      .\Reset-PWSHSystemPath.ps1 -PathScope Machine, User, Process -RemoveAllOccurencs
    
      Removes all paths from all path scopes including current process.
    #>
    param (
      [ValidateSet("machine","user","process")]
      [string[]]$PathScope="machine",
      [switch]$RemoveAllOccurences
    )
    ForEach ($PathScopeItem in $PathScope)
    {
      $AssembledNewPath = $NewPath = ''
      $pathstoremove = @([Environment]::GetEnvironmentVariable("PATH","$PathScopeItem").split(';') | Where { $_ -ilike "*\Program Files\Powershell\6*"})
      If (!$RemoveAllOccurences) 
      {
        $pathstoremove = @($pathstoremove | sort-object | Select-Object -skiplast 1)
      }
      Write-Host "Reset-PWSHSystemPath: Found $($pathstoremove.count) paths to remove from $PathScopeItem path scope: $($Pathstoremove -join ', ' | out-string)"
      If ($pathstoremove.count -gt 0)
      {
        foreach ($path in [Environment]::GetEnvironmentVariable("PATH","$PathScopeItem").split(';'))
        {
          If ($Path)
          {
            If ($pathstoremove -inotcontains "$Path")
            {
              [string[]]$Newpath += "$path"
            }
          }
        }
        $AssembledNewPath = ($newpath -join(';')).trimend(';')
        $AssembledNewPath -split ';'
        [Environment]::SetEnvironmentVariable("PATH",$AssembledNewPath,"$PathScopeItem")
      }
    }
  • tools\VERIFICATION.txt Show
    VERIFICATION
    Verification is intended to assist the Chocolatey moderators and community
    in verifying that this package's contents are trustworthy.
    
    Retrieve the SHA256 value for the specific release MSI you will install from
    this page: https://github.com/PowerShell/PowerShell/releases
    
    Calculate the SHA256 on the file and compare.
    
    The package also contains and performs the checksum even when it has the source
    internally.
    

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Dependencies

Package Maintainer(s)

Software Author(s)

  • Microsoft

Copyright

Microsoft

Tags

Release Notes

Product Release Notes https://github.com/PowerShell/PowerShell/releases/tag/v6.1.0-preview.3
Package release Notes:
v6.1.0-preview.2
- new utility script Reset-PWSHSystemPath.ps1 included to clean up old path entries
left by previous MSI installs. This problem should not occur going forward. To learn how to use this utility
directly use "get-help $env:chocolateyinstall\lib\powershell-core\tools\Reset-PWSHSystemPath.ps1"
- new chocolatey package switch to invoke path cleanup /CleanUpPath

Version History

Version Downloads Last updated Status
powershell-core (Install) 6.1.0-rc1 135 Wednesday, August 29, 2018 approved
powershell-core (Install) 6.1.0-preview-3 282 Thursday, June 14, 2018 approved
powershell-core (Install) 6.1.0-preview-2 170 Saturday, April 28, 2018 approved
powershell-core (Install) 6.1.0-preview-1 235 Tuesday, March 27, 2018 approved
powershell-core (Install) 6.0.4 10102 Saturday, August 11, 2018 approved
powershell-core (Install) 6.0.2.20180727 4952 Friday, July 27, 2018 approved
powershell-core (Install) 6.0.2.20180704 7726 Wednesday, July 4, 2018 approved
powershell-core (Install) 6.0.2 2416 Saturday, March 17, 2018 approved
powershell-core (Install) 6.0.1 1402 Thursday, January 25, 2018 approved
Show More

Discussion for the powershell-core (Install) Package

Ground rules:

  • This discussion is only about powershell-core (Install) and the powershell-core (Install) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or powershell-core (Install), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus
Chocolatey.org uses cookies to enhance the user experience of the site.
Ok