Import-IseSnippet
ISE スニペットを現在のセッションにインポートします
構文
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-ListAvailable]
[<CommonParameters>]
説明
Import-IseSnippet
コマンドレットは、モジュールまたはディレクトリから現在のセッションに再利用可能なテキスト "スニペット" をインポートします。 スニペットは、Windows PowerShell ISE ですぐに使用できます。 このコマンドレットは、Windows PowerShell Integrated Scripting Environment (ISE) でのみ機能します。
インポートしたスニペットを表示して使用するには、Windows PowerShell ISE [編集] メニューの [スタート スニペット] クリックするか、Ctrl +Jキー押します。
インポートされたスニペットは、現在のセッションでのみ使用できます。 スニペットをすべての Windows PowerShell ISE セッションにインポートするには、Windows PowerShell プロファイルに Import-IseSnippet
コマンドを追加するか、スニペット ファイルをローカル スニペット ディレクトリ $HOME\Documents\WindowsPowershell\Snippets
コピーします。
スニペットをインポートするには、Windows PowerShell ISE スニペットのスニペット XML でスニペットを適切に書式設定し、Snippet.ps1xml ファイルに保存する必要があります。 対象となるスニペットを作成するには、New-IseSnippet
コマンドレットを使用します。
New-IseSnippet
は、$HOME\Documents\WindowsPowerShell\Snippets
ディレクトリに <SnippetTitle>.Snippets.ps1xml
ファイルを作成します。 スニペットは、Windows PowerShell モジュールの Snippets ディレクトリまたは他の任意のディレクトリに移動またはコピーできます。
ローカル スニペット ディレクトリでユーザーが作成したスニペットを取得する Get-IseSnippet
コマンドレットは、インポートされたスニペットを取得しません。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: ディレクトリからスニペットをインポートする
次の使用例は、\\Server01\Public\Snippets
ディレクトリから現在のセッションにスニペットをインポートします。
Recurse パラメーターを使用して、Snippets ディレクトリのすべてのサブディレクトリからスニペットを取得します。
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
例 2: モジュールからスニペットをインポートする
この例では、SnippetModule モジュールからスニペットをインポートします。 コマンドは、ListAvailable パラメーターを使用して、SnippetModule モジュールがコマンドの実行時にユーザーのセッションにインポートされない場合でもスニペットをインポートします。
Import-IseSnippet -Module SnippetModule -ListAvailable
例 3: モジュールでスニペットを検索する
この例では、PSModulePath 環境変数にインストールされているすべてのモジュールのスニペットを取得します。
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.Fullname}
例 4: すべてのモジュール スニペットをインポートする
この例では、インストールされているすべてのモジュールからすべてのスニペットを現在のセッションにインポートします。 通常、このようなコマンドを実行する必要はありません。スニペットを含むモジュールは、モジュールのインポート時に Import-IseSnippet
コマンドレットを使用してインポートするためです。
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psISE.CurrentPowerShellTab.Snippets.Load($_)}
例 5: すべてのモジュール スニペットをコピーする
次の使用例は、インストールされているすべてのモジュールのスニペット ファイルを、現在のユーザーの Snippets
ディレクトリにコピーします。 現在のセッションにのみ影響するインポートされたスニペットとは異なり、コピーされたスニペットは、すべての Windows PowerShell ISE セッションで使用できます。
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
パラメーター
-ListAvailable
このコマンドレットは、モジュールが現在のセッションにインポートされていない場合でも、コンピューターにインストールされているモジュールからスニペットを取得することを示します。 このパラメーターを省略し、Module パラメーターで指定されたモジュールが現在のセッションにインポートされていない場合、モジュールからスニペットを取得しようとすると失敗します。
このパラメーターは、Module パラメーターがコマンドで使用されている場合にのみ有効です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Module
指定したモジュールから現在のセッションにスニペットをインポートします。 ワイルドカード文字はサポートされていません。
このパラメーターは、モジュール パスの Snippets サブディレクトリ Snippet.ps1xml
ファイルからスニペットをインポートします (例: $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets
)。
このパラメーターは、モジュール マニフェストの ScriptsToProcess キーで指定されたスクリプトなど、スタートアップ スクリプトのモジュール作成者が使用するように設計されています。 モジュール内のスニペットは、モジュールと共に自動的にインポートされませんが、Import-IseSnippet
コマンドを使用してインポートできます。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
このコマンドレットがスニペットをインポートするスニペット ディレクトリへのパスを指定します。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Recurse
このコマンドレットが、Path パラメーターの値のすべてのサブディレクトリからスニペットをインポートすることを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
このコマンドレットは出力を返しません。
メモ
Get-IseSnippet
コマンドレットを使用してインポートされたスニペットを取得することはできません。Get-IseSnippet
は、$HOME\Documents\WindowsPowerShell\Snippets
ディレクトリ内のスニペットのみを取得します。Import-IseSnippet
では、Microsoft.PowerShell.Host.ISE.ISE.ISESnippetCollection オブジェクトの Load 静的メソッドを使用します。 Windows PowerShell ISE オブジェクト モデルでスニペットの Load メソッドを使用することもできます。$psISE.CurrentPowerShellTab.Snippets.Load()
New-IseSnippet
コマンドレットは、ユーザーが作成した新しいスニペットを署名されていない .ps1xml ファイルに格納します。 そのため、Windows PowerShell は、実行ポリシーが AllSigned または制限付き セッションに読み込むことはできません。 制限付き または AllSigned セッション では、署名されていないユーザーが作成したスニペットを作成、取得、インポートできますが、セッションで使用することはできません。Import-IseSnippet
コマンドレットが返す署名されていないユーザー作成スニペットを使用するには、実行ポリシーを変更してから、Windows PowerShell ISE を再起動します。Windows PowerShell 実行ポリシーの詳細については、「about_Execution_Policies」を参照してください。
関連リンク
PowerShell