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


about_Function_Provider

Szolgáltató neve

Funkció

Drives

Function:

Capabilities

ShouldProcess

Rövid leírás

Hozzáférést biztosít a PowerShellben definiált függvényekhez.

Részletes leírás

A PowerShell függvény modul lehetővé teszi a függvények és szűrők lekérését, hozzáadását, módosítását, törlését és tisztítását a PowerShellben.

A függvény egy elnevezett kódblokk, amely végrehajt egy műveletet. Amikor beírja a függvény nevét, a függvényben lévő kód fut. A szűrő egy elnevezett kódblokk, amely feltételeket határoz meg egy művelethez. A feltétel helyett beírhatja a szűrő nevét, például egy Where-Object parancsba.

A függvény meghajtó egy olyan egyszerű névtér, amely csak a függvényt és a szűrőobjektumokat tartalmazza. Sem a függvények, sem a szűrők nem rendelkeznek gyermekelemekkel.

A függvény szolgáltató az alábbi parancsmagokat támogatja, amelyekről a jelen cikk nyújt tájékoztatást.

A szolgáltató által közzétett típusok

Minden függvény a System.Management.Automation.FunctionInfo osztály példánya. Minden szűrő a System.Management.Automation.FilterInfo osztály példánya.

A függvény szolgáltató az adattárat a Function: meghajtón teszi elérhetővé. A függvények használatához módosíthatja a helyét a Function: meghajtóra (Set-Location Function:). Másik PowerShell-meghajtóról is dolgozhat. Ha másik helyről szeretne függvényre hivatkozni, használja az elérési út meghajtónevét (Function:).

Set-Location Function:

Fájlrendszer-meghajtóra való visszatéréshez írja be a meghajtó nevét. Írja be például a következőt:

Set-Location C:

A függvény szolgáltatót más bármely PowerShell-meghajtóról is használhatja. Ha más helyről szeretne függvényre hivatkozni, használja az elérési út Function: meghajtónevét.

Jegyzet

A PowerShell az aliasokkal lehetővé teszi, hogy ismerős módon dolgozzon a szolgáltatói útvonalakkal. A dir és ls parancsok mostantól Get-ChildItemaliasai, cd a helymeghatározó aliasa, pwd pedig a Get-Locationaliasa.

Függvények lekérése

Ez a parancs lekéri az aktuális munkamenet összes függvényének listáját. Ezt a parancsot bármely PowerShell-meghajtóról használhatja.

Get-ChildItem -Path Function:

A függvényszolgáltató nem rendelkezik tárolókkal, ezért a fenti parancsnak ugyanaz a hatása, ha Get-ChildItemhasználják.

Get-ChildItem -Path Function:

A függvény definícióját a Definíció tulajdonság elérésével lehet lekérni, ahogyan az alább látható.

(Get-Item -Path Function:more).Definition

A függvény definícióját visszakérheti a dollárjel ($) előtaggal ellátott szolgáltató elérési útja használatával is.

$Function:more

Ha egy kötőjelet (-) tartalmazó függvény definícióját szeretné lekérni, csomagolja be a dollárjel utáni értéket kapcsos zárójelek közé.

${Function:Clear-Host}

Kijelölt függvények lekérése

Ez a parancs lekéri a man függvényt a Function: meghajtóról. A függvény lekéréséhez a Get-Item parancsmagot használja. A folyamatüzemeltető (|) elküldi az eredményt Format-Table. A -Wrap paraméter a soron nem szereplő szöveget a következő sorra irányítja. A -AutoSize paraméter átméretezi a táblázat oszlopait a szövegnek megfelelően.

Get-Item -Path man | Format-Table -Wrap -AutoSize

A függvényszolgáltató elérési útjainak használata

Ezek a parancsok a C:nevű függvényt is lekérik. Az első parancs bármely meghajtón használható. A második parancsot a Function: meghajtó használja. Mivel a név kettősponttal végződik, amely egy meghajtó szintaxisa, az elérési utat a meghajtó nevével kell minősíteni. A Function: meghajtón belül bármelyik formátumot használhatja. A második parancsban a pont (.) az aktuális helyet jelöli.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

