about_PSSnapins

簡単な説明

Windows PowerShellスナップインについて説明し、その使用方法と管理方法を示します。

長い説明

Windows PowerShell スナップインは、Windows PowerShell プロバイダーやコマンドレットを含む Microsoft .NET Framework アセンブリです。 Windows PowerShellには一連の基本的なスナップインが含まれていますが、他のユーザーが作成または取得するプロバイダーとコマンドレットを含むスナップインを追加することで、Windows PowerShellの機能と価値を拡張できます。

スナップインを追加すると、そのスナップインに含まれるコマンドレットとプロバイダーは、現在のセッションですぐに使用できますが、変更は現在のセッションにのみ影響します。

今後のすべてのセッションにスナップインを追加するには、Windows PowerShell プロファイルに保存します。 Export-Console コマンドレットを使用して、スナップイン名をコンソール ファイルに保存し、今後のセッションで使用することもできます。 複数のコンソール ファイルを保存し、それぞれに異なるスナップイン のセットを含めることもできます。

注: Windows PowerShell スナップイン (PSSnapins) は、Windows PowerShell 3.0 および Windows PowerShell 2.0 で使用できます。 以降のバージョンでは、変更または使用できない可能性があります。 Windows PowerShell のコマンドレットとプロバイダーをパッケージするには、モジュールを使用します。 モジュールの作成とスナップインのモジュールへの変換の詳細については、「Windows PowerShell モジュールの作成」を参照してください。

スナップインの検索

コンピューター上のWindows PowerShell スナップインの一覧を取得するには、次のように入力します。

Get-PSSnapin

各Windows PowerShell プロバイダーのスナップインを取得するには、次のように入力します。

Get-PSProvider | Format-List name, pssnapin

Windows PowerShell スナップイン内のコマンドレットの一覧を取得するには、次のように入力します。

Get-Command -Module <snap-in_name>

スナップインのインストール

組み込みのスナップインはシステムに登録され、Windows PowerShellを開始すると既定のセッションに追加されます。 ただし、他のユーザーから作成または取得したスナップインを登録し、そのスナップインをセッションに追加する必要があります。

スナップインの登録

Windows PowerShell スナップインは、.dll ファイルにコンパイルされる.NET Framework言語で記述されたプログラムです。 スナップインでプロバイダーとコマンドレットを使用するには、まずスナップインを登録する必要があります (レジストリに追加します)。

ほとんどのスナップインには、.dll ファイルを登録するインストール プログラム (.exeまたは.msi ファイル) が含まれます。 ただし、スナップインを.dll ファイルとして受け取った場合は、システムに登録できます。 詳細については、「 コマンドレット、プロバイダー、およびホスト アプリケーションを登録する方法」を参照してください。

システムに登録されているすべてのスナップインを取得するか、スナップインが登録されていることを確認するには、次のように入力します。

Get-PSSnapin -registered

現在のセッションへのスナップインの追加

登録されているスナップインを現在のセッションに追加するには、Add-PsSnapin コマンドレットを使用します。 たとえば、Microsoft SQL Server スナップインをセッションに追加するには、次のように入力します。

Add-PSSnapin sql

コマンドが完了すると、スナップイン内のプロバイダーとコマンドレットがセッションで使用できるようになります。 ただし、保存しない限り、現在のセッションでのみ使用できます。

スナップインの保存

今後のWindows PowerShell セッションでスナップインを使用するには、Add-PsSnapin コマンドをWindows PowerShell プロファイルに追加します。 または、スナップイン名をコンソール ファイルにエクスポートします。

Add-PSSnapin コマンドをプロファイルに追加すると、今後のすべてのWindows PowerShell セッションで使用できるようになります。 セッションでスナップインの名前をエクスポートする場合は、スナップインが必要な場合にのみエクスポート ファイルを使用できます。

Add-PsSnapin コマンドをWindows PowerShell プロファイルに追加するには、プロファイルを開き、コマンドを貼り付けるか入力して、プロファイルを保存します。 詳細については、「about_Profiles」を参照してください。

