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 はインストール時にライセンス契約に自動的に同意します。 詳細については、「 ライセンスの受け入れを必要とするモジュール」を参照してください。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowClobber

コンピューター上の既存のコマンドに関するインストールの競合に関する警告メッセージをオーバーライドします。 モジュールによってインストールされるコマンドと同じ名前の既存のコマンドを上書きします。 AllowClobberForce は、コマンドで一緒に Install-Module 使用できます。

プロキシ コマンドレットは、このパラメーターの値を コマンドレットの NoClobber パラメーターに Install-PSResource 変換します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

プレリリースとしてマークされたモジュールをインストールできます。

プロキシ コマンドレットは、このパラメーターを の Prerelease パラメーターにマップします Install-PSResource

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットを実行する前に、確認を求めるメッセージが Install-Module 表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定したパッケージ プロバイダーまたはソースのモジュールをインストールする権限を持つユーザー アカウントを指定します。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

プロキシ コマンドレットは、 で Install-PSResourceサポートされていないため、このパラメーターを無視します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

パイプライン入力に使用されます。 InputObject に直接値を指定すると、エラーがスローされます。 パイプラインを使用して、 InputObject パラメーターを使用してオブジェクトを渡します。

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaximumVersion

プロキシ コマンドレットは、このパラメーターの値を使用して、 の Version パラメーターで使用する NuGet バージョン検索文字列を作成します Install-PSResource

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinimumVersion

プロキシ コマンドレットは、このパラメーターの値を使用して、 の Version パラメーターで使用する NuGet バージョン検索文字列を作成します Install-PSResource

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

オンライン ギャラリーからインストールするモジュールの正確な名前を指定します。 モジュール名のコンマ区切りのリストを使用できます。 モジュール名は、リポジトリ内のモジュール名と一致している必要があります。 モジュール名の一覧を取得するには、 を使用 Find-Module します。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

PassThru パラメーターを使用すると、Install-Moduleモジュールの PSRepositoryItemInfo オブジェクトが出力されます。 これは、 コマンドレットから Find-Module 取得するのと同じ情報です。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

プロキシ コマンドレットは、 で Install-PSResourceサポートされていないため、このパラメーターを無視します。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

プロキシ コマンドレットは、 で Install-PSResourceサポートされていないため、このパラメーターを無視します。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

Repository パラメーターを使用して、モジュールをダウンロードしてインストールするリポジトリの名前を指定します。 複数のリポジトリが登録されている場合に使用されます。 コマンドに登録されているリポジトリの名前を Install-Module 指定します。 リポジトリを登録するには、 を使用 Register-PSRepositoryします。 登録済みリポジトリを表示するには、 を使用 Get-PSRepositoryします。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

プロキシ コマンドレットは、このパラメーターの値を使用して、 の Version パラメーターで使用する NuGet バージョン検索文字列を作成します Install-PSResource

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Scope

モジュールのインストール スコープを指定します。 このパラメーターに使用できる値は 、AllUsersCurrentUser です

AllUsers スコープは、コンピューターのすべてのユーザーがアクセスできる場所にモジュールをインストールします。

$env:ProgramFiles\PowerShell\Modules

CurrentUser は、コンピューターの現在のユーザーのみがアクセスできる場所にモジュールをインストールします。 次に例を示します。

$HOME\Documents\PowerShell\Modules

スコープが定義されていない場合、既定値は PowerShellGet バージョンに基づいて設定されます。

  • PowerShellGet 1.x バージョンでは、既定値は AllUsers であり、インストールには昇格が必要です。
  • PowerShellGet バージョン 2.0.0 以降の PowerShell 6 以降の場合:
    • 既定値は CurrentUser で、インストールに昇格は必要ありません。
    • 管理者特権のセッションで実行している場合、既定値は AllUsers です
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

プロキシ コマンドレットは、 を呼び出すInstall-PSResource前に、このパラメーターを AthenticodeCheck に変換します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドが実行された場合の動作を Install-Module 示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

PSRepositoryItemInfo

Find-Module は、パイプラインを に送信できる PSRepositoryItemInfo オブジェクトを 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 で実行されます。

重要

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 は、パイプラインを に送信できる PSRepositoryItemInfo オブジェクトを Install-Module作成します。 パイプラインは、1 つのコマンドにインストールする複数のモジュールを指定するもう 1 つの方法です。

既定では、 AllUsers のスコープのモジュールは に $env:ProgramFiles\PowerShell\Modulesインストールされます。 既定では、PowerShell Desired State Configuration (DSC) リソースをインストールするときの混乱を防ぎます。

モジュールのインストールが失敗し、フォルダー内に同じ名前の 、.psd1.dll がない場合.psm1はインポートできません。 Force パラメーターを使用してモジュールをインストールします。

既存のモジュールのバージョンが Name パラメーターで指定された名前と一致し、 MinimumVersion または RequiredVersion パラメーターが使用されていない場合は、サイレントに続行されますが、 Install-Module モジュールはインストールされません。

既存のモジュールのバージョンが MinimumVersion パラメーターの値より大きい場合、または RequiredVersion パラメーターの値と等しい場合は、サイレントモードで続行されますが、 Install-Module モジュールはインストールされません。

既存のモジュールが MinimumVersion パラメーターまたは RequiredVersion パラメーターで指定された値と一致しない場合は、コマンドでエラーが Install-Module 発生します。 たとえば、インストールされている既存のモジュールのバージョンが MinimumVersion 値より小さいか、 RequiredVersion 値と等しくない場合です。

Install-Module では、モジュール パブリッシャーによって必要に応じて指定された依存モジュールもインストールされます。 発行元は、必要なモジュールとそのバージョンをモジュール マニフェストに一覧表示します。