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

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

はじめに:Windows 10に搭載されたPackageManagementとは

Windows 10には、開発者によって新しいPowerShellモジュールPackageManagementが組み込まれています。PackageManagement(以前はOneGetと呼ばれていました)を使うと、外部またはローカルのリポジトリからアプリケーションやプログラムをインストール・管理・アンインストールでき、接続済みリポジトリの一覧もPowerShellコンソールからまとめて管理できます。つまり、Linuxでおなじみのapt-get installコマンドのように、Windows 10 / Windows Server 2016でもコマンドラインからプログラムをインストールできるようになったのです。

PackageManagementモジュールを使えば、新しいソフトウェアの導入が格段に簡単になります。インストールはPowerShellコマンドを1つ実行するだけで完了し、Web上で配布ファイルを探してダウンロードする手間がありません。その結果、古いバージョンやマルウェアに感染したプログラムを誤って入手するリスクも軽減されます。ソフトウェアは必ず信頼できるソースから提供され、リポジトリ側で更新が公開されれば、クライアント側でも自動的に最新版へ更新できます。

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

PackageManagementモジュールの基本

PackageManagementモジュールはWindows 10に標準で統合されており、動作にはPowerShell 5が必要です。Windows 8.1で使用する場合は、事前にWindows Management Framework 5.0をインストールしておきましょう。また、MicrosoftはPowerShell v3およびv4向けに個別のPackageManagementモジュールも公開しています。

PackageManagementモジュールで利用可能なコマンドレットの一覧を表示するには、次のコマンドを実行します。

Get-Command -Module PackageManagement

現在のモジュールバージョン(v 1.0.0.1)では、以下のコマンドレットが利用できます。

  • Find-Package – 利用可能なリポジトリからパッケージ(プログラム)を検索する
  • Get-Package – インストール済みパッケージの一覧を表示する
  • Get-PackageProvider – コンピューターで利用可能なパッケージプロバイダーの一覧を表示する
  • Get-PackageSource – 利用可能なパッケージソースの一覧を表示する
  • Install-Package – パッケージ(プログラム)をコンピューターにインストールする
  • Register-PackageSource – プロバイダー用のパッケージソースを追加する
  • Save-Package – インストールせずにパッケージをローカルに保存する
  • Set-PackageSource – プロバイダーをパッケージソースとして設定する
  • Uninstall-Package – プログラム(パッケージ)をアンインストールする
  • Unregister-PackageSource – パッケージソースの一覧からプロバイダーを削除する

パッケージプロバイダーについて

パッケージは、それぞれ異なるソースからパッケージを取得できる複数のプロバイダーによって処理されます。利用可能なプロバイダーの一覧を表示するには、次のコマンドを実行します。

Find-PackageProvider

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

デフォルトでは、システムに2つのパッケージソースが登録されています。nuget.orgと、Microsoft公式のPowerShellスクリプトオンラインギャラリーであるPSGalleryです。これらは主に開発者やシステム管理者向けに設計されています。

補足:Nano Server環境には、専用のプロバイダーNanoServerPackageが用意されています。詳細は次回の記事で解説します。

人気リポジトリ「Chocolatey」を接続する

アプリケーションソフトウェアのリポジトリにアクセスするため、ここでは4,500以上の多彩なプログラムを収録した人気のソフトウェアリポジトリChocolateyを接続してみましょう。

まず、新しいプロバイダーChocolateyをインストールします。

Install-PackageProvider chocolatey

「Y」キーを押してプロバイダーのインストールを確定してください。

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

パッケージをインストールするたびに確認を求められないよう、Chocolateyを信頼されたパッケージソースとして設定しておきます。

Set-PackageSource -Name chocolatey -Trusted

Chocolateyがアプリケーションリポジトリとして正しく認識されているか、次のコマンドで確認しましょう。

Get-PackageSource

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する
Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
PSGallery                        PowerShellGet    False      https://www.powershellgallery.com/api/v2/
chocolatey                       Chocolatey       True       https://chocolatey.org/api/v2/

