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
コンピューター上の既存のコマンドに関するインストールの競合に関する警告メッセージをオーバーライドします。
モジュールによってインストールされているコマンドと同じ名前の既存のコマンドを上書きします。
AllowClobber と Force は、コマンドで一緒に 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 では複数のバージョンをインストールできます。 同じ名前とバージョンの既存のモジュールがある場合は、 その バージョンが強制的に上書きされます。 Force と AllowClobber は、コマンドで一緒に 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 を使用できません。 MaximumVersion と RequiredVersion は、同じ Install-Module
コマンドでは使用できません。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinimumVersion
インストールする 1 つのモジュールの最小バージョンを指定します。 インストールされるバージョンは 、MinimumVersion 以上である必要があります。 使用可能なモジュールの新しいバージョンがある場合は、新しいバージョンがインストールされます。 複数のモジュールをインストールする場合は、 MinimumVersion を使用できません。
MinimumVersion と RequiredVersion を同じ 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
モジュールのインストール スコープを指定します。 このパラメーターに使用できる値は 、AllUsers と CurrentUser です。
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[]
出力
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 値と等しくない場合です。
モジュールのインストールでは、モジュール発行者が必要に応じて指定した依存モジュールもインストールされます。 発行元は、モジュール マニフェストで必要なモジュールとそのバージョンを指定します。