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

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

モジュールのバージョン番号を受け取るパラメーターには、バージョン番号として書式設定された文字列が必要です。

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

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

-AllowClobber

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

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

-AllowPrerelease

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

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

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

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

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

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

-MinimumVersion

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

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

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

-Proxy

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

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

-ProxyCredential

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

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

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

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

-SkipPublisherCheck

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

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