PowerShell モジュールをインストールする方法: ステップバイステップ ガイド
パワーシェルMicrosoft のクロスプラットフォーム タスク自動化ソリューションであり、コマンド ライン シェル、スクリプト言語、構成管理フレームワークで構成されています。
あPowerShellモジュールコマンドレット、プロバイダー、関数、ワークフロー、変数、エイリアスなど、関連する Windows PowerShell メンバーのセットが含まれています。パッケージのメンバー (通常は 1 つのディレクトリにグループ化されます) は、PowerShell スクリプト、コンパイル済み DLL、またはその両方で実装できます。モジュールの主な目的は、Windows PowerShell コードのモジュール化を可能にすることです。
関連するスクリプト ファイル、アセンブリ、および関連リソースのセットをモジュールとして定義すると、コードの参照、読み込み、永続化、共有が、他の方法よりもはるかに簡単になります。たとえば、コマンドを作成する人はモジュールを使用してコマンドを整理し、他のユーザーと共有できます。一方、モジュールを受け取る人は、モジュール内のコマンドを PowerShell セッションに追加して、組み込みコマンドと同じように使用できます。
Windows に付属の PowerShell には、ファイルの読み取り、レジストリ キーの作成、コンピューターへの ping の送信、リモート システムへの接続などの基本的なタスクの実行に役立つ数百のコマンドレットが付属しています。ただし、このすぐに使える PowerShell コマンドレットは、この言語で実行したいことすべてをサポートできるわけではありません。組み込みの PowerShell コマンド以外のタスクを実行するには、その機能を提供するコマンドを含むモジュールをインストールする必要があります。この記事では、PowerShell モジュールをインストールする方法について段階的なガイドを提供します。
PowerShell モジュールのコンポーネントとタイプ
モジュールは 4 つの重要な要素で構成されます コンポーネント、 これには、PowerShell スクリプトまたはマネージ コマンドレット アセンブリ、追加のアセンブリまたはスクリプト、マニフェスト ファイル、およびそれらのコンテンツがすべて含まれるディレクトリが含まれます。次のセクションでは、 種類 モジュールのさまざまな可能な部分を組み合わせて組み合わせることで取得できるモジュールの例:
- スクリプトモジュール: スクリプト モジュールは、拡張子 .psm1 が付いた Windows PowerShell スクリプトにすぎず、管理者はこれを使用してインポート、エクスポート、および管理機能を使用できます。スクリプト モジュールには、有効な Windows PowerShell コードが含まれています。これは、PowerShell モジュール パスまたは明示的に記述された任意のパスに保存またはインストールして、PowerShell が適切に検出できるようにすることができます。
- バイナリモジュール: バイナリ モジュールは、コンパイルされたコードを含む .NET Framework アセンブリ (.dll) です。スクリプト モジュールと比較して、バイナリ モジュールを使用すると、コマンドレットをより速く作成したり、Windows PowerShell スクリプトでコーディングするのがそれほど簡単ではないマルチスレッドなどの機能を使用したりできます。さらに、バイナリ モジュールは、PowerShell モジュール パスに沿ったフォルダーに保存またはインストールできます。
- マニフェストモジュール: マニフェスト モジュールは、マニフェスト ファイルを使用してすべてのコンポーネント バイナリ モジュールを記述するモジュールですが、コア アセンブリやスクリプトは一切含みません。
- 動的モジュール: 動的モジュールは、ファイルからロードされない、またはファイルに保存されないモジュールです。代わりに、スクリプトによって動的に作成されます。新しいモジュールのコマンドレット。このモジュールを使用すると、スクリプトで永続ストレージにロードしたり保存したりする必要のないモジュールをオンデマンドで作成できるようになります。動的モジュールには、関連するアセンブリを保存するための永続フォルダーは必要ありません。
PowerShell モジュールをインストールする方法
スクリプト、バイナリ、またはマニフェスト モジュールを作成したら、Windows PowerShell がインストールされているシステム フォルダーやユーザー フォルダーなどの場所に作業内容を保存し、他のユーザーがアクセスできるようにすることができます。モジュールを使用するには、まずモジュールをインストールする必要があります。次に、次のことを見つける必要があります。 PowerShellコマンド コマンドレットを使用してモジュールが追加されたこと取得コマンド最後に、モジュールが追加したコマンドを使用する必要があります。
PowerShell モジュールをインストールするには、主に 2 つの方法があります。PowerShell ギャラリー方法と手動方法 (モジュールが PowerShell ギャラリーで利用できない場合) です。次のセクションでは、これらの各方法について詳しく説明します。
方法 1 - PowerShell ギャラリーからモジュールをインストールする
の PowerShell ギャラリー は、ダウンロードして利用できるスクリプト、モジュール、DSC リソースを含む PowerShell のオンライン パッケージ リポジトリです。 Microsoft と PowerShell コミュニティがこれらを作成しました。 PowerShell ギャラリーでパッケージを見つけるには、次の方法があります。
- PowerShell ギャラリーのホームページで検索コントロールを使用する
- 「パッケージ」ページからモジュールとスクリプトを参照する
- パッケージの種類に応じて、Find-Module、Find-DscResource、および Find-Script コマンドレットを実行する
興味のあるパッケージを特定したら、ギャラリーのパッケージの特定のページでパッケージとともにアップロードされたメタデータを調べることで、そのパッケージについて詳しく知ることができます。さらに詳しく調べるために、ギャラリーからパッケージをダウンロードすることもできます。これを行うには、次のいずれかを実行します。モジュールの保存またはスクリプトの保存コマンドレット、パッケージの種類に応じて異なります。これにより、パッケージをインストールせずにローカルに保存して内容を確認できます。
PowerShell ギャラリーから PowerShell モジュールをインストールするのが、モジュールをインストールする最も簡単な方法です。ギャラリーからパッケージまたはモジュールをインストールするには、次のコマンドを使用します。インストールモジュールまたはインストールスクリプトコマンドレット、パッケージの種類に応じて異なります。
- のインストールモジュールコマンドはモジュールをインストールします$env: ProgramFilesWindowsPowerShellModulesデフォルトでは。これには管理者アカウントが必要です。を追加すると、- スコープ CurrentUserパラメータ、モジュールのインストール先$env: USERPROFILEDocumentsWindowsPowerShellModules。
- Install-Script コマンドは、スクリプトを次の場所にインストールします。$env: ProgramFilesWindowsPowerShellScriptsデフォルトでは。これには管理者アカウントも必要です。を追加すると、- スコープ CurrentUserパラメータに応じて、スクリプトは次の場所にインストールされます。$env: USERPROFILEDocumentsWindowsPowerShellScripts。
- のインストールモジュールそしてインストールスクリプトコマンドはデフォルトで、パッケージの最新バージョンをインストールします。古いバージョンのパッケージが必要な場合は、パラメータを追加します-必須バージョン。
さらに、モジュールをインストールする前に、モジュールの名前とそれをインストールするコマンドを知っておく必要があります。ギャラリー ページには、モジュールをインストールするためのコマンドが示されます。この例では、ギャラリーで見つけた名前のモジュールをインストールします。ネットワーキングDsc。これを行うには、次のコマンドを実行します。
インストールモジュール - 名前 NetworkingDsc - 必須バージョン 8.2.0
実行している NuGet プロバイダーによっては、NuGet プロバイダーを続行する必要があるという通知を受け取る場合があります。PowerShellGetは Nuget というプロバイダーに依存しているため、続行する前に最新バージョンのインストールが必要な場合があります。 「Do you want」と表示されたら、「Y」と入力して Enter キーを押します。PowerShellGetNuGet プロバイダーを今すぐインストールしてインポートしますか?」設定によっては、「『PSGallery』からモジュールをインストールしてもよろしいですか?」という別の通知が表示される場合があります。 「Y」と入力し、Enter キーを押して続行します。これにより、インストールが開始されますネットワーキングDscモジュールは、PowerShell ウィンドウの上部にあるテキストの読み込みによって視覚的に確認できます。インストールが完了したら、次のコマンドを実行して確認できます。Get-モジュール -ListAvailable。


