Get-IseSnippet
Pobiera fragmenty kodu utworzone przez użytkownika.
Składnia
Get-IseSnippet []
Opis
Polecenie Get-IseSnippet
cmdlet pobiera pliki PS1XML zawierające fragmenty tekstu wielokrotnego użytku utworzone przez użytkownika. Działa tylko w środowisku Windows PowerShell Integrated Scripting Environment (ISE).
Gdy używasz polecenia cmdlet do tworzenia fragmentu New-IseSnippet
kodu, New-IseSnippet
tworzy <SnippetTitle>.Snippets.ps1xml
plik w $HOME\Documents\WindowsPowerShell\Snippets
katalogu.
Get-IseSnippet
Pobiera pliki fragmentu kodu w katalogu Fragmenty kodu.
To polecenie cmdlet nie pobiera wbudowanych fragmentów kodu ani fragmentów kodu importowanych z modułów za pośrednictwem Import-IseSnippet
polecenia cmdlet .
To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.
Przykłady
Przykład 1. Pobieranie wszystkich fragmentów kodu zdefiniowanego przez użytkownika
Ten przykład pobiera wszystkie fragmenty kodu zdefiniowane przez użytkownika w katalogu Fragmenty kodu.
Get-IseSnippet
Przykład 2. Kopiowanie wszystkich fragmentów kodu zdefiniowanych przez użytkownika z komputerów zdalnych do udostępnionego katalogu
Ten przykład kopiuje wszystkie fragmenty kodu utworzone przez użytkownika z grupy komputerów zdalnych do udostępnionego katalogu fragmentów kodu.
Invoke-Command -Computer (Get-Content Servers.txt) {Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets}
Invoke-Command
program jest uruchamiany Get-IseSnippet
na komputerach w Servers.txt
pliku . Operator potoku (|
) wysyła pliki fragmentu kodu do Copy-Item
polecenia cmdlet, które kopiuje je do katalogu określonego przez parametr Docelowy.
Przykład 3. Wyświetlanie tytułu i tekstu każdego fragmentu kodu na komputerze lokalnym
W tym przykładzie użyto Get-IseSnippet
poleceń cmdlet i Select-Xml
do wyświetlenia tytułu i tekstu każdego fragmentu kodu na komputerze lokalnym.
#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
Przykład 4. Wyświetlanie tytułu i opisu wszystkich fragmentów kodu w sesji
W tym przykładzie przedstawiono tytuł i opis wszystkich fragmentów kodu w sesji, w tym wbudowane fragmenty kodu, fragmenty kodu zdefiniowane przez użytkownika i zaimportowane fragmenty kodu.
$PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description
Zmienna $PSISE
reprezentuje program hosta ISE programu Windows PowerShell. Właściwość CurrentPowerShellTab zmiennej $PSISE
reprezentuje bieżącą sesję. Właściwość Fragmenty kodu reprezentuje fragmenty kodu w bieżącej sesji.
Polecenie $PSISE.CurrentPowerShellTab.Snippets
zwraca obiekt Microsoft.PowerShell.Host.ISE.ISESnippet reprezentujący fragment kodu, w przeciwieństwie do Get-IseSnippet
polecenia cmdlet . Get-IseSnippet
Zwraca obiekt pliku (System.Io.FileInfo), który reprezentuje plik fragmentu kodu.
Polecenie Format-Table
cmdlet wyświetla właściwości DisplayTitle i Description fragmentów kodu w tabeli.
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt pliku reprezentujący plik fragmentu kodu.
Uwagi
Polecenie
New-IseSnippet
cmdlet przechowuje nowe fragmenty kodu utworzonego przez użytkownika w niepodpisanych plikach ps1xml. W związku z tym program Windows PowerShell nie może dodać ich do sesji, w której zasady wykonywania to AllSigned lub Restricted. W sesji z ograniczeniami lub AllSigned można tworzyć, pobierać i importować niepodpisane fragmenty kodu utworzone przez użytkownika, ale nie można ich używać w sesji.Aby użyć niepodpisanych fragmentów kodu utworzonych przez użytkownika zwracanych
Get-IseSnippet
przez polecenie cmdlet, zmień zasady wykonywania, a następnie uruchom ponownie środowisko Windows PowerShell ISE.Aby uzyskać więcej informacji na temat zasad wykonywania programu Windows PowerShell, zobacz about_Execution_Policies.