Install-Module
リポジトリから 1 つ以上のモジュールをダウンロードし、ローカル コンピューターにインストールします。
構文
Install-Module
[-Name] <string[]>
[-MinimumVersion <version>]
[-MaximumVersion <version>]
[-RequiredVersion <version>]
[-Repository <string[]>]
[-Scope <string>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-Module
[-InputObject] <psobject[]>
[-Scope <string>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Install-Module
コマンドレットは、オンライン リポジトリから、指定された条件を満たす 1 つ以上のモジュールを取得します。 このコマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールしたモジュールは、インストール後に自動的にインポートされません。
インストールされているモジュールは、指定したモジュールの最小、最大、正確なバージョンに基づいてフィルター処理できます。
インストールされているモジュールの名前またはバージョンが同じか、または既存のモジュールにコマンドが含まれている場合は、警告メッセージが表示されます。 モジュールをインストールし、警告をオーバーライドすることを確認したら、 -Force
パラメーターを使用します。 リポジトリの設定によっては、モジュールのインストールを続行するためのプロンプトに答える必要がある場合があります。
これらの例では、登録されている唯一のリポジトリとして PowerShell ギャラリー を使用します。
Get-PSRepository
には、登録済みのリポジトリが表示されます。 複数の登録済みリポジトリがある場合は、 -Repository
パラメーターを使用してリポジトリの名前を指定します。
例
例 1: モジュールを検索してインストールする
この例では、リポジトリ内のモジュールを検索し、モジュールをインストールします。
Find-Module -Name PowerShellGet | Install-Module
Find-Module
では、Name パラメーターを使用して PowerShellGet モジュールを指定します。 既定では、モジュールの最新バージョンがリポジトリからダウンロードされます。 オブジェクトは、パイプラインから Install-Module
コマンドレットに送信されます。
Install-Module
は、 $env:ProgramFiles\WindowsPowerShell\Modules
内のすべてのユーザーのモジュールをインストールします。
例 2: 名前でモジュールをインストールする
この例では、 PowerShellGet モジュールの最新バージョンがインストールされています。
Install-Module -Name PowerShellGet
Install-Module
では、Name パラメーターを使用して PowerShellGet モジュールを指定します。 既定では、モジュールの最新バージョンがリポジトリからダウンロードされ、インストールされます。
例 3: 最小バージョンを使用してモジュールをインストールする
この例では、 PowerShellGet モジュールの最小バージョンがインストールされています。 MinimumVersion パラメーターは、インストールする必要があるモジュールの最小バージョンを指定します。 新しいバージョンのモジュールが使用可能な場合は、そのバージョンがダウンロードされ、すべてのユーザーにインストールされます。
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
Install-Module
では、Name パラメーターを使用して PowerShellGet モジュールを指定します。
MinimumVersion パラメーターは、バージョン 2.0.1 がリポジトリからダウンロードされ、インストールされることを指定します。 バージョン 2.0.4 を使用できるため、そのバージョンはすべてのユーザーに対してダウンロードおよびインストールされます。
例 4: モジュールの特定のバージョンをインストールする
この例では、 PowerShellGet モジュールの特定のバージョンがインストールされています。
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
Install-Module
では、Name パラメーターを使用して PowerShellGet モジュールを指定します。
RequiredVersion パラメーターは、すべてのユーザーに対してバージョン 2.0.0 をダウンロードしてインストールすることを指定します。
例 5: 現在のユーザーに対してのみモジュールをインストールする
この例では、現在のユーザーに対してのみ、最新バージョンのモジュールをダウンロードしてインストールします。
Install-Module -Name PowerShellGet -Scope CurrentUser
Install-Module
では、Name パラメーターを使用して PowerShellGet モジュールを指定します。
Install-Module
は、最新バージョンの PowerShellGet を 現在のユーザーのディレクトリ ( $home\Documents\WindowsPowerShell\Modules
) にダウンロードしてインストールします。
パラメーター
-Confirm
Install-Module
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
モジュールをインストールし、モジュールのインストールの競合に関する警告メッセージをオーバーライドします。 コンピューターに同じ名前のモジュールが既に存在する場合、 Force では複数のバージョンをインストールできます。 同じ名前とバージョンの既存のモジュールがある場合は、そのバージョンが 強制的 に上書きされます。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
パイプライン入力に使用されます。
型: | PSObject[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaximumVersion
インストールする 1 つのモジュールの最大バージョンを指定します。 複数のモジュールをインストールする場合、 MaximumVersionは使用できません。
MaximumVersion と RequiredVersion を同じ Install-Module
コマンドで使用することはできません。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MinimumVersion
インストールする 1 つのモジュールの最小バージョンを指定します。 使用可能なモジュールの新しいバージョンがある場合は、新しいバージョンがインストールされます。 複数のモジュールをインストールする場合、 MinimumVersion は使用できません。
MinimumVersion と RequiredVersion を同じ Install-Module
コマンドで使用することはできません。
型: | String |
Aliases: | Version |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
オンライン ギャラリーからインストールするモジュールの正確な名前を指定します。 モジュール名のコンマ区切りのリストを使用できます。 モジュール名は、リポジトリ内のモジュール名と一致している必要があります。 モジュール名の一覧を取得するには、 Find-Module
を使用します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Repository
Repository パラメーターを使用して、モジュールのダウンロードとインストールに使用するリポジトリを指定します。 複数のリポジトリが登録されている場合に使用されます。
Install-Module
コマンドで登録済みリポジトリの名前を指定します。 リポジトリを登録するには、 Register-PSRepository
を使用します。
登録済みリポジトリを表示するには、 Get-PSRepository
を使用します。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RequiredVersion
インストールする 1 つのモジュールの正確なバージョンを指定します。 指定したバージョンのリポジトリに一致するものがない場合は、エラーが表示されます。 複数のモジュールをインストールする場合、 RequiredVersion は使用できません。
RequiredVersion は、MinimumVersion または MaximumVersion と同じ Install-Module
コマンドでは使用できません。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Scope
モジュールのインストール スコープを指定します。 このパラメーターに使用できる値は AllUsers と CurrentUser です。
AllUsers スコープは、コンピューターのすべてのユーザーがアクセスできる場所にモジュールをインストールします。
$env:ProgramFiles\WindowsPowerShell\Modules
CurrentUser は、コンピューターの現在のユーザーのみがアクセスできる場所にモジュールをインストールします。
$home\Documents\WindowsPowerShell\Modules
スコープが定義されていない場合、デフォルトは現在のセッションに基づいて設定されます。
- 管理者特権の PowerShell セッションの場合、 スコープ の既定値は AllUsers です。
- PowerShellGet バージョン 2.0.0 以降の管理者特権ではない PowerShell セッションの場合、スコープは CurrentUser です。
- PowerShellGet バージョン 1.6.7 以前の管理者特権以外の PowerShell セッションの場合、 スコープ は未定義であり、
Install-Module
は失敗します。
型: | String |
指定可能な値: | AllUsers, CurrentUser |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
Install-Module
コマンドが実行された場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
PSRepositoryItemInfo
Find-Module
は、パイプラインをに送信できる Install-Module
オブジェクトを作成します。
メモ
Install-Module
は、PowerShell 5.0 以降のリリース、Windows 7 または Windows 2008 R2 以降のリリースの Windows で実行されます。
セキュリティのベスト プラクティスとして、コマンドレットまたは関数を初めて実行する前に、モジュールのコードを評価します。 悪意のあるコードを含むモジュールの実行を防止するため、インストール後にインストール済みモジュールが自動的にインポートされません。
Name パラメータで指定されたモジュール名がリポジトリに存在しない場合、Install-Module
はエラーを返します。
複数のモジュールをインストールするには、 Name パラメーターを使用し、モジュール名のコンマ区切りの配列を指定します。 複数のモジュール名を指定した場合、 MinimumVersion、 MaximumVersion、または RequiredVersion は使用できません。
Find-Module
は、パイプラインをに送信できる Install-Module
オブジェクトを作成します。 パイプラインは、1 つのコマンドでインストールする複数のモジュールを指定するもう 1 つの方法です。
既定では、 AllUsers のスコープのモジュールは $env:ProgramFiles\WindowsPowerShell\Modules
にインストールされます。 既定では、PowerShell Desired State Configuration (DSC) リソースをインストールするときの混乱を防ぎます。
モジュールのインストールは失敗し、フォルダ内に同じ名前の .psm1
、 .psd1
、または .dll
がない場合、インポートできません。
Force パラメーターを使用してモジュールをインストールします。
既存のモジュールのバージョンが Name パラメーターで指定された名前と一致し、 MinimumVersion または RequiredVersion パラメーターが使用されていない場合、 Install-Module
はサイレントに続行しますが、モジュールはインストールされません。
既存のモジュールのバージョンが MinimumVersion パラメータの値より大きい場合、または RequiredVersion パラメータの値と等しい場合、 Install-Module
はサイレントに続行しますが、モジュールはインストールされません。
既存のモジュールが MinimumVersion パラメーターまたは RequiredVersion パラメーターで指定された値と一致しない場合、 Install-Module
コマンドでエラーが発生します。 たとえば、インストールされている既存のモジュールのバージョンが MinimumVersion 値より小さいか、 RequiredVersion 値と等しくない場合です。