次の方法で共有


Get-IseSnippet

ユーザーが作成したスニペットを取得します。

構文

Get-IseSnippet []

説明

Get-IseSnippet コマンドレットは、ユーザーが作成した再利用可能なテキスト スニペットを含む PS1XML ファイルを取得します。 Windows PowerShell Integrated Scripting Environment (ISE) でのみ機能します。

New-IseSnippet コマンドレットを使用してスニペットを作成 New-IseSnippet$HOME\Documents\WindowsPowerShell\Snippets ディレクトリに <SnippetTitle>.Snippets.ps1xml ファイルを作成します。 Get-IseSnippet は、Snippets ディレクトリ内のスニペット ファイルを取得します。

このコマンドレットは、Import-IseSnippet コマンドレットを介してモジュールからインポートされる組み込みのスニペットやスニペットを取得しません。

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: すべてのユーザー定義スニペットを取得する

この例では、Snippets ディレクトリ内のすべてのユーザー定義スニペットを取得します。

Get-IseSnippet

例 2: リモート コンピューターから共有ディレクトリにすべてのユーザー定義スニペットをコピーする

次の使用例は、ユーザーが作成したすべてのスニペットをリモート コンピューターのグループから共有スニペット ディレクトリにコピーします。

Invoke-Command -Computer (Get-Content Servers.txt) -ScriptBlock {
    Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets
}

Invoke-Command Servers.txt ファイル内のコンピューターで Get-IseSnippet を実行します。 パイプライン演算子 (|) は、スニペット ファイルを Copy-Item コマンドレットに送信し、Destination パラメーターで指定されたディレクトリにコピーします。

例 3: ローカル コンピューター上の各スニペットのタイトルとテキストを表示する

この例では、Get-IseSnippet コマンドレットと Select-Xml コマンドレットを使用して、ローカル コンピューター上の各スニペットのタイトルとテキストを表示します。

#Parse-Snippet Function
function Parse-Snippet {
  $SnippetFiles = Get-IseSnippet
  $SnippetNamespace = @{x="http://schemas.microsoft.com/PowerShell/Snippets"}
  foreach ($SnippetFile in $SnippetFiles) {
     Write-Host ""
     $Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" |
       ForEach-Object {$_.Node.InnerXML}
     $Text = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" |
       ForEach-Object {$_.Node.InnerText}
     Write-Host "Title: $Title"
     Write-Host "Text: $Text"
   }
}

Title: Mandatory
Text:
Param
(
  [parameter(Mandatory=True)]
  [String[]]
  $<ParameterName>
)

Title: Copyright
Text:  (c) Fabrikam, Inc. 2012

例 4: セッション内のすべてのスニペットのタイトルと説明を表示する

この例では、組み込みのスニペット、ユーザー定義スニペット、インポートされたスニペットなど、セッション内のすべてのスニペットのタイトルと説明を表示します。

$PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description

$PSISE 変数は、Windows PowerShell ISE ホスト プログラムを表します。 $PSISE 変数の CurrentPowerShellTab プロパティは、現在のセッションを表します。 スニペット プロパティは、現在のセッションのスニペットを表します。

$PSISE.CurrentPowerShellTab.Snippets コマンドは、Get-IseSnippet コマンドレットとは異なり、スニペットを表す Microsoft.PowerShell.Host.ISE.ISESnippet オブジェクト を返します。 Get-IseSnippet は、スニペット ファイルを表すファイル オブジェクト (System.Io.FileInfo) を返します。

Format-Table コマンドレットは、テーブル内のスニペットの DisplayTitle プロパティと Description プロパティを表示します。

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

FileInfo

このコマンドレットは、スニペット ファイルを表すファイル オブジェクトを返します。

メモ

  • New-IseSnippet コマンドレットは、ユーザーが作成した新しいスニペットを署名されていない .ps1xml ファイルに格納します。 そのため、Windows PowerShell は、実行ポリシーが AllSigned または制限付き セッションに追加することはできません。 制限付き または AllSigned セッション では、署名されていないユーザーが作成したスニペットを作成、取得、インポートできますが、セッションで使用することはできません。

    Get-IseSnippet コマンドレットが返す署名されていないユーザー作成スニペットを使用するには、実行ポリシーを変更してから、Windows PowerShell ISE を再起動します。

    Windows PowerShell 実行ポリシーの詳細については、「about_Execution_Policies」を参照してください。