Get-IseSnippet
ユーザーが作成したスニペットを取得します。
構文
Get-IseSnippet []
説明
Get-IseSnippet
コマンドレットは、ユーザーが作成した再利用可能なテキスト スニペットを含む PS1XML ファイルを取得します。 Windows PowerShell Integrated Scripting Environment (ISE) でのみ機能します。
New-IseSnippet
コマンドレットを使用してスニペットを作成 New-IseSnippet
、<SnippetTitle>.Snippets.ps1xml
ディレクトリに $HOME\Documents\WindowsPowerShell\Snippets
ファイルを作成します。
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
Get-IseSnippet
ファイル内のコンピューターで Servers.txt
を実行します。 パイプライン演算子 (|
) は、スニペット ファイルを 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
プロパティは、現在のセッションを表します。
スニペット プロパティは、現在のセッションのスニペットを表します。
$psISE.CurrentPowerShellTab.Snippets
コマンドは、 コマンドレットとは異なり、スニペットを表す Microsoft.PowerShell.Host.ISE.ISESnippet Get-IseSnippet
を返します。
Get-IseSnippet
は、スニペット ファイルを表すファイル オブジェクト (System.Io.FileInfo) を返します。
Format-Table
コマンドレットは、テーブル内のスニペットの DisplayTitle プロパティと Description プロパティを表示します。
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、スニペット ファイルを表すファイル オブジェクトを返します。
メモ
New-IseSnippet
コマンドレットは、ユーザーが作成した新しいスニペットを署名されていない.ps1xml
ファイルに格納します。 そのため、Windows PowerShell は、実行ポリシーが AllSigned または制限付き セッションに追加することはできません。 制限付き または AllSigned セッション では、署名されていないユーザーが作成したスニペットを作成、取得、インポートできますが、セッションで使用することはできません。Get-IseSnippet
コマンドレットが返す署名されていないユーザー作成スニペットを使用するには、実行ポリシーを変更してから、Windows PowerShell ISE を再起動します。Windows PowerShell 実行ポリシーの詳細については、「about_Execution_Policies」を参照してください。