共用方式為


Get-IseSnippet

取得使用者建立的代碼段。

語法

Get-IseSnippet []

Description

Get-IseSnippet Cmdlet 會取得 PS1XML 檔案,其中包含使用者建立的可重複使用文字段。 它只適用於 Windows PowerShell 整合式腳本環境 (ISE)。

當您使用 New-IseSnippet Cmdlet 來建立代碼段時,New-IseSnippet 會在 <SnippetTitle>.Snippets.ps1xml 目錄中建立 $HOME\Documents\WindowsPowerShell\Snippets 檔案。 Get-IseSnippet 取得 Snippets 目錄中的代碼段檔案。

此 Cmdlet 不會取得透過 Import-IseSnippet Cmdlet 從模組匯入的內建代碼段或代碼段。

此 Cmdlet 已在 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 Cmdlet,其會將檔案複製到 Destination 參數所指定的目錄。

範例 3:在本機計算機上顯示每個代碼段的標題和文字

此範例會使用 Get-IseSnippetSelect-Xml Cmdlet,在本機計算機上顯示每個代碼段的標題和文字。

#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 屬性代表目前的會話。 Snippets 屬性代表目前會話中的代碼段。

$psISE.CurrentPowerShellTab.Snippets 命令會傳回代表代碼段的 Microsoft.PowerShell.Host.ISE.ISESnippet 物件,與 Get-IseSnippet Cmdlet 不同。 Get-IseSnippet 會傳回代表代碼段檔案的檔案物件 (System.Io.FileInfo)。

Format-Table Cmdlet 會顯示資料表中代碼段的 DisplayTitle Description 屬性。

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

FileInfo

此 Cmdlet 會傳回代表代碼段檔案的檔案物件。

備註

  • New-IseSnippet Cmdlet 會將新的使用者建立代碼段儲存在未簽署的 .ps1xml 檔案中。 因此,Windows PowerShell 無法將它們新增至執行原則 AllSignedRestricted的會話。 在 限制AllSigned 工作階段中,您可以建立、取得和匯入未簽署的使用者建立代碼段,但無法在工作階段中使用它們。

    若要使用 Get-IseSnippet Cmdlet 傳回的未簽署使用者建立代碼段,請變更執行原則,然後重新啟動 Windows PowerShell ISE。

    如需 Windows PowerShell 執行原則的詳細資訊,請參閱 about_Execution_Policies