Get-IseSnippet
Obtém trechos que o usuário criou.
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 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
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.