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 ファイルとして受け取った場合は、システムに登録できます。 詳細については、「MSDN ライブラリ でコマンドレット、プロバイダー、ホスト アプリケーションを登録する方法 」を参照してください。
システムに登録されているすべてのスナップインを取得するか、スナップインが登録されていることを確認するには、次のように入力します。
Get-PSSnapin -registered
現在のセッションへのスナップインの追加
登録済みのスナップインを現在のセッションに追加するには、Add-PSSnapin コマンドレットを使用します。 たとえば、Microsoft SQL Server スナップインをセッションに追加するには、次のように入力します。
Add-PSSnapin sql
コマンドが完了すると、スナップインのプロバイダーとコマンドレットがセッションで使用できるようになります。 ただし、保存しない限り、現在のセッションでのみ使用できます。
スナップインの保存
今後のWindows PowerShell セッションでスナップインを使用するには、Windows PowerShell プロファイルに Add-PSSnapin コマンドを追加します。 または、スナップイン名をコンソール ファイルにエクスポートします。
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イン