セッションのスナップインをコンソール ファイル (.psc1) に保存するには、Export-Console コマンドレットを使用します。 たとえば、現在のセッション構成のスナップインを現在のディレクトリの NewConsole.psc1 ファイルに保存するには、次のように入力します。

Export-Console NewConsole

詳細については、「Export-Console」を参照してください。

コンソール ファイルを使用して WINDOWS POWERSHELL を開く

スナップインを含むコンソール ファイルを使用するには、Cmd.exeまたは別のWindows PowerShell セッションでコマンド プロンプトからWindows PowerShell (PowerShell.exe) を開始します。 PsConsoleFile パラメーターを使用して、スナップインを含むコンソール ファイルを指定します。 たとえば、次のコマンドは NewConsole.psc1 コンソール ファイルを使用してWindows PowerShellを開始します。

PowerShell.exe -psconsolefile NewConsole.psc1

snapin のプロバイダーとコマンドレットをセッションで使用できるようになりました。

スナップインの削除

現在のセッションからWindows PowerShell スナップインを削除するには、Remove-PsSnapin コマンドレットを使用します。 たとえば、現在のセッションからSQL Server スナップインを削除するには、次のように入力します。

Remove-PSSnapin sql

このコマンドレットは、セッションからスナップインを削除します。 スナップインは引き続き読み込まれますが、サポートされているプロバイダーとコマンドレットは使用できなくなります。

組み込みコマンド

Windows PowerShell 2.0 以降では、Windows PowerShell 3.0 以降の古いスタイルのホスト プログラムでは、Windows PowerShellと共にインストールされる組み込みコマンドは、すべてのWindows PowerShell セッションに自動的に追加されるスナップインにパッケージ化されます。

Windows PowerShell 3.0 以降では、新しいスタイルのホスト プログラム (InitialSessionState.CreateDefault2 メソッドを使用してセッションを開始するプログラム) では、組み込みコマンドはモジュールにパッケージ化されています。 例外は Microsoft.PowerShell.Core で、常にスナップインとして表示されます。 Core スナップインは、既定ですべてのセッションに含まれます。 組み込みのモジュールは、初回使用時に自動的に読み込まれます。

注: New-PSSession コマンドレットを使用して開始されるセッションを含むリモート セッションは、組み込みコマンドがスナップインにパッケージ化される古いスタイルのセッションです。

次のスナップイン (またはモジュール) は、Windows PowerShellと共にインストールされます。

  • Microsoft.PowerShell.Core - Windows PowerShellの基本的な機能を管理するために使用されるプロバイダーとコマンドレットが含まれています。 これには、FileSystem、Registry、Alias、Environment、Function、Variable プロバイダー、Get-Help、Get-Command、Get-History などの基本的なコマンドレットが含まれます。

  • Microsoft.PowerShell.Host - Start-Transcriptや Stop-Transcript など、Windows PowerShell ホストで使用されるコマンドレットが含まれています。

  • Microsoft.PowerShell.Management - Windows ベースの機能の管理に使用されるGet-ServiceやGet-ChildItemなどのコマンドレットが含まれています。

  • Microsoft.PowerShell.Security - 証明書プロバイダーと、Get-Acl、Get-AuthenticodeSignature、ConvertTo-SecureString などのWindows PowerShellセキュリティを管理するために使用されるコマンドレットが含まれています。

  • Microsoft.PowerShell.Utility - Get-Member、Write-Host、Format-List などのオブジェクトとデータを操作するために使用されるコマンドレットが含まれています。

  • Microsoft.WSMan.Management - Connect-WSManや Enable-WSManCredSSP など、Windows リモート管理サービスを管理する WSMan プロバイダーとコマンドレットが含まれています。

スナップイン イベントのログ記録

Windows PowerShell 3.0 以降では、モジュールとスナップインの LogPipelineExecutionDetails プロパティを TRUE に設定することで、Windows PowerShell モジュールとスナップインのコマンドレットの実行イベントを記録できます。 詳細については、「 about_EventLogs」を参照してください。

関連項目

キーワード

about_Snapins about_Snap_ins about_Snapイン