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 つ以上のモジュールを取得します。 コマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールされたモジュールは、インストール後に自動的にインポートされません。 指定したモジュールの最小、最大、および正確なバージョンに基づいて、インストールされているモジュールをフィルター処理できます。

インストールされているモジュールの名前またはバージョンが同じ場合、または既存のモジュールにコマンドが含まれている場合は、警告メッセージが表示されます。 モジュールをインストールして警告をオーバーライドすることを確認したら、and パラメーターを-Force-AllowClobber使用します。 リポジトリの設定によっては、モジュールのインストールを続行するためのプロンプトに答える必要がある場合があります。

これらの例では、登録されている唯一のリポジトリとしてPowerShell ギャラリーを使用します。 Get-PSRepository には、登録済みのリポジトリが表示されます。 複数の登録済みリポジトリがある場合は、パラメーターを -Repository 使用してリポジトリの名前を指定します。

例 1: モジュールを検索してインストールする

この例では、リポジトリ内のモジュールを検索し、モジュールをインストールします。

Find-Module -Name PowerShellGet | Install-Module

Name Find-Module パラメーターを使用して PowerShellGet モジュールを指定します。 既定では、モジュールの最新バージョンはリポジトリからダウンロードされます。 オブジェクトがパイプラインからコマンドレットに Install-Module 送信されます。 Install-Module すべてのユーザーのモジュールをインストールします $env:ProgramFiles\PowerShell\Modules

例 2: 名前でモジュールをインストールする

この例では、 PowerShellGet モジュールの最新バージョンがインストールされています。

Install-Module -Name PowerShellGet

Name Install-Module パラメーターを使用して PowerShellGet モジュールを指定します。 既定では、モジュールの最新バージョンがリポジトリからダウンロードされ、インストールされます。

例 3: 最小バージョンを使用してモジュールをインストールする

この例では、 PowerShellGet モジュールの最小バージョンがインストールされています。 MinimumVersion パラメーターは、インストールする必要があるモジュールの最小バージョンを指定します。 新しいバージョンのモジュールが使用可能な場合は、そのバージョンがダウンロードされ、すべてのユーザーにインストールされます。

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Name Install-Module パラメーターを使用して PowerShellGet モジュールを指定します。 MinimumVersion パラメーターは、バージョン 2.0.1 がリポジトリからダウンロードされ、インストールされることを指定します。 バージョン 2.0.4 が利用可能であるため、そのバージョンはダウンロードされ、すべてのユーザーにインストールされます。

例 4: モジュールの特定のバージョンをインストールする

この例では、 PowerShellGet モジュールの特定のバージョンがインストールされています。

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Name Install-Module パラメーターを使用して PowerShellGet モジュールを指定します。 RequiredVersion パラメーターは、すべてのユーザーに対してバージョン 2.0.0 をダウンロードしてインストールすることを指定します。

例 5: 現在のユーザーに対してのみモジュールをインストールする

次の使用例は、現在のユーザーに対してのみ、モジュールの最新バージョンをダウンロードしてインストールします。

Install-Module -Name PowerShellGet -Scope CurrentUser

Name Install-Module パラメーターを使用して PowerShellGet モジュールを指定します。 Install-Module 現在のユーザーのディレクトリに最新バージョンの PowerShellGet をダウンロードしてインストールします $home\Documents\PowerShell\Modules

パラメーター

-AcceptLicense

ライセンスが必要なモジュールの場合、 AcceptLicense はインストール時にライセンス契約に自動的に同意します。 詳細については、「 ライセンスの受け入れを必要とするモジュール」を参照してください

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

-AllowClobber

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

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

-AllowPrerelease

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

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

-Confirm

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

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

-Credential

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

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

-Force

モジュールをインストールし、モジュールのインストール競合に関する警告メッセージをオーバーライドします。 コンピューターに同じ名前のモジュールが既に存在する場合、 Force では複数のバージョンをインストールできます。 同じ名前とバージョンの既存のモジュールがある場合、そのバージョンは 強制的 に上書きされます。 ForceAllowClobber は、コマンドで一緒に Install-Module 使用できます。

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

-InputObject

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

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

-MaximumVersion

インストールする 1 つのモジュールの最大バージョンを指定します。 インストールされるバージョンは MaximumVersion 以下である必要があります。 複数のモジュールをインストールする場合は、 MaximumVersion を使用できません。 MaximumVersionRequiredVersion を同じ Install-Module コマンドで使用することはできません。

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

-MinimumVersion

インストールする 1 つのモジュールの最小バージョンを指定します。 インストールされるバージョンは 、MinimumVersion 以上である必要があります。 使用可能なモジュールの新しいバージョンがある場合は、新しいバージョンがインストールされます。 複数のモジュールをインストールする場合は、 MinimumVersion を使用できません。 MinimumVersionRequiredVersion を同じ Install-Module コマンドで使用することはできません。

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

-Name

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

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

-PassThru

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

-Proxy

インターネット リソースに直接接続するのではなく、要求のプロキシ サーバーを指定します。

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

-ProxyCredential

Proxy パラメーターに指定したプロキシ サーバーを使用するアクセス許可を持つユーザー アカウントを指定します。

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

-Repository

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

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

-RequiredVersion

インストールする 1 つのモジュールの正確なバージョンを指定します。 指定したバージョンのリポジトリに一致するものがない場合は、エラーが表示されます。 複数のモジュールをインストールする場合は、 RequiredVersion を使用できません。 RequiredVersion は、MinimumVersion または MaximumVersion と同じInstall-Moduleコマンドでは使用できません。

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

-Scope

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

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

$env:ProgramFiles\PowerShell\Modules

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

$home\Documents\PowerShell\Modules

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

  • PowerShellGet バージョン 2.0.0 以降では、既定値は CurrentUser であり、インストールに昇格は必要ありません。
  • PowerShellGet 1.x バージョンでは、既定値は AllUsers であり、インストールには昇格が必要です。
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

コンピューターに既に存在するモジュールの新しいバージョンをインストールできます。 たとえば、既存のモジュールが信頼できる発行元によってデジタル署名されているが、新しいバージョンが信頼できる発行元によってデジタル署名されていない場合などです。

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

-WhatIf

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

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

入力

PSRepositoryItemInfo

Find-ModuleにパイプラインInstall-Moduleを送信できる PSRepositoryItemInfo オブジェクトを作成します。

String[]

PSObject[]

String

PSCredential

Uri

出力

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

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

メモ

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 パラメーターを使用し、モジュール名のコンマ区切りの配列を指定します。 複数のモジュール名を指定する場合は、 MinimumVersionMaximumVersion、または RequiredVersion を使用できません。 Find-ModuleにパイプラインInstall-Moduleを送信できる PSRepositoryItemInfo オブジェクトを作成します。 パイプラインは、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 値と等しくない場合です。

モジュールのインストールでは、モジュールの発行元が必要に応じて指定した依存モジュールもインストールされます。 発行元は、モジュール マニフェストで必要なモジュールとそのバージョンを指定します。