Install-Module
リポジトリから 1 つ以上のモジュールをダウンロードし、ローカル コンピューターにインストールします。
構文
NameParameterSet (既定)
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>]
InputObject
Install-Module
[-InputObject] <PSObject[]>
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllowClobber]
[-SkipPublisherCheck]
[-Force]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Install-Module コマンドレットは、オンライン リポジトリから、指定された条件を満たす 1 つ以上のモジュールを取得します。 このコマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールされたモジュールは、インストール後に自動的にインポートされません。
インストールされているモジュールは、指定したモジュールの最小、最大、正確なバージョンに基づいてフィルター処理できます。
インストールされているモジュールの名前またはバージョンが同じか、または既存のモジュールにコマンドが含まれている場合は、警告メッセージが表示されます。 モジュールをインストールして警告をオーバーライドすることを確認したら、 -Force パラメーターと -AllowClobber パラメーターを使用します。 リポジトリの設定によっては、モジュールのインストールを続行するためのプロンプトに答える必要がある場合があります。
モジュールのバージョン番号を受け取るパラメーターには、バージョン番号として書式設定された文字列が必要です。
- 標準バージョン番号には、x、y、z が数値である
x.y.zの形式があります - プレリリース バージョンには、
x.y.z-<prerelease_label>がそのリリースに割り当てられた任意の文字列である<prerelease_label>の形式があります。
これらの例では、登録されている唯一のリポジトリとして PowerShell ギャラリー を使用します。
Get-PSRepository には、登録済みのリポジトリが表示されます。 複数の登録済みリポジトリがある場合は、 -Repository パラメーターを使用してリポジトリの名前を指定します。
例
例 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 |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AllowClobber
コンピューター上の既存のコマンドに関するインストールの競合に関する警告メッセージをオーバーライドします。
モジュールによってインストールされているコマンドと同じ名前の既存のコマンドを上書きします。
AllowClobber と Force は、 Install-Module コマンドで一緒に使用できます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AllowPrerelease
プレリリースとしてマークされたモジュールをインストールできます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Confirm
Install-Module コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | cf |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Credential
指定したパッケージ プロバイダーまたはソースのモジュールをインストールする権限を持つユーザー アカウントを指定します。
パラメーターのプロパティ
| 型: | PSCredential |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Force
モジュールをインストールし、モジュールのインストールの競合に関する警告メッセージをオーバーライドします。 コンピューターに同じ名前のモジュールが既に存在する場合、 Force では複数のバージョンをインストールできます。 同じ名前とバージョンの既存のモジュールがある場合は、そのバージョンが 強制的 に上書きされます。
Force と AllowClobber は、 Install-Module コマンドで一緒に使用できます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-InputObject
パイプライン入力に使用されます。 InputObject に直接値を指定すると、エラーがスローされます。 パイプラインを使用して、 InputObject パラメーターを使用してオブジェクトを渡します。
パラメーターのプロパティ
| 型: | PSObject[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
InputObject
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-MaximumVersion
インストールする 1 つのモジュールの最大バージョンを指定します。 インストールされるバージョンは MaximumVersion 以下である必要があります。 複数のモジュールをインストールする場合は、 MaximumVersion を使用できません。
MaximumVersion と RequiredVersion は、同じ Install-Module コマンドでは使用できません。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-MinimumVersion
インストールする 1 つのモジュールの最小バージョンを指定します。 インストールされるバージョンは 、MinimumVersion 以上である必要があります。 使用可能なモジュールの新しいバージョンがある場合は、新しいバージョンがインストールされます。 複数のモジュールをインストールする場合は、 MinimumVersion を使用できません。
MinimumVersion と RequiredVersion は、同じ Install-Module コマンドでは使用できません。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Name
オンライン ギャラリーからインストールするモジュールの正確な名前を指定します。 モジュール名のコンマ区切りのリストを使用できます。 モジュール名は、リポジトリ内のモジュール名と一致している必要があります。 モジュール名の一覧を取得するには、 Find-Module を使用します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-PassThru
PassThru パラメーターを使用する場合、Install-Moduleはモジュールの PSRepositoryItemInfo オブジェクトを出力します。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Proxy
インターネット リソースに直接接続するのではなく、要求のプロキシ サーバーを指定します。
パラメーターのプロパティ
| 型: | Uri |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-ProxyCredential
Proxy パラメーターで指定されたプロキシ サーバーを使用するアクセス許可を持つユーザー アカウントを指定します。
パラメーターのプロパティ
| 型: | PSCredential |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Repository
Repository パラメーターを使用して、モジュールをダウンロードしてインストールするリポジトリの名前を指定します。 複数のリポジトリが登録されている場合に使用されます。
Install-Module コマンドで登録済みリポジトリの名前を指定します。 リポジトリを登録するには、 Register-PSRepositoryを使用します。
登録済みリポジトリを表示するには、 Get-PSRepositoryを使用します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-RequiredVersion
インストールする 1 つのモジュールの正確なバージョンを指定します。 指定したバージョンのリポジトリに一致するものがない場合は、エラーが表示されます。 複数のモジュールをインストールする場合は、 RequiredVersion を使用できません。
MinimumVersion または Install-Module と同じ コマンドで RequiredVersion を使用することはできません。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
NameParameterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | 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 です。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| 指定可能な値: | CurrentUser, AllUsers |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-SkipPublisherCheck
コンピューターに既に存在する新しいバージョンのモジュールをインストールできます。 たとえば、既存のモジュールが信頼できる発行元によってデジタル署名されているが、新しいバージョンが信頼できる発行元によってデジタル署名されていない場合などです。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-WhatIf
Install-Module コマンドが実行された場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | ウィスコンシン |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
PSRepositoryItemInfo
Find-Moduleは、パイプラインをに送信できる Install-Module オブジェクトを作成します。
String
PSObject
String
PSCredential
Uri
出力
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 で実行されます。
Von Bedeutung
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、MaximumVersion、または RequiredVersion を使用できません。
Find-Moduleは、パイプラインをに送信できる Install-Module オブジェクトを作成します。 パイプラインは、1 つのコマンドでインストールする複数のモジュールを指定するもう 1 つの方法です。
既定では、 AllUsers のスコープのモジュールは $env:ProgramFiles\PowerShell\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 値と等しくない場合です。
Install-Module では、モジュール パブリッシャーによって必要に応じて指定された依存モジュールもインストールされます。
パブリッシャーは、必要なモジュールとそのバージョンをモジュール マニフェストに一覧表示します。