共用方式為


Get-IseSnippet

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

語法

Get-IseSnippet []

Description

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

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

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

此 Cmdlet 已在 Windows PowerShell 3.0 中引進。

範例

範例 1:取得所有使用者定義代碼段

此範例會取得 Snippets 目錄中的所有使用者定義代碼段。

Get-IseSnippet

範例 2:將所有使用者定義代碼段從遠端電腦複製到共享目錄

此範例會將所有使用者建立的代碼段從遠端電腦群組複製到共用的代碼段目錄。

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

Invoke-Command會在檔案中的Servers.txt電腦上執行Get-IseSnippet。 管線運算子 (|) 會將代碼段檔案傳送至 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 CurrentPowerShellTab 屬性代表目前的會話。 Snippets 屬性代表目前會話中的代碼段。

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

Cmdlet Format-Table 會顯示 數據表中代碼段的 DisplayTitleDescription 屬性。

輸入

None

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

輸出

FileInfo

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

備註

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

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

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