Share via


Get-IseSnippet

Obtém trechos que o usuário criou.

Syntax

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 somente no ISE (Ambiente de Script Integrado) do Windows PowerShell.

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

Este cmdlet não obtém trechos internos ou trechos 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 trechos definidos pelo usuário

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

Get-IseSnippet

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

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

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

Invoke-Command é executado Get-IseSnippet nos computadores no 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 trecho em um computador local

Este exemplo usa os Get-IseSnippet cmdlets e Select-Xml para exibir o título e o texto de cada trecho 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 trechos na sessão

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

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

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

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

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

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

FileInfo

Este cmdlet retorna um objeto de arquivo que representa o arquivo de trecho.

Notas

  • O New-IseSnippet cmdlet armazena novos trechos criados pelo usuário em arquivos .ps1xml não assinados. Como tal, 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 trechos não assinados criados pelo usuário, mas não pode usá-los na sessão.

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

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