Get-IseSnippet
Obtém trechos que o usuário criou.
Sintaxe
Default (Predefinição)
Get-IseSnippet
Description
O cmdlet Get-IseSnippet obtém os arquivos PS1XML que contêm trechos de texto reutilizáveis criados pelo usuário. Ele funciona somente no ISE (Ambiente de Script Integrado) do Windows PowerShell.
Quando você usa o cmdlet New-IseSnippet para criar um trecho, New-IseSnippet cria um arquivo <SnippetTitle>.Snippets.ps1xml no diretório $HOME\Documents\WindowsPowerShell\Snippets.
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 cmdlet Import-IseSnippet.
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) -ScriptBlock {
Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets
}
Invoke-Command é executado 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 trecho em um computador local
Este exemplo usa os cmdlets Get-IseSnippet 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 variável $psISE representa o programa host ISE do Windows PowerShell. A propriedade CurrentPowerShellTab da variável $psISE representa a sessão atual. A propriedade Snippets representa trechos na sessão atual.
O comando $psISE.CurrentPowerShellTab.Snippets retorna um objeto Microsoft.PowerShell.Host.ISE.ISESnippet que representa um trecho, ao contrário do cmdlet Get-IseSnippet.
Get-IseSnippet retorna um objeto de arquivo (System.Io.FileInfo) que representa um arquivo de trecho.
O cmdlet Format-Table exibe o DisplayTitle e Description propriedades 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 cmdlet
New-IseSnippetarmazena novos trechos criados pelo usuário em arquivos.ps1xmlnã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 Restrito 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 cmdlet
Get-IseSnippetretorna, 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.