Install-Module
リポジトリから 1 つ以上のモジュールをダウンロードし、ローカル コンピューターにインストールします。
構文
Install-Module
[-Name] <String[]>
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-RequiredVersion <String>]
[-Repository <String[]>]
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllowClobber]
[-SkipPublisherCheck]
[-Force]
[-AllowPrerelease]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-Module
[-InputObject] <PSObject[]>
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllowClobber]
[-SkipPublisherCheck]
[-Force]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Install-Module
コマンドレットは、オンライン リポジトリから、指定された条件を満たす 1 つ以上のモジュールを取得します。 このコマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールされたモジュールは、インストール後に自動的にインポートされません。
インストールされているモジュールは、指定したモジュールの最小、最大、正確なバージョンに基づいてフィルター処理できます。
これは、Microsoft.PowerShell.PSResourceGetの Get-InstalledPSResource
コマンドレットのプロキシ コマンドレットです。 詳細については、「install-PSResourceの
例
例 1: モジュールを検索してインストールする
この例では、リポジトリ内のモジュールを検索し、モジュールをインストールします。
Find-Module -Name PowerShellGet | Install-Module
Find-Module
では、Name パラメーターを使用して、PowerShellGet モジュールを指定します。 既定では、モジュールの最新バージョンがリポジトリからダウンロードされます。 オブジェクトは、パイプラインから Install-Module
コマンドレットに送信されます。
Install-Module
は、$env:ProgramFiles\PowerShell\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\PowerShell\Modules
。
例 6: モジュールの最新のプレリリース バージョンをインストールする
この例では、そのバージョンがプレリリース バージョンである場合に、最新バージョンのモジュールをインストールする方法を示します。 プレリリース バージョンをインストールするには、AllowPrerelease パラメーター
Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease
このメソッドを使用すると、利用可能な最新バージョンを取得します。 最新バージョンがプレリリースでない場合は、モジュールの最新の安定バージョンを取得します。
例 7: モジュールの特定のプレリリース バージョンをインストールする
この例では、モジュールの特定のプレリリース バージョンをインストールする方法を示します。
Find-Module
コマンドレットを使用して、PowerShell ギャラリーでプレリリースバージョンのモジュールを検索できます。
プレリリース バージョンには、<version_number>-<prerelease_label>
の形式があります。
Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5
Version Name Repository Description
------- ---- ---------- -----------
2.2.6 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.5 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.4-beta1 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.3 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.2 PSReadLine PSGallery Great command line editing in the PowerS…
Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease
RequiredVersion パラメーターの値には、PowerShell ギャラリーに表示されているバージョンを使用します。
パラメーター
-AcceptLicense
ライセンスが必要なモジュールの場合、AcceptLicense はインストール時にライセンス契約に自動的に同意します。 詳細については、「ライセンス受け入れが必要なモジュール」を参照してください。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AllowClobber
コンピューター上の既存のコマンドに関するインストールの競合に関する警告メッセージをオーバーライドします。
モジュールによってインストールされているコマンドと同じ名前の既存のコマンドを上書きします。
AllowClobber と
プロキシ コマンドレットは、このパラメーターの値を、Install-PSResource
コマンドレットの NoClobber パラメーターに変換します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AllowPrerelease
プレリリースとしてマークされたモジュールをインストールできます。
プロキシ コマンドレットは、このパラメーターを Install-PSResource
の Prerelease パラメーターにマップします。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
Install-Module
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
指定したパッケージ プロバイダーまたはソースのモジュールをインストールする権限を持つユーザー アカウントを指定します。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Force
プロキシ コマンドレットは、Install-PSResource
でサポートされていないため、このパラメーターを無視します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
パイプライン入力に使用されます。 InputObjectに直接値
型: | PSObject[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaximumVersion
プロキシ コマンドレットは、このパラメーターの値を使用して、Install-PSResource
の Version パラメーターで使用する NuGet バージョンの検索文字列を作成します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MinimumVersion
プロキシ コマンドレットは、このパラメーターの値を使用して、Install-PSResource
の Version パラメーターで使用する NuGet バージョンの検索文字列を作成します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
オンライン ギャラリーからインストールするモジュールの正確な名前を指定します。 モジュール名のコンマ区切りのリストを使用できます。 モジュール名は、リポジトリ内のモジュール名と一致している必要があります。 モジュール名の一覧を取得するには、Find-Module
を使用します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
PassThru パラメーターを使用する場合、Install-Module
はモジュールの PSRepositoryItemInfo オブジェクトを出力します。 これは、Find-Module
コマンドレットから取得するのと同じ情報です。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Proxy
プロキシ コマンドレットは、Install-PSResource
でサポートされていないため、このパラメーターを無視します。
型: | Uri |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ProxyCredential
プロキシ コマンドレットは、Install-PSResource
でサポートされていないため、このパラメーターを無視します。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Repository
Repository パラメーターを使用して、モジュールをダウンロードしてインストールするリポジトリの名前を指定します。 複数のリポジトリが登録されている場合に使用されます。
Install-Module
コマンドで登録済みリポジトリの名前を指定します。 リポジトリを登録するには、Register-PSRepository
を使用します。
登録済みリポジトリを表示するには、Get-PSRepository
を使用します。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RequiredVersion
プロキシ コマンドレットは、このパラメーターの値を使用して、Install-PSResource
の Version パラメーターで使用する NuGet バージョンの検索文字列を作成します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Scope
モジュールのインストール スコープを指定します。 このパラメーターに使用できる値は、AllUsers と CurrentUser
AllUsers スコープは、コンピューターのすべてのユーザーがアクセスできる場所にモジュールをインストールします。
$env:ProgramFiles\PowerShell\Modules
CurrentUser は、コンピューターの現在のユーザーのみがアクセスできる場所にモジュールをインストールします。 例えば:
$HOME\Documents\PowerShell\Modules
スコープ が定義されていない場合、既定は PowerShellGet のバージョンに基づいて設定されます。
- PowerShellGet 1.x バージョンでは、既定値は allUsers
であり、インストールには昇格が必要です。 - PowerShell 6 以降の PowerShellGet バージョン 2.0.0 以降の場合:
- 既定値は CurrentUser
であり、インストールに昇格は必要ありません。 - 管理者特権セッションで実行している場合、既定値は AllUsers
です。
- 既定値は CurrentUser
型: | String |
指定可能な値: | CurrentUser, AllUsers |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SkipPublisherCheck
プロキシ コマンドレットは、
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
Install-Module
コマンドが実行された場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
PSRepositoryItemInfo
Find-Module
は、パイプライン Install-Module
に送信できる PSRepositoryItemInfo オブジェクトを作成します。
String[]
PSObject[]
出力
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
PassThru パラメーターを使用する場合、Install-Module
はモジュールの PSRepositoryItemInfo オブジェクトを出力します。 これは、Find-Module
コマンドレットから取得するのと同じ情報です。
メモ
PowerShell には、Install-Module
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
inmo
Install-Module
は、PowerShell 5.0 以降のリリース、Windows 7 または Windows 2008 R2 以降のリリースの Windows で実行されます。
大事な
2020 年 4 月の時点で、PowerShell ギャラリーはトランスポート層セキュリティ (TLS) バージョン 1.0 と 1.1 をサポートしなくなりました。 TLS 1.2 以降を使用していない場合は、PowerShell ギャラリーにアクセスしようとするとエラーが表示されます。 TLS 1.2 を使用していることを確認するには、次のコマンドを使用します。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
詳細については、PowerShell ブログの のお知らせ を参照してください。
セキュリティのベスト プラクティスとして、コマンドレットまたは関数を初めて実行する前に、モジュールのコードを評価します。 悪意のあるコードを含むモジュールが実行されないようにするために、インストールされたモジュールはインストール後に自動的にインポートされません。
Name パラメーターで指定されたモジュール名がリポジトリに存在しない場合、Install-Module
はエラーを返します。
複数のモジュールをインストールするには、Name パラメーターを使用し、モジュール名のコンマ区切りの配列を指定します。 複数のモジュール名を指定する場合は、MinimumVersion、Find-Module
は、パイプライン Install-Module
に送信できる PSRepositoryItemInfo オブジェクトを作成します。 パイプラインは、1 つのコマンドでインストールする複数のモジュールを指定するもう 1 つの方法です。
既定では、allUsers のスコープ
モジュールのインストールは失敗し、フォルダー内に同じ名前の .psm1
、.psd1
、または .dll
がない場合はインポートできません。
Force パラメーターを使用してモジュールをインストールします。
既存のモジュールのバージョンが Name パラメーターで指定された名前と一致し、MinimumVersion または RequiredVersion パラメーターが使用されていない場合、Install-Module
はサイレントに続行されますが、モジュールはインストールされません。
既存のモジュールのバージョンが MinimumVersion パラメーターの値より大きい場合、または RequiredVersion パラメーターの値と等しい場合、Install-Module
はサイレントで続行されますが、モジュールはインストールされません。
既存のモジュールが、
Install-Module
は、モジュールパブリッシャーが必要に応じて指定した依存モジュールもインストールします。
パブリッシャーは、必要なモジュールとそのバージョンをモジュール マニフェストに一覧表示します。
関連リンク
PSResourceGet