次の方法で共有


Install-Module

リポジトリから 1 つ以上のモジュールをダウンロードし、ローカル コンピューターにインストールします。

構文

NameParameterSet (既定)

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>]

InputObject

Install-Module
    [-InputObject] <PSObject[]>
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-Force]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Install-Module コマンドレットは、オンライン リポジトリから、指定された条件を満たす 1 つ以上のモジュールを取得します。 このコマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールしたモジュールは、インストール後に自動的にインポートされません。 インストールされているモジュールは、指定したモジュールの最小、最大、正確なバージョンに基づいてフィルター処理できます。

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

これらの例では、登録されている唯一のリポジトリとして 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 はインストール時にライセンス契約に自動的に同意します。 詳細については、「 ライセンスへの同意を必要とするモジュール」を参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-AllowClobber

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-AllowPrerelease

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Confirm

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

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Credential

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

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Force

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InputObject

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

パラメーターのプロパティ

型:

PSObject[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

InputObject
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaximumVersion

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MinimumVersion

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Name

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

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-PassThru

Install-Module コマンドレットは、オンライン リポジトリから、指定された条件を満たす 1 つ以上のモジュールを取得します。 このコマンドレットは、検索結果が有効なモジュールであることを確認し、モジュール フォルダーをインストール場所にコピーします。 インストールしたモジュールは、インストール後に自動的にインポートされません。 インストールされているモジュールは、指定したモジュールの最小、最大、正確なバージョンに基づいてフィルター処理できます。

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

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

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Proxy

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

パラメーターのプロパティ

型:Uri
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-ProxyCredential

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

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Repository

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

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-RequiredVersion

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

NameParameterSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Scope

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

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

$env:ProgramFiles\PowerShell\Modules

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

$home\Documents\PowerShell\Modules

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

  • PowerShellGet バージョン 2.0.0 以降では、既定値は CurrentUser であり、インストールに昇格は必要ありません。
  • PowerShellGet 1.x バージョンでは、既定値は AllUsers であり、インストールには昇格が必要です。

パラメーターのプロパティ

型:String
規定値:None
指定可能な値:CurrentUser, AllUsers
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SkipPublisherCheck

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WhatIf

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

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

PSRepositoryItemInfo

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

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 で実行されます。

Von Bedeutung

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 オブジェクトを作成します。 パイプラインは、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 値と等しくない場合です。

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