Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

WindowsでのPowerShellバージョンの更新

この記事では、 Windows PowerShellを更新する方法を紹介します。 最新の5.1にバージョン管理し、 PowerShell Core をインストール(アップグレード)します 7.1。前回の記事では、PowerShellには現在2つのバージョンがあることを説明しました。クラシックな Windows PowerShell (最新バージョンは5.1であり、現在は開発されていません)および新しい PowerShell Core プラットフォーム(バージョン7.1が利用可能になりました)。 PowerShellのバージョン番号は5.1(6.0、6.1、7.0、7.1など)から続いていますが、これらは2つの異なるプラットフォームです。そこで、WindowsPowerShellとPowerShellCoreの両方を更新する方法を示します。

内容:

  • WindowsPowerShell5.1へのアップグレード
  • PowerShell Core 7をインストールまたは更新するにはどうすればよいですか?
  • MicrosoftStoreを介したPowerShellCoreのインストール
  • グループポリシーを使用したPowerShellCoreの展開
  • PowerShellをリモートで更新する

WindowsPowerShell5.1へのアップグレード

PowerShell 4.0は、Windows Server 2012 R2(Windows 8.1)に既定でインストールされます。 Windows Server2012R2でWindowsPowerShellのバージョンを5.1に更新してみましょう。

まず、現在のPowerShellのバージョンを確認します(スクリーンショットはPowerShell 4.0がインストールされていることを示しています):

$PSVersionTable.PSVersion

WindowsでのPowerShellバージョンの更新

PowerShellのバージョンを5.1にアップグレードするには、 Windows Management Framework 5.1をインストールします 、 .NET Framework 4.5.2が必要です (またはそれ以降)。次のコマンドを使用して、.NET4.5.2以降がインストールされていることを確認してください。

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

WindowsでのPowerShellバージョンの更新

