web-dev-qa-db-ja.com

コマンドラインからPowershellを更新する

マシンの Powershell バージョンを更新したい。これはコマンドラインから実行できますか?

私の現在のニーズは、Windowsサーバー2012R2でPS 4からPS 5に更新することです。

すべてのWindowsバージョンとすべてのPSバージョンに PS4はDotnet4.5を必要とする のような警告が混在しているため、包括的な解決策はないので、上の最初の2つの文のように、質問をできるだけ単純にしましょう。

4
LosManos

これを行うには、独自のスクリプトを記述する必要があります。は、事前に作成されたものであり、ユーザーの努力なしにこれを実行します。 Webからファイルをダウンロードしてインストールすることは、非常に一般的な方法です。これを行う方法に関するオンラインの説明とビデオがたくさんあります。

翻訳:

  1. AlexandrがポイントするURLにアクセスする必要があります。
  2. ダウンロードをクリックして次のページに移動し、直接URLにアクセスしてそのリンクを保存します。
  3. 次に、PowerShell Webコマンドレットを使用して、そのファイルをダウンロードします
  4. 次に、コマンドレットを使用してインストールまたはサイレントインストールを開始します。

ウェブからファイルをダウンロードする方法のトピックに関するウェブ上の多くの例があります。ビルド済みのサンプルでさえ、レビューして調整することができます。

MS PowerShellギャラリーを出発点としてご覧ください。

または、例については、PowerShellビルトインまたはオンラインヘルプを参照してください。

# Get parameters, examples, full and Online help for a cmdlet or function

(Get-Command -Name Invoke-WebRequest).Parameters
Get-help -Name Invoke-WebRequest -Examples
Get-help -Name Invoke-WebRequest -Full
Get-help -Name Invoke-WebRequest -Online

(Get-Command -Name Invoke-Command).Parameters
Get-help -Name Invoke-Command -Examples
Get-help -Name Invoke-Command -Full
Get-help -Name Invoke-Command -Online

(Get-Command -Name Start-Process).Parameters
Get-help -Name Start-Process -Examples
Get-help -Name Start-Process -Full
Get-help -Name Start-Process -Online
0
postanote

Chocolateyを使ったちょっとしたトリックです

#Install Chocolatey
#region
echo "Setting up Chocolatey software package manager"
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

Get-PackageProvider -Name chocolatey -Force

echo "Setting up Full Chocolatey Install"
Install-Package -Name Chocolatey -Force -ProviderName chocolatey
$chocopath = (Get-Package chocolatey | 
            ?{$_.Name -eq "chocolatey"} | 
                Select @{N="Source";E={((($a=($_.Source -split "\\"))[0..($a.length - 2)]) -join "\"),"Tools\chocolateyInstall" -join "\"}} | 
                    Select -ExpandProperty Source)
& $chocopath "upgrade all -y"
choco install chocolatey-core.extension --force

echo "Creating daily task to automatically upgrade Chocolatey packages"
# adapted from https://blogs.technet.Microsoft.com/heyscriptingguy/2013/11/23/using-scheduled-tasks-and-scheduled-jobs-in-powershell/
$ScheduledJob = @{
    Name = "Chocolatey Daily Upgrade"
    ScriptBlock = {choco upgrade all -y}
    Trigger = New-JobTrigger -Daily -at 2am
    ScheduledJobOption = New-ScheduledJobOption -RunElevated -MultipleInstancePolicy StopExisting -RequireNetwork
}
Register-ScheduledJob @ScheduledJob
#endregion

#Update Powershell
#region
$ErrorActionPreference = "silentlycontinue"

$PSVersionTable.PSVersion
choco install powershell -y
choco upgrade powershell -y

$ErrorActionPreference = "continue"
#endregion
2
Remy van Tour

管理者としてPowershellを開き、次のコマンドを入力します。

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Preview"
2
Ariel Ponce

試してみてください:iex "&{$(irm https://aka.ms/install-powershell.ps1 )} -UseMSI"

次に、パラメーターを指定してMSIを実行します。

この後、モジュールを更新する必要があります。

参照:

https://www.thomasmaurer.ch/2019/03/how-to-install-and-update-powershell-6/

https://www.thomasmaurer.ch/2019/02/update-powershellget-and-packagemanagement/

1
Ariel D

WMF 5.0は here からダウンロードする必要があります。次に、cmdからコマンドを実行します。

wusa.exe D:\W2K12-KB3134759-x64.msu

または、パッケージをダウンロードした場所。

1