Szolgáltatótípusok

A szolgáltatók a PowerShell által biztosított szolgáltatói parancsmagok végrehajtásához szükséges műveletek módosításával határozzák meg az alapvető funkciókat. A szolgáltatók például használhatjak a parancsmag alapértelmezett funkcióit, vagy módosíthatják a parancsmag működését, amikor elemeket lekértek Get-Item az adattárból. A jelen dokumentumban ismertetett szolgáltatói funkciók tartalmazzák az adott szolgáltatói alaposztályok és felületek metódusai felülírása által meghatározott funkciókat.

Megjegyzés

A PowerShell által előre definiált szolgáltatói funkciókért lásd: Szolgáltatói képességek.

Meghajtó-kompatibilis szolgáltatók

A meghajtó-kompatibilis szolgáltatók határozzák meg a felhasználó számára elérhető alapértelmezett meghajtókat, és engedélyezik a felhasználó számára meghajtók hozzáadását vagy eltávolítását. A legtöbb esetben a szolgáltatók meghajtó-kompatibilis szolgáltatók, mert az adattár eléréséhez valamilyen alapértelmezett meghajtóra van szükségük. Saját szolgáltató írásakor azonban előfordulhat, hogy nem szeretné engedélyezni, hogy a felhasználó meghajtókat hozzon létre és távolítson el.

Meghajtó-kompatibilis szolgáltató létrehozásához a szolgáltatói osztálynak a System.Management.Automation.Provider.DriveCmdletProvider osztályból vagy az osztályból származtatott másik osztályból kell származtatva lennie. A DriveCmdletProvider osztály a következő metódusokat határozza meg a szolgáltató alapértelmezett meghajtóinak megvalósításához és a New-PSDrive és Remove-PSDrive parancsmagok támogatáshoz. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, hogy dinamikus paramétereket ad hozzá NewDrive New-PSDrive a NewDriveDynamicParameters parancsmaghoz.

  • Az InitializeDefaultDrives metódus határozza meg azokat az alapértelmezett meghajtókat, amelyek a szolgáltató használata esetén a felhasználó számára elérhetők.

  • A NewDrive és a NewDriveDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a New-PSDrive szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó meghajtókat hozzon létre az adattár eléréséhez.

  • A RemoveDrive metódus határozza meg, hogy a szolgáltató hogyan támogatja a Remove-PSDrive szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó eltávolítson meghajtókat az adattárból.

Elem kompatibilis szolgáltatók

Az elemekkel kompatibilis szolgáltatók lehetővé teszik, hogy a felhasználó lekérte, beállítsa vagy törölje az adattár elemeit. Az "elem" az adattár olyan eleme, amelyhez a felhasználó függetlenül férhet hozzá vagy felügyelhet. Elem kompatibilis szolgáltató létrehozásához a szolgáltatói osztálynak a System.Management.Automation.Provider.ItemCmdletProvider osztályból vagy az osztályból származtatott másik osztályból kell származtatva lennie.

Az ItemCmdletProvider osztály a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósításához. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, hogy dinamikus paramétereket ad hozzá ClearItem Clear-Item a ClearItemDynamicParameters parancsmaghoz.

  • A ClearItem és a ClearItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Clear-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó eltávolítsa egy elem értékét az adattárból.

  • A GetItem és a GetItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Get-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó adatokat olvassa be az adattárból.

  • A SetItem és a SetItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Set-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó frissítse az adattárban lévő elemek értékeit.

  • Az InvokeDefaultAction és az InvokeDefaultActionDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Invoke-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó végrehajtsa az elem által megadott alapértelmezett műveletet.

  • Az ItemExists és az ItemExistsDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Test-Path szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi a felhasználó számára annak megállapítását, hogy az elérési út összes eleme létezik-e.

A szolgáltatói parancsmagok megvalósításához használt metódusok mellett az ItemCmdletProvider osztály a következő metódusokat is meghatározza:

  • Az ExpandPath metódus lehetővé teszi, hogy a felhasználó helyettesítő karaktereket használjon a szolgáltató elérési útjának megadásakor.

  • Az IsValidPath segítségével határozható meg, hogy az elérési út szintaktikailag és szemantikailag érvényes-e a szolgáltató számára.

Tárolót engedélyező szolgáltatók

A tároló-kompatibilis szolgáltatók lehetővé teszik a felhasználó számára a tárolók elemeinek kezelését. A tároló gyermekelemek csoportja egy közös szülőelem alatt. Tárolót támogató szolgáltató létrehozásához a szolgáltatói osztálynak a System.Management.Automation.Provider.ContainerCmdletProvider osztályból vagy az osztályból származtatott másik osztályból kell származtatva lennie.

Fontos

A tárolót engedélyező szolgáltatók nem férhetnek hozzá a beágyazott tárolókat tartalmazó adattárakhoz. Ha egy tároló gyermekeleme egy másik tároló, meg kell valósítanunk egy navigációra képes szolgáltatót.

