次の方法で共有


PowerShell ギャラリーの概要

PowerShell ギャラリーは、ダウンロードして利用できるスクリプト、モジュール、DSC リソースを含むパッケージ リポジトリです。 PowerShell ギャラリーからパッケージをインストールするには、PowerShellGet モジュールのコマンドレットを使用します。 PowerShell ギャラリーからアイテムをダウンロードするためにサインインする必要はありません。

手記

PowerShell ギャラリーから直接パッケージをダウンロードすることはできますが、これは推奨される方法ではありません。 詳細については、「手動パッケージダウンロードを する」を参照してください。

PowerShell ギャラリーでパッケージを見つけるには、PowerShell ギャラリーの ホーム ページSearch コントロールを使用するか、パッケージ ページからモジュールとスクリプトを参照します。 パッケージの種類に応じて、Find-ModuleFind-DscResource、および Find-Script コマンドレットを実行して、-Repository PSGalleryを使用して PowerShell ギャラリーからパッケージを検索することもできます。

次のパラメーターを使用して、ギャラリーからの結果をフィルター処理できます。

  • 名前
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • タグ
  • 含む
  • DscResource
  • RoleCapability
  • 命令
  • フィルター

ギャラリー内の特定の DSC リソースの検出のみに関心がある場合は、Find-DscResource コマンドレットを実行できます。 Find-DscResource は、ギャラリーに含まれる DSC リソースのデータを返します。 DSC リソースは常にモジュールの一部として配信されるため、これらの DSC リソースをインストールするには Install-Module を実行する必要があります。

関心のあるパッケージを特定したら、そのパッケージの詳細を確認できます。 これを行うには、ギャラリーでそのパッケージの特定のページを調べます。 そのページでは、パッケージと共にアップロードされたすべてのメタデータを表示できます。 このメタデータはパッケージの作成者によって提供され、Microsoft によって検証されません。 パッケージの所有者は、パッケージの発行に使用されるギャラリー アカウントに強く関連付けられており、[作成者] フィールドよりも信頼できます。

誠実に公開されていないと思われるパッケージが見つかった場合は、そのパッケージのページ [不正使用の報告] をクリックします。

Find-Module または Find-Scriptを実行している場合は、返された PSGetModuleInfo オブジェクトでこのデータを表示できます。 次の例では、ギャラリー内の PSReadLine モジュールのデータを返します。

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

PowerShell ギャラリーからパッケージをダウンロードするときは、次のプロセスをお勧めします。

検査する

検査のためにギャラリーからパッケージをダウンロードするには、パッケージの種類に応じて、Save-Module または Save-Script コマンドレットを実行します。 これにより、パッケージをインストールせずにローカルに保存し、パッケージの内容を調べることができます。 保存したパッケージは必ず手動で削除してください。

これらのパッケージの一部は Microsoft によって作成され、その他のパッケージは PowerShell コミュニティによって作成されています。 インストールする前に、このギャラリーのパッケージの内容とコードを確認することをお勧めします。

誠実に公開されていないと思われるパッケージが見つかった場合は、そのパッケージのページ [不正使用の報告] をクリックします。

取り付ける

使用するためにギャラリーからパッケージをインストールするには、パッケージの種類に応じて、Install-Module または Install-Script コマンドレットを実行します。

Install-Module 既定で $env:ProgramFiles\WindowsPowerShell\Modules するモジュールをインストールします。 これには管理者アカウントが必要です。 -Scope CurrentUser パラメーターを追加すると、モジュールが $HOME\Documents\WindowsPowerShell\Modules にインストールされます。

Install-Script は、既定で $env:ProgramFiles\WindowsPowerShell\Scripts するスクリプトをインストールします。 これには管理者アカウントが必要です。 -Scope CurrentUser パラメーターを追加すると、スクリプトが $HOME\Documents\WindowsPowerShell\Scripts にインストールされます。

既定では、Install-ModuleInstall-Script は最新バージョンのパッケージをインストールします。 古いバージョンのパッケージをインストールするには、-RequiredVersion パラメーターを追加します。

展開

PowerShell ギャラリーから Azure Automation にパッケージをデプロイするには、[Azure Automation] をクリックし、[パッケージの詳細] ページで [Azure Automation にデプロイ ] をクリックします。 Azure アカウントの資格情報を使用してサインインする Azure 管理ポータルにリダイレクトされます。 依存関係を含むパッケージをデプロイすると、すべての依存関係が Azure Automation にデプロイされることに注意してください。 AzureAutomationNotSupported タグをパッケージ メタデータに追加することで、[Azure Automation にデプロイ] ボタンを無効にすることができます。

Azure Automation の詳細については、Azure Automation ドキュメント 参照してください。

PowerShell ギャラリーからインストールされているパッケージを更新するには、Update-Module または Update-Script コマンドレットを実行します。 パラメーターを追加せずに実行すると、Update-Module は、Install-Moduleを実行してインストールされているすべてのモジュールの更新を試みます。 モジュールを選択的に更新するには、-Name パラメーターを追加します。

同様に、パラメーターを追加せずに実行すると、Update-Script は、Install-Scriptを実行してインストールされたすべてのスクリプトの更新も試みます。 スクリプトを選択的に更新するには、-Name パラメーターを追加します。

PowerShell ギャラリーからインストールしたモジュールを確認するには、Get-InstalledModule コマンドレットを実行します。 このコマンドは、PowerShell ギャラリーから直接インストールされたシステム上にあるすべてのモジュールを一覧表示します。

同様に、PowerShell ギャラリーからインストールしたスクリプトを確認するには、Get-InstalledScript コマンドレットを実行します。 このコマンドは、PowerShell ギャラリーから直接インストールされた、システム上にあるすべてのスクリプトを一覧表示します。

これらのホスト名は、ネットワークからのアクセスを制御する許可リストに追加する必要があります。

パッケージの検出とダウンロードに必要なホスト:

  • onegetcdn.azureedge.net
  • powershellgallery.azureedge.net
  • psg-prod-eastus.azureedge.net

PowerShell ギャラリー Web サイトを使用する場合に必要なホスト:

  • *.powershellgallery.com - Web サイト
  • go.microsoft.comaka.ms - リダイレクト サービス

大事な

2020 年 4 月の時点で、PowerShell ギャラリーはトランスポート層セキュリティ (TLS) バージョン 1.0 と 1.1 をサポートしなくなりました。 TLS 1.2 以降を使用していない場合は、PowerShell ギャラリーにアクセスしようとするとエラーが表示されます。 TLS 1.2 を使用していることを確認するには、次のコマンドを使用します。

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

詳細については、PowerShell ブログの のお知らせ を参照してください。