私の場合、リリースバージョン378675 .NETFrameworkバージョン4.5.1がインストールされていることを意味します。そのため、最新の.NET Framework 4.8をダウンロードしてインストールする必要があります(オフラインインストーラーへのリンクは次のとおりです:https://go.microsoft.com/fwlink/?linkid =2088631 — ndp48-x86-x64-allos-enu.exe

.NET 4.8をインストールします(コンピューターを再起動する必要があります):

WindowsでのPowerShellバージョンの更新

.NET4.5.2なしでWMF5.1をインストールすると、一部のPowerShell機能が使用できなくなります。

WMF 5.1をダウンロード Windows Server 2012 R2の場合— Win8.1AndW2K12R2-KB3191564-x64.msu (https://go.microsoft.com/fwlink/?linkid=839516)。

Windows Management Framework5.1MSUファイルをインストールします。

WindowsでのPowerShellバージョンの更新

サーバーを再起動したら、PSコンソールを開き、PowerShellのバージョンが5.1に更新されていることを確認します。

WindowsでのPowerShellバージョンの更新

サポートされていないWindows7またはWindowsServer2008 R2を使用している場合は、同じ方法でPowerShellバージョンを2.0から5.1にアップグレードできます。まず、 .Net Framework 4.5.2をインストールします (またはそれ以降)、次に WMF 5.1 (ダウンロードリンクは、Windows Server 2012 R2のダウンロードリンクとは異なります)。

PowerShell Core7をインストールまたは更新する方法

Windows10およびWindowsServer2019にインストールされている最新のWindowsPowerShellバージョンはPowerShell5.1であることに注意してください。代わりに、MicrosoftはクロスプラットフォームのPowerShellCoreバージョンの開発を開始しました。現在、PowerShell Core 6.0、6.1、6.2、7.0、および7.1が利用可能です。 PowerShellコア は本質的に、WindowsPowerShellとともにコンピューターにインストールされる新しいプラットフォームです。これは、PowerShell5.1をPowerShellCore7.1にアップグレードできないことを意味します。 PowerShell 7は、WindowsPowerShell5.1とは別にコンピューターにインストールされます。

PowerShell 7.1では、開発者はWindowsPowerShellとの最大の互換性を追加しました。そのため、PowerShellCoreで古いPS1スクリプトとコマンドレットを簡単に実行できます。

PowerShell Core 6.0がインストールされている場合は、コンピューターのPowerShellバージョンを最新のPowerShell 7.1 Coreに更新できます(または、PowerShellCore7.1をWindowsPowerShell5.1と一緒にインストールできます)。この例では、Windows1020H2でPowerShellCoreを更新しようとします。アップグレードするには2つの方法があります:

  • PowerShellCoreMSIインストーラーはGitHubから手動でダウンロードできます;
  • PowerShellコンソールから直接ダウンロードしてインストール(更新)できます。
PowerShell Coreの最新リリースは、Windows 7 SP1、Server 2008R2以降以降のすべてのバージョンのWindowsにインストールできます。

MSIパッケージを使用してPowerShellCoreをインストールする場合は、プロジェクトページhttps://github.com/PowerShell/PowerShellにアクセスして、最新の安定したリリースを見つけてください。この記事の執筆時点では、これは PowerShell v7.1.3の2021年3月4日のリリースです。 。 PowerShell v7.2.0のより高いプレビューリリースも利用できますが、より安定したバージョンを待つことをお勧めします。 アセットを展開します Windowsバージョンのパッケージを一覧表示して検索します( PowerShell-7.1.3-win-x64.msi またはPowerShell-7.1.3-win-x86.msi )。

WindowsでのPowerShellバージョンの更新

MSIファイルをダウンロードしてインストールします。

WindowsでのPowerShellバージョンの更新

静音モードでSCCM/MDT /scriptsを使用してMSIパッケージからPowerShellCoreをインストールするには、次のパラメーターを指定してコマンドを使用できます。

msiexec.exe /package PowerShell-7.1.0-win-x86.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1

PScliからPowerShellを直接更新できます。

次のコマンドを使用して、最新のPowerShell Coreバージョンを更新(インストール)しましょう:

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

このコマンドは、PowerShell 7.1 MSI配布ファイルをGitHubからダウンロードし、MSIインストーラーを介してインストールを開始します。

他のインストールパラメータを使用することもできます:

  • -宛先 –デフォルトのPowerShellCoreインストールフォルダーを変更します
  • -プレビュー –最新のプレビューPowerShellバージョンをインストールします
  • -静か –静かなインストールモード
  • -AddToPath –PowerShellCoreインストールディレクトリへのパスを環境変数に追加します

WindowsでのPowerShellバージョンの更新

インストールが完了すると、PowerShell Core(pwsh.exe)ウィンドウが表示されます。ここでPowerShellのバージョンをチェックして、PoSh7.1.3であることを確認してください。

WindowsでのPowerShellバージョンの更新

WinGetパッケージマネージャーがインストールされている場合は、PowerShellのバージョンをインストールまたは最新のコマンドに更新できます。

winget install --id=Microsoft.PowerShell -e

または、PowerShellCoreの特定のバージョンをインストールできます。

winget install --id=Microsoft.PowerShell -v "7.1.2" -e

Chocolateyパッケージマネージャーがインストールされている場合は、次のコマンドを使用します。

choco install powershell -y
choco upgrade powershell -y

またはPowerShell7.xの場合:
choco install pwsh -y
choco install pwsh -y

さまざまなPowerShellバージョンのディレクトリに注意してください:

  • Windows PowerShell 5.1:$env:WINDIR\System32\WindowsPowerShell\v1.0
  • PowerShell Core 6.x:$env:ProgramFiles\PowerShell\6
  • PowerShell Core 7.x:$env:ProgramFiles\PowerShell\7

PowerShell 6.xがコンピューターにインストールされている場合は、$env:ProgramFiles\PowerShell\6 PowerShell 7.1をインストールすると、ディレクトリは自動的に削除されます。

PowerShell実行可能ファイルの名前が変更されていることに注意してください。 PowerShell Coreでは、 c:\ Program Files \ PowerShell \ 7 \ pwsh.exe 。スタートメニューに独自のアイコンがあります。

  • .NETFrameworkベースのWindowsPowerShellを実行するには、powershell.exe コマンドが使用されます
  • .NETCoreベースのPowerShellCoreを実行するには、pwsh.exeを使用します

WindowsでのPowerShellバージョンの更新

これは、WindowsPowerShell5.1とPowerShellCore7.1の両方がコンピューターにインストールされていることを意味します。

WindowsでのPowerShellバージョンの更新

デバイスにインストールされているPowerShellのバージョンとビルドを確認するには、pwsh.exeファイルのバージョンを確認します。

(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version

WindowsでのPowerShellバージョンの更新

これは、リモートコンピューター上のファイルのバージョンを確認する方法です。

Invoke-Command -Computername computer1 -Scriptblock {(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version}

Windows PowerShellには、新しいバージョンがインストールされている場合でも、古いバージョンのPowerShellを実行できる特別な下位互換モードが用意されています。次のコマンドを使用して、特定のバージョン(4.0など)のPowerShellを起動できます。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4

MicrosoftStoreを介したPowerShellCoreのインストール

Windows 10では、MicrosoftストアからPowerShellをインストールまたは更新できます。ストアでPowerShellアプリを手動で見つけるか、このリンクを使用できます。このインストール方法の利点は、ストアアプリがインストールされているPowerShellのバージョンを追跡し、アプリの更新が利用可能になると自動的にインストールすることです。

ただし、そのようなPowerShellインスタンスがサンドボックスで実行されるという事実にも欠点があります。

WindowsでのPowerShellバージョンの更新

APPX / MSIXアプリケーションファイルをダウンロードして、Add-AppxPackageを使用してインストールできます。 コマンドレット(または「MicrosoftStoreの修復」の記事で説明されているとおり)

グループポリシーを使用したPowerShellコアの展開

Active Directoryドメインでは、グループポリシーを使用して、PowerShellCoreを一元的に展開および更新できます。 GPOの機能を使用してMSIパッケージをインストールします。

  1. PowerShell MSIインストールファイルをダウンロードして、ドメインコントローラーのSYSVOLディレクトリにコピーします。
  2. ドメイングループポリシー管理コンソール(gpmc.msc)を開きます )、新しいGPOを作成し、それをコンピューターとサーバーを使用してOUにリンクします。
  3. GPOセクションに移動しますコンピューターの構成 ->ソフトウェア設定 、新しいパッケージを作成し、ドメインのSYSVOLフォルダーにあるPowerShell MSIインストールファイルへのパスを指定します(UNCパスを使用します)。 WindowsでのPowerShellバージョンの更新 GPO WMIフィルターを使用して、ポリシーをドメインデバイスにさらに正確にターゲティングできます。
  4. ソフトウェアのインストールグループポリシー設定を更新するには、コンピューターを再起動する必要があります。新しいバージョンのPowerShellは、起動時にすべてのコンピューターにインストールされます。
PowerShellをリモートで更新する

次のいずれかの方法を使用して、コマンドプロンプトからリモートコンピューター上のPowerShellを更新できます。

最初の方法では、共有ネットワークフォルダー内のMSIインストーラーを使用して、コンピューター上のPowerShellをリモートで更新できます。

Invoke-Command -ComputerName mun-srv01 -ScriptBlock {Start-Process msiexec.exe -ArgumentList '/package "\\mun-fs01\install\PowerShell-7.1.3-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1' -Wait}

次のスクリプトは、ActiveDirectoryドメインからすべてのアクティブなWindows10コンピューターを選択し、それぞれにPowerShellCoreのダウンロードとインストールを開始します。

GetADComputerコマンドレットを使用するには、ActiveDirectoryPowerShellモジュールがデバイスにインストールされている必要があります。
$ADComputers = Get-ADComputer -Filter 'operatingsystem -like "*Windows 10*" -and enabled -eq "true"'
ForEach ($computer in $ADcomputers) {
Invoke-Command -ComputerName $computer {iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"}
}

リモートコンピューターに接続するときにPowerShellRemotingコマンドを使用する場合は注意してください(Enter-PSSessionを使用) およびInvoke-Command コマンドレット)。 PowerShell 7.1エンドポイントに接続する必要がある場合は、次のコマンドを使用する必要があります。

Enter-PSSession -ComputerName dc01 -ConfigurationName "powershell.7.1.3"

それ以外の場合は、PowerShellRemoting5.1エンドポイントに接続します。


  1. Windows 11 で PowerShell のバージョンをすばやく確認する方法

    PowerShell は、Windows 10 と Windows 11 の強力で便利なツールですが、PowerShell を更新する必要がある場合はどうすればよいでしょうか? Windows で使用している PowerShell のバージョンを知っていますか?このガイドに従って、使用している Windows 11 の PowerShell のバージョンを確認する方法を確認してください winget とも呼ばれる Windows パッケージ マネージャー は、コマンド プロンプトまたは PowerShell からアプリをインストール、管理、構成、さらにはアンインストールするために使用できるコ

  2. Windows 11 で Powershell を更新する方法

    Windows オペレーティング システムを最新のソフトウェアとセキュリティ更新プログラムで最新の状態に保つことは、コンピューターを維持するために不可欠です。これは、以前のバージョンの Windows よりも安全になるように設計された Windows 11 に特に当てはまります。ただし、セキュリティ上の問題がまったくないわけではありません。また、Windows OS を最新の状態に保つことは、Microsoft から利用可能になった新しい機能にアクセスできることも意味します。 私たちのブログの定期的な読者であれば、ソフトウェアの更新とパッチ適用の重要性をすでにご存知かもしれません。通常、これ