Függvény létrehozása

Ez a parancs a New-Item parancsmaggal hoz létre egy Win32:nevű függvényt. A kapcsos zárójelek kifejezése a függvénynév által képviselt szkriptblokk.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

Hatókörök

A változókhoz hasonlóan a függvények is egy adott hatókörhöz tartoznak. Amikor létrehoz egy függvényt, az csak abban a hatókörben érhető el, amelyben a függvényt létrehozták. Ha elérhetővé szeretne tenni egy függvényt, használjon hatókör-módosítót a függvény létrehozásakor. További információ található a about_Scopesrészben.

Az alábbi példa a Global: hatókör-módosító használatával hoz létre egy függvényt a globális hatókörben.

function New-Function {
    param(
        [string] $Name,
        [scriptblock] $Script
    )

    $lp = "Function:\Global:$($Name)"
    Set-Item -LiteralPath $lp -Value $Script -PassThru -Force
}

New-Function -Name 'Win32:' -Script { Set-Location C:\Windows\System32 }

A Global: hatókör-módosító nélkül a függvény a helyi hatókörben jönne létre. Ha New-Function kilép, az újonnan létrehozott függvény már nem létezik.

Függvény törlése

Ez a parancs törli a more függvényt az aktuális munkamenetből.

Remove-Item Function:more

Függvény módosítása

Ez a parancs a Set-Item parancsmaggal módosítja a prompt függvényt, hogy megjelenítse az elérési út előtti időt.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

Függvény átnevezése

Ez a parancs a Rename-Item parancsmaggal módosítja a help függvény nevét gh.

Rename-Item -Path Function:help -NewName gh

Függvény másolása

Ez a parancs a függvényt oldPrompta prompt parancssori függvényhez társított szkriptblokk új nevének létrehozásával másolja át. Ezzel mentheti az eredeti parancssori függvényt, ha módosítani szeretné. Az új függvény Beállítások tulajdonságának értéke None. A Beállítások tulajdonság értékének módosításához használja a Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

Dinamikus paraméterek

A dinamikus paraméterek olyan parancsmagparaméterek, amelyeket egy PowerShell-szolgáltató ad hozzá, és csak akkor érhetők el, ha a parancsmagot a szolgáltató által engedélyezett meghajtón használják.

Beállítások <[System.Management.Automation.ScopedItemOptions]>

Meghatározza egy függvény Beállítások tulajdonságának értékét.

  • None: Nincs lehetőség. A None az alapértelmezett.
  • Constant: A függvény nem törölhető, és tulajdonságai nem módosíthatók. Constant csak függvény létrehozásakor érhető el. Egy meglévő függvény beállítását nem módosíthatja Constant-ra.
  • Private: A függvény csak az aktuális hatókörben látható
  • (nem gyermekhatókörben).
  • ReadOnly: A függvény tulajdonságai csak a -Force paraméter használatával módosíthatók. A Remove-Item használatával törölheti a függvényt.
  • AllScope: A függvény másolva lesz minden létrehozott új hatókörbe.

Támogatott parancsmagok

A folyamat használata

A szolgáltatói parancsmagok elfogadják a folyamatbemenetet. A folyamat használatával egyszerűsítheti a feladatokat, ha szolgáltatói adatokat küld egy parancsmagból egy másik szolgáltatói parancsmagnak. A folyamat szolgáltatói parancsmagokkal való használatával kapcsolatos további információkért tekintse meg a cikkben található parancsmag-hivatkozásokat.

Segítség kérése

A Windows PowerShell 3.0-tól kezdve testre szabott súgótémaköröket kaphat a szolgáltatói parancsmagokhoz, amelyek ismertetik, hogyan viselkednek ezek a parancsmagok a fájlrendszer-meghajtókon.

A fájlrendszer-meghajtóhoz testre szabott súgótémakörök lekéréséhez futtasson egy Get-Help parancsot egy fájlrendszer-meghajtón, vagy a -Path paraméterével adjon meg egy fájlrendszer-meghajtót.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Function:

Lásd még