Megosztás a következőn keresztül:


Get-IseSnippet

Lekéri a felhasználó által létrehozott kódrészleteket.

Syntax

Default (Alapértelmezett)

Get-IseSnippet

Description

A Get-ISESnippet parancsmag lekéri a felhasználó által létrehozott újrafelhasználható szövegrészleteket tartalmazó PS1XML-fájlokat. Csak a Windows PowerShell integrált szkriptelési környezetében (ISE) működik.

Ha a New-IseSnippet parancsmaggal hoz létre kódrészletet, New-IseSnippet létrehoz egy <kódrészletetTitle>. Snippets.ps1xml fájl a $home\Documents\WindowsPowerShell\Snippets könyvtárban. Get-ISESnippet lekéri a kódrészletfájlokat a Kódrészletek könyvtárban.

Ez a parancsmag nem kap olyan beépített kódrészleteket vagy kódrészleteket, amelyeket a modulokból a Import-IseSnippet parancsmagon keresztül importálnak.

Ezt a parancsmagot a Windows PowerShell 3.0-ban vezettük be.

Példák

1. példa: Az összes felhasználó által definiált kódrészlet lekérése

PS C:\> Get-ISESnippet

Ez a parancs lekéri az összes felhasználó által definiált kódrészletet a Kódrészletek könyvtárban.

2. példa: Az összes felhasználó által definiált kódrészlet másolása távoli számítógépekről egy megosztott könyvtárba

PS C:\> Invoke-Command -Computer (Get-Content Servers.txt) {Get-ISESnippet | Copy-Item -Destination \\Server01\Share01\Snippets}

Ez a parancs az összes felhasználó által létrehozott kódrészletet átmásolja egy távoli számítógépcsoportból egy megosztott kódrészlet-könyvtárba.

A parancs a Invoke-Command parancsmaggal futtat egy Get-ISESnippet parancsot a Servers.txt fájl számítógépein. A folyamatkezelő (|) elküldi a kódrészletfájlokat a Copy-Item parancsmagnak, amely a Cél paraméter által megadott könyvtárba másolja őket.

3. példa: Az egyes kódrészletek címének és szövegének megjelenítése egy helyi számítógépen

PS C:\> #Parse-Snippet Function

function Parse-Snippet
{
  $A = Get-ISESnippet
  $SnippetNamespace = @{x="https://schemas.microsoft.com/PowerShell/Snippets"}
  foreach ($SnippetFile in $A)
   {
     Write-Host ""
     $Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" | foreach {$_.Node.InnerXML}
     $Text =  Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" | foreach {$_.Node.InnerText}
     Write-Host "Title: $Title"
     Write-Host "Text: $Text"
   }
}

# Sample Output

Title: Mandatory
Text:
Param
(
  [parameter(Mandatory=True)]
  [String[]]
  $<ParameterName>
)

Title: Copyright
Text:  (c) Fabrikam, Inc. 2012

Ez a példa a Get-ISESnippet és Select-Xml parancsmagokkal jeleníti meg az egyes kódrészletek címét és szövegét a helyi számítógépen.

4. példa: A munkamenet összes kódrészletének címe és leírása

PS C:\> $PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description

Ez a parancs megjeleníti a munkamenet összes kódrészletének címét és leírását, beleértve a beépített kódrészleteket, a felhasználó által definiált kódrészleteket és az importált kódrészleteket.

A parancs a Windows PowerShell ISE objektummodellt használja. A $PSISE változó a Windows PowerShell ISE gazdagépprogramot jelöli. A $PSISE változó CurrentPowerShellTab tulajdonsága az aktuális munkamenetet jelöli. A kódrészletek tulajdonság az aktuális munkamenet kódrészleteit jelöli.

A $PSISE. A CurrentPowerShellTab.Snippets parancs egy Microsoft.PowerShell.Host.ISE.ISESnippet objektumot ad vissza, amely egy kódrészletet jelöl, ellentétben a Get-IseSnippet parancsmaggal, amely egy kódrészletfájlt képviselő fájlobjektumot (System.Io.FileInfo) ad vissza.

A parancs a Format-Table parancsmaggal is megjeleníti a DisplayTitle és a tábla kódrészleteinek leírási tulajdonságait.

Kimenetek

FileInfo

Ez a parancsmag egy fájlobjektumot ad vissza, amely a kódrészletfájlt jelöli.

Jegyzetek

  • A New-IseSnippet parancsmag az új, felhasználó által létrehozott kódrészleteket nem aláírt .ps1xml fájlokban tárolja. Ezért a Windows PowerShell nem tudja hozzáadni őket olyan munkamenethez, amelyben a végrehajtási szabályzat AllSigned vagy Korlátozott. Korlátozott vagy AllSigned munkamenetben létrehozhat, lekérhet és importálhat nem aláírt, felhasználó által létrehozott kódrészleteket, de a munkamenetben nem használhatja őket.

    Ha nem aláírt, felhasználó által létrehozott kódrészleteket szeretne használni, amelyeket a Get-IseSnippet parancsmag visszaad, módosítsa a végrehajtási szabályzatot, majd indítsa újra a Windows PowerShell ISE-t.

    További információ a Windows PowerShell végrehajtási szabályzatairól: about_Execution_Policies.