A ContainerCmdletProvider osztály a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósításához. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, hogy dinamikus paramétereket ad hozzá CopyItem Copy-Item a CopyItemDynamicParameters parancsmaghoz.

  • A CopyItem és a CopyItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Copy-Item szolgáltatói parancsmagot. Ezzel a parancsmaggal a felhasználó átmásolhat egy elemet az egyik helyről a másikra.

  • A GetChildItems és a GetChildItemsDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Get-ChildItem szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó lekérje a szülőelem gyermekelemét.

  • A GetChildNames és a GetNamesDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a szolgáltatói parancsmagot, ha meg van Get-ChildItem Name adva a paramétere.

  • A NewItem és a NewItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a New-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó új elemeket hozzon létre az adattárban.

  • A RemoveItem és a RemoveItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Remove-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó elemeket távolítson el az adattárból.

  • A RenameItem és a RenameItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Rename-Item szolgáltatói parancsmagot. Ezzel a parancsmagkal a felhasználó átnevezheti az adattár elemeit.

A szolgáltatói parancsmagok megvalósításához használt metódusok mellett a ContainerCmdletProvider osztály a következő metódusokat is meghatározza:

  • A Has ChildItems metódust a szolgáltató osztálya használhatja annak megállapításához, hogy egy elemnek vannak-e gyermekelemei.

  • A ConvertPath metódust a szolgáltató osztálya használhatja új szolgáltatóspecifikus elérési út létrehozására egy megadott elérési útból.

A navigációra képes szolgáltatók lehetővé teszik a felhasználó számára az adattár elemeinek áthelyezését. Navigációt támogató szolgáltató létrehozásához a szolgáltatói osztálynak a System.Management.Automation.Provider.NavigationCmdletProvider osztályból kell származtatva lennie.

A NavigationCmdletProvider osztály a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósításához. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, hogy dinamikus paramétereket ad hozzá MoveItem Move-Item a MoveItemDynamicParameters parancsmaghoz.

  • A MoveItem és a MoveItemDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Move-Item szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó áthelyez egy elemet az áruház egyik helyről egy másik helyre.

  • A MakePath metódus határozza meg, hogy a szolgáltató hogyan támogatja a Join-Path szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó egy szülő- és gyermekútvonal-szegmenst kombinálva létrehoz egy szolgáltatón belüli útvonalat.

A szolgáltatói parancsmagok megvalósításához használt metódusok mellett a NavigationCmdletProvider osztály a következő metódusokat is meghatározza:

Tartalommal kompatibilis szolgáltatók

A tartalommal kompatibilis szolgáltatók lehetővé teszik, hogy a felhasználó törölje, lekérte vagy beállítsa az adattár elemeinek tartalmát. A fájlrendszerszolgáltató például lehetővé teszi a fájlrendszerben lévő fájlok tartalmának ürítét, be- és beállítását. Tartalomszolgáltató létrehozásához a szolgáltatói osztálynak implementálnunk kell a System.Management.Automation.Provider.IContentCmdletProvider felület metódusát.

Az IContentCmdletProvider felület a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósításához. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, hogy dinamikus paramétereket ad hozzá ClearContent Clear-Content a ClearContentDynamicParameters parancsmaghoz.

Tulajdonságot engedélyező szolgáltatók

A tulajdonsággal kompatibilis szolgáltatók lehetővé teszik, hogy a felhasználó kezelje az adattárban lévő elemek tulajdonságait. Tulajdonságot engedélyező szolgáltató létrehozásához a szolgáltatói osztálynak implementálnunk kell a System.Management.Automation.Provider.IPropertyCmdletProvider és a System.Management.Automation.Provider.IDynamicPropertyCmdletProvider felület metódusát. A szolgáltatói parancsmagok támogatásához a legtöbb esetben felül kell írnia azt a metódust, amit a PowerShell-motor meghív a parancsmag meghívásához, például a Clear-Property-parancsmag metódusát, és opcionálisan felülírhat egy második metódust, például a metódust, amely dinamikus paramétereket ad hozzá a ClearProperty ClearPropertyDynamicParameters parancsmaghoz.

Az IPropertyCmdletProvider felület a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósításához:

  • A ClearProperty és a ClearPropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Clear-ItemProperty szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó törölje egy tulajdonság értékét.

  • A GetProperty és a GetPropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Get-ItemProperty szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó lekéri egy elem tulajdonságát.

  • A SetProperty és a SetPropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Set-ItemProperty szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó frissítse egy elem tulajdonságait.

Az IDynamicPropertyCmdletProvider felület a következő metódusokat határozza meg adott szolgáltatói parancsmagok megvalósítása érdekében:

  • A CopyProperty és a CopyPropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Copy-ItemProperty szolgáltatói parancsmagot. Ezzel a parancsmaggal a felhasználó átmásolhat egy tulajdonságot és annak értékét az egyik helyről a másikra.

  • A MoveProperty és a MovePropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Move-ItemProperty szolgáltatói parancsmagot. Ezzel a parancsmaggal a felhasználó áthelyez egy tulajdonságot és annak értékét az egyik helyről a másikra.

  • A NewProperty és a NewPropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a New-ItemProperty szolgáltatói parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó új tulajdonságot hozzon létre, és beállítsa annak értékét.

  • A RemoveProperty és a RemovePropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Remove-ItemProperty parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó töröljön egy tulajdonságot és annak értékét.

  • A RenameProperty és a RenamePropertyDynamicParameters metódus határozza meg, hogy a szolgáltató hogyan támogatja a Rename-ItemProperty parancsmagot. Ez a parancsmag lehetővé teszi, hogy a felhasználó módosítsa egy tulajdonság nevét.

Lásd még

about_Providers

Windows PowerShell-szolgáltató írása