インストールされたパッケージを PowerShell ギャラリーから Azure Automation にデプロイする場合は、パッケージの詳細ページで [Azure Automation] をクリックし、[Azure Automation へのデプロイ] をクリックします。クリックすると、Azure 管理ポータルにリダイレクトされ、Azure アカウントの資格情報を使用してサインインします。パッケージに依存関係が含まれている場合、すべての依存関係も Azure Automation にデプロイされます。
方法 2 - PowerShell モジュールを手動でインストールする
モジュールが PowerShell ギャラリーで利用できない場合は、手動の方法を使用してインストールする必要があります。 PowerShell モジュールを手動でインストールするには、まず現在の PowerShell モジュール ディレクトリ パスを確認し、新しいモジュールをそのパスにダウンロードし、import-module コマンドを呼び出してそこにモジュールがあることを Windows に知らせる必要があります。次に、以下の手順に従って PowerShell モジュールを手動でインストールします。
1. インストール パスを決定します。 新しいモジュールをどこに配置するかを知るために、PowerShell モジュールのインストール パスを決定する必要があります。これは、新しいモジュールが、PSモジュールパス環境変数。に保存されているパスの 1 つを使用して、モジュールをインストールする場所を決定できます。$ENV: PSModulePath変数。これを行うには、PowerShell ウィンドウを開いて次のコマンドを実行します。$Env: PSModulePath。
以下の図 3.0 に示すように、出力には次のパスが表示されます。
- C:ユーザー管理者ドキュメントWindowsPowerShellモジュール
- C:Program FilesWindowsPowerShellModules
- C:WINDOWSsystem32WindowsPowerShellv1.0モジュール