Chocolateyリポジトリからアプリケーションをインストールする

それでは、実際にChocolateyからアプリケーション(パッケージ)をインストールする手順を見ていきましょう。

利用可能なアプリケーションの一覧は、Chocolatey公式サイト(https://chocolatey.org/packages)から直接確認できます。

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

もちろん、PowerShellコンソールから直接アプリを検索してインストールすることも可能です。たとえば、PDFファイルを閲覧するためにAdobe Acrobat Readerを導入したいとします。アプリの正式なパッケージ名がわからない場合は、まずリポジトリ内での名称を調べる必要があります。「adobe」というキーワードでリポジトリを検索してみましょう。

Find-Package -Name *adobe* -Source Chocolatey

このキーワードを含むすべてのパッケージの一覧がコンソールに表示されます。ここで必要なのはadobereaderです(Name列に表示されたパッケージ名を使用します)。

Adobe Readerパッケージのインストールを実行します。

Install-Package -Name adobereader -ProviderName Chocolatey

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

PowerShellウィンドウの上部には、Adobe Readerパッケージがダウンロード中であることを示す進行状況バーが表示されます。ダウンロードが完了すると、すぐにアプリケーションがシステムへインストールされます。

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

もう一つ例を挙げます。SysInternalsツールセットが必要になった場合も、手動でダウンロードする代わりに、Chocolateyでパッケージを検索してそのままインストールできます。

Find-Package -Name Sysinternals | Install-Package

このパッケージはインストール作業を伴わないため、そのままコンピューターに保存され、C:\Chocolatey\lib\フォルダ以下に格納されます。この例では C:\Chocolatey\lib\sysinternals.2016.11.18\tools が該当します。

Windows 10のPowerShell PackageManagement活用法!コマンド1つでアプリをインストール・管理する

さらに便利なことに、複数のアプリケーションを1つのコマンドでまとめてインストールすることもできます。

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

パッケージをアンインストールする方法

パッケージのアンインストールも、コマンド1つで完結します。たとえば、Adobe Readerを削除したい場合は、次のコマンドを実行するだけです。

Uninstall-Package adobereader

以上、PowerShellのコマンドラインからWindowsアプリケーションをインストールする新しい手法を紹介しました。今後は、CLI操作に不慣れな一般ユーザーでも直感的にソフトウェアのインストール/アンインストールを管理できる、PackageManagement向けのグラフィカルなアドインが登場する可能性もあります。コマンドラインでのソフトウェア管理に慣れておけば、システム構築や運用の効率化に大きく役立つでしょう。

  1. Windows 10のPowerShellでファイルをダウンロードする方法【コマンド例付き】

    Windows 10に搭載されているWindows PowerShellは、コマンドプロンプトをはるかに上回る機能を持つ強力なツールです。OSに対してより高度な操作と制御を提供できるため、近い将来コマンドプロンプトに取って代わるとも言われています。Microsoftが開発したPowerShellは、タスクの自動化や構成管理を目的としたツールで、.NET Frameworkをベースに、コマンドラインインターフェースとスクリプト言語を備えています。 PowerShellでファイルをダウンロードする手順 ここでは、シンプルなコマンドを使って、Windows PowerShellからインターネット上の

  2. PowerShellでドライバーを一括エクスポートする方法【Windows 10】

    PowerShellをご存じでしょうか?PowerShellは、Windowsのシステム管理のために設計されたコマンドラインシェルおよびスクリプト言語です。Windows 10には最新バージョンであるPowerShell 5.0が標準搭載されており、ハードディスクのパーティション分割やシステムイメージの作成など、非常に便利な操作を実行できる強力なツールです。 この記事では、PowerShellの具体的な活用例として、「システムにインストールされているすべてのドライバーを外部のUSBメモリやDVDなどにエクスポート(書き出し)する方法」をご紹介します。この方法を使えば、システム上の全ドライバーを