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-IseSnippetarmazena novos snippets criados pelo usuário em arquivos de.ps1xmlsem 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-IseSnippetretorna, 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.