次の方法で共有


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使用します。 リポジトリの設定によっては、モジュールのインストールを続行するためのプロンプトに答える必要がある場合があります。

これらの例では、登録されている唯一のリポジトリとして 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

パラメーター

-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 バージョン 2.0.0 以降では、既定値は CurrentUser であり、インストールに昇格は必要ありません。
  • PowerShellGet 1.x バージョンでは、既定値は 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 同じです。

メモ

Install-Module は、Windows 7 または Windows 2008 R2 以降の Windows リリースの PowerShell 5.0 以降のリリースで実行されます。

重要

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 値と等しくない場合です。

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