Compartilhar via


Get-IseSnippet

Obtém snippets que o usuário criou.

Sintaxe

Default (Padrão)

Get-IseSnippet

Description

O cmdlet Get-IseSnippet obtém os arquivos PS1XML que contêm snippets 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 cmdlet New-IseSnippet para criar um snippet, New-IseSnippet cria um arquivo <SnippetTitle>.Snippets.ps1xml no diretório $HOME\Documents\WindowsPowerShell\Snippets. Get-IseSnippet obtém os arquivos de snippet no diretório Snippets.

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

Esse 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 de definição de 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 snippets compartilhado.

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

Invoke-Command executa Get-IseSnippet nos computadores no arquivo Servers.txt. Um operador de pipeline (|) envia os arquivos de snippet para o cmdlet Copy-Item, 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 cmdlets Get-IseSnippet e 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 variável $psISE representa o programa de host ISE do Windows PowerShell. A propriedade CurrentPowerShellTab da variável $psISE representa a sessão atual. A propriedade Snippets representa snippets na sessão atual.

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

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

Entradas

None

Não é possível transferir objetos para esse cmdlet.

Saídas

FileInfo

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

Observações

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

    Para usar snippets não assinados criados pelo usuário que o cmdlet Get-IseSnippet 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.