次の方法で共有


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」を参照してください。