about_PSSnapins

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

トピック

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 コマンドレットとプロバイダーをパッケージ化するにはモジュールを使用します。モジュールの作成やスナップインのモジュールへの変換の詳細については、MSDN の Windows PowerShell モジュールの作成に関するページ (https://go.microsoft.com/fwlink/?LinkID=141556) を参照してください。

スナップインの検索

コンピューター上の 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 ファイルとして受け取ったスナップインもシステムに登録できます。詳細については、MSDN (Microsoft Developer Network) ライブラリで、コマンドレット、プロバイダー、およびホスト アプリケーションを登録する方法に関するページ (https://go.microsoft.com/fwlink/?LinkId=143619) を参照してください。

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

       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

これで、スナップインの中のプロバイダーとコマンドレットをセッションで使用できるようになります。

スナップインの削除

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 コマンドレットで開始されるセッションなど、リモート セッションは古いスタイルのセッションであり、内蔵コマンドレットはスナップインでパッケージ化されています。

  • 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
    Certificate プロバイダーと、Get-Acl、Get-AuthenticodeSignature、および ConvertTo-SecureString など、Windows PowerShell のセキュリティを管理するために使用するコマンドレットが含まれています。
  • Microsoft.PowerShell.Utility
    Get-Member、Write-Host、および Format-List など、オブジェクトとデータを操作するために使用するコマンドレットが含まれています。
  • Microsoft.WSMan.Management
    WSMan プロバイダーと、Connect-WSMan や Enable-WSManCredSSP などの Windows リモート管理サービスを管理するコマンドレットが含まれています。

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

Windows PowerShell 3.0 より、Windows PowerShell のモジュールおよびスナップインのコマンドレットの実行イベントを記録できます。それには、モジュールおよびスナップインの LogPipelineExecutionDetails プロパティに TRUE を設定します。詳細については、「about_EventLogs」(https://go.microsoft.com/fwlink/?LinkID=113224) を参照してください。

関連項目

Add-PsSnapin

Get-PsSnapin

Remove-PsSnapin

Export-Console

Get-Command

about_Profiles

about_Modules

キーワード:about_Snapins, about_Snap_ins, about_Snap-ins