共用方式為


Import-IseSnippet

將 ISE 代碼段匯入目前的工作階段

語法

Import-IseSnippet
      [-Path] <String>
      [-Recurse]
      [<CommonParameters>]
Import-IseSnippet
      [-Recurse]
      -Module <String>
      [-ListAvailable]
      [<CommonParameters>]

Description

Cmdlet 會將 Import-IseSnippet 可重複使用的文字「代碼段」從模組或目錄匯入目前的會話。 代碼段可立即用於 Windows PowerShell ISE。 此 Cmdlet 僅適用於 Windows PowerShell 整合式腳本環境 (ISE)。

若要檢視和使用匯入的代碼段,請從 Windows PowerShell ISE 編輯功能表單擊 [開始代碼段] 或按 Ctrl+J

匯入的代碼段只能在目前的會話中使用。 若要將代碼段匯入所有 Windows PowerShell ISE 工作階段,請將命令新增 Import-IseSnippet 至 Windows PowerShell 配置檔,或將代碼段檔案複製到本機代碼段目錄 $HOME\Documents\WindowsPowershell\Snippets

若要匯入代碼段,這些代碼段必須在 Windows PowerShell ISE 代碼段的代碼段 XML 中正確格式化,並儲存在 Snippet.ps1xml 檔案中。 若要建立合格的代碼段,請使用 New-IseSnippet Cmdlet。 New-IseSnippet 會在目錄中建立 <SnippetTitle>.Snippets.ps1xml 檔案 $HOME\Documents\WindowsPowerShell\Snippets 。 您可以將代碼段移至 Windows PowerShell 模組的 Snippets 目錄,或移至任何其他目錄。

Cmdlet Get-IseSnippet 會取得本機代碼段目錄中的使用者建立代碼段,不會取得匯入的代碼段。

此 Cmdlet 已在 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 Cmdlet 為您匯入它們。

($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

表示此 Cmdlet 會從計算機上安裝的模組取得代碼段,即使模組未匯入目前的會話也一樣。 如果省略此參數,而且Module參數所指定的模組不會匯入目前的會話,則嘗試從模組取得代碼段會失敗。

只有在命令中使用Module參數時,此參數才有效。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Module

將指定模組中的代碼段匯入目前的工作階段。 不支援萬用字元。

這個參數會從 Snippet.ps1xml 模組路徑中 Snippets 子目錄中的檔案匯入代碼段,例如 $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets

此參數的設計目的是要供啟動腳本中的模組作者使用,例如模組指令清單的 ScriptsToProcess 索引鍵中指定的腳本。 模組中的代碼段不會隨著模組自動匯入,但您可以使用 Import-IseSnippet 命令來匯入它們。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Path

指定此 Cmdlet 匯入代碼段之代碼段目錄的路徑。

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:True

-Recurse

指出此 Cmdlet 會從 Path 參數值的所有子目錄中匯入代碼段。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

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

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

  • 您無法使用 Get-IseSnippet Cmdlet 來取得匯入的代碼段。 Get-IseSnippet 只會取得目錄中的代碼 $HOME\Documents\WindowsPowerShell\Snippets 段。

  • Import-IseSnippet會使用 Microsoft.PowerShell.Host.ISE.ISESnippetCollection 物件的 Load 靜態方法。 您也可以在 Windows PowerShell ISE 物件模型中使用 代碼段的 Load 方法: $psISE.CurrentPowerShellTab.Snippets.Load()

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

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

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