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
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.