コンピューター上の特定のユーザー アカウントでモジュールを使用できるようにする場合は、最初のパスを使用します。コンピューター上のすべてのユーザーがモジュールを利用できるようにする場合は、2 番目のパスを使用します。 3 番目のパスは、Windows OS にすでにインストールされている組み込みモジュールに Windows が使用するパスです。 Microsoft では、この場所の使用を避けることをお勧めします。したがって、残るのは 1 番目か 2 番目のパスになります。
これらのパスのいずれかを使用すると、ユーザーがコード内でモジュールを呼び出すと、PowerShell が自動的にモジュールを見つけて読み込むことができます。ただし、パスを追加しても、必要な場合を除き、最初の 2 つのパスをそのまま使用することもできます。モジュールを別の場所に保存する場合は、呼び出し時にモジュールの場所をパラメーターとして渡すことで、PowerShell に明示的に知らせることができます。モジュールをインストールします。環境変数に他のパスがリストされている場合は、インストールされているアプリケーションからのものである可能性があります。一部のアプリケーションは PowerShell コマンドをインストールし、それらのコマンドを変数に自動的に追加します。新しいモジュールをどこに配置するかがわかったので、次のステップに進みましょう。
2. 新しいモジュールを次のパスにコピーします。 次に、PowerShell モジュールを任意のサイトからダウンロードし、上記の手順 1 で特定した 2 つのパスのいずれかにコピーします。この例では、コンピューター上のすべてのユーザーがこれをディレクトリ C:Program FilesWindowsPowerShellModules にコピーできるようにします。完了したら、次のコマンドを実行して、新しいモジュールが PowerShell で使用できるものとしてリストされているかどうかを確認できます。Get-モジュール -ListAvailable。
3. 新しいモジュールをインポートします。 新しいモジュールを配置したら、現在の PowerShell セッションで使用するためにそれをロードするように Windows に指示するだけです。これには、次のコマンド構文を使用します。インポートモジュール -name モジュール名
たとえば、次のコマンドをインポートするとします。NTFSセキュリティ(NTFS ボリューム上のファイルとフォルダーのセキュリティを管理するための PowerShell モジュール)、次のコマンドを実行します。インポートモジュールNTFSSecurity。スクリプトまたはモジュールを信頼して実行するかどうかを確認する通知を受け取った場合は、R を入力して 1 回実行します (確実に実行したいと仮定して)。これで、新しいモジュールが使用できるようになります。
Microsoft ではサードパーティのサイトから PowerShell モジュールをインストールすることを許可していますが、セキュリティ上の影響もあります。悪意のある攻撃者は、この抜け穴を利用して、悪意のあるコードを含むスクリプトを開発し、提供する可能性があります。したがって、信頼できるモジュール、または信頼できるソースからのモジュールのみをロードするようにしてください。
PowerShell のインストールに関するよくある質問
PowerShell モジュールを入手するにはどうすればよいですか?
PowerShell システムは Windows オペレーティング システム内ですでに利用可能であり、おそらくすでに多くのモジュールが利用可能です。 PowerShell プロンプトで「Get-Module -ListAvailable」と入力して、アクティブなモジュールを確認します。モジュールをインストールするには、インストール済みモジュールの取得コマンドレット。
PowerShell モジュールはどこにインストールされますか?
Windows には、ディスクのディレクトリ構造内に PowerShell モジュールの保存場所を保持する環境変数があります。すべてのユーザーの場合、これは$env:PROGRAMFILESPowerShellModules。 Linux および macOS では、モジュールは /usr/local/share/powershell/Modules に保存されます。
Windows Update PowerShell モジュールをインストールするにはどうすればよいですか?
PSWindowsUpdate モジュールをインストールするには、管理者として PowerShell プロンプトを開く必要があります。
- 入力Set-ExecutionPolicy -ExecutionPolicy RemoteSignedリモート スクリプトの実行を有効にします。
- 入力インストールモジュール -Name PSWindowUpdate -ForcePSWindowUpdate モジュールをダウンロードしてインストールします。
- 入力インポートモジュール -名前 PSWindowUpdatePSWindowsUpdate を現在の PowerShell セッションに導入します。
- 入力Get-Command -Module PSWindowsUpdateインストールが機能したことを確認し、モジュール内で使用可能なコマンドを確認します。