Compartilhar via


Get-IseSnippet

Obtém snippets criados pelo usuário.

Sintaxe

Get-IseSnippet []

Description

O Get-IseSnippet cmdlet obtém os arquivos PS1XML que contêm trechos de texto reutilizáveis que o usuário criou. Ele funciona apenas no ISE (Ambiente de Script Integrado) do Windows PowerShell.

Quando você usa o New-IseSnippet cmdlet para criar um snippet, New-IseSnippet o cria um <SnippetTitle>.Snippets.ps1xml arquivo no $HOME\Documents\WindowsPowerShell\Snippets diretório. Get-IseSnippet obtém os arquivos de snippet no diretório Snippets.

Esse cmdlet não obtém snippets internos ou snippets importados de módulos por meio do Import-IseSnippet cmdlet.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Obter todos os snippets definidos pelo usuário

Este exemplo obtém todos os snippets definidos pelo usuário no diretório Snippets.

Get-IseSnippet

Exemplo 2: Copiar todos os snippets definidos pelo usuário de computadores remotos para um diretório compartilhado

Este exemplo copia todos os snippets criados pelo usuário de um grupo de computadores remotos para um diretório compartilhado de Snippets.

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

Invoke-Command é executado Get-IseSnippet nos computadores do Servers.txt arquivo. Um operador de pipeline (|) envia os arquivos de snippet para o Copy-Item cmdlet, que os copia para o diretório especificado pelo parâmetro Destination .

Exemplo 3: Exibir o título e o texto de cada snippet em um computador local

Este exemplo usa os Get-IseSnippet cmdlets and Select-Xml para exibir o título e o texto de cada snippet no computador local.

#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

Exemplo 4: Exibir o título e a descrição de todos os snippets na sessão

Este exemplo exibe o título e a descrição de todos os snippets na sessão, incluindo snippets internos, snippets definidos pelo usuário e snippets importados.

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

A $PSISE variável representa o programa host do ISE do Windows PowerShell. A propriedade CurrentPowerShellTab da $PSISE variável representa a sessão atual. A propriedade Snippets representa snippets na sessão atual.

O $PSISE.CurrentPowerShellTab.Snippets comando retorna um objeto Microsoft.PowerShell.Host.ISE.ISESnippet que representa um snippet, ao contrário do Get-IseSnippet cmdlet. Get-IseSnippet retorna um objeto de arquivo (System.Io.FileInfo) que representa um arquivo de snippet.

O Format-Table cmdlet exibe as propriedades DisplayTitle e Description dos snippets em uma tabela.

Entradas

None

Você não pode canalizar objetos para esse cmdlet.

Saídas

FileInfo

Esse cmdlet retorna um objeto de arquivo que representa o arquivo de snippet.

Observações

  • O New-IseSnippet cmdlet armazena novos snippets criados pelo usuário em arquivos .ps1xml não assinados. Dessa forma, o Windows PowerShell não pode adicioná-los a uma sessão na qual a política de execução é AllSigned ou Restricted. Em uma sessão restrita ou AllSigned , você pode criar, obter e importar snippets criados por usuários não assinados, mas não pode usá-los na sessão.

    Para usar snippets não assinados criados pelo usuário que o Get-IseSnippet cmdlet retorna, altere a política de execução e reinicie o ISE do Windows PowerShell.

    Para obter mais informações sobre as políticas de execução do Windows PowerShell, consulte about_Execution_Policies.