A Windows PowerShell-szolgáltató tervezése
Akkor érdemes implementálni Windows PowerShell szolgáltatót, ha a terméke vagy konfigurációja tárolt adatok egy halmazát teszi elérhetővé, például egy adatbázist, amely között a felhasználó el szeretne navigálni vagy böngészni. Emellett, ha a termék egy tárolót is biztosít, még akkor is, ha nem többszintű tárolóról van szó, logikus egy Windows PowerShell megvalósítása. Előfordulhat például, hogy egy Windows PowerShell-tárolószolgáltatót szeretne megvalósítani, ha a Másolás, Áthelyezés, Átnevezés, Új vagy Eltávolítás parancsmag műveletnek van értelme a terméken vagy a konfigurációs adatokon.
Windows PowerShell A szolgáltató azonosításának útvonalai
A Windows PowerShell-Windows PowerShell elérési utakat használ a megfelelő Windows PowerShell eléréséhez. Ha egy parancsmag megadja ezen elérési utak valamelyikét, a futásidő tudni fogja, hogy melyik szolgáltatót kell használnia a társított adattár eléréséhez. Az elérési utak közé tartoznak a meghajtóval minősített elérési utak, a szolgáltató által minősített elérési utak, a szolgáltató által közvetlen útvonalak és a szolgáltató belső elérési útjai. Minden Windows PowerShell szolgáltatónak támogatnia kell egy vagy több ilyen útvonalat.
További információ az elérési utakról Windows PowerShell How Windows PowerShell Works (A Windows PowerShell működése).
Elérési út Drive-Qualified definiálása
Annak érdekében, hogy a felhasználó hozzáférjen a fizikai meghajtón található adatokhoz, a Windows PowerShell szolgáltatónak támogatnia kell a meghajtóval minősített elérési utat. Ez az elérési út a meghajtó nevével kezdődik, majd egy kettősponttal (:), például: mydrive:\abc\bar.
Elérési út Provider-Qualified definiálása
Ahhoz, hogy a Windows PowerShell inicializálja és inicializálja a szolgáltatót, a Windows PowerShell szolgáltatónak támogatnia kell a szolgáltató által minősített elérési utat. A FileSystem:: \uncshare\abc\bar például a fájlrendszer-szolgáltató szolgáltató által minősített elérési útja a \ Windows PowerShell.
Elérési út Provider-Direct definiálása
Ha engedélyeznie kell a Windows PowerShell-szolgáltatóhoz való távoli hozzáférést, akkor támogatnia kell a szolgáltató által közvetlenül a Windows PowerShell szolgáltatónak az aktuális helyhez való közvetlen elérést. A beállításjegyzék-szolgáltató például Windows PowerShell \ \server\regkeypath elérési utat használhatja szolgáltató által közvetlen elérési útként.
Elérési út Provider-Internal definiálása
Annak érdekében, hogy a szolgáltatói parancsmag nem Windows PowerShell alkalmazásprogramozási felületek (API-k) használatával hozzáférjen az adatokhoz, a Windows PowerShell-szolgáltatónak támogatnia kell a szolgáltató belső elérési útját. Ez az elérési út a "::" jel után látható a szolgáltató által minősített elérési úton. A fájlrendszer-szolgáltató belső elérési útja például a \ Windows PowerShell\uncshare\abc\bar.
Tárolt adatok módosítása
A mögöttes adattárat módosító metódusok felülbírálásakor mindig hívja meg a System.Management.Automation.Provider.Cmdletprovider.Writeitemobject* metódust, amelynél az elem legújabb verziója módosult az adott metódussal. A szolgáltatói infrastruktúra határozza meg, hogy az elemobjektumot át kell-e adni a folyamatnak, például amikor a felhasználó megadja a -PassThru paramétert. Ha a legfrissebb elem leolvasása költséges művelet (teljesítmény alapján), tesztelheti a Context.PassThru tulajdonságot annak megállapításához, hogy valóban meg kell-e írnia az eredményül kapott elemet.
Alaposztály kiválasztása a szolgáltatóhoz
Windows PowerShell több alaposztályt is biztosít, amelyek segítségével megvalósíthatja saját Windows PowerShell szolgáltatóját. Szolgáltató tervezésekor válassza ki az ebben a szakaszban ismertetett, az Igényeinek leginkább megfelelő alaposztályt.
Minden Windows PowerShell-szolgáltató alaposztálya elérhetővé tesz parancsmagok egy készletét. Ez a szakasz a parancsmagokat ismerteti, a paramétereiket azonban nem.
A munkamenet-állapot használatával a Windows PowerShell futtatás több hely parancsmagot tesz elérhetővé bizonyos Windows PowerShell-szolgáltatók, például a , a , a és a Get-Location
Set-Location
Pop-Location
Push-Location
parancsmagok számára. A parancsmag használatával információkat szerezhet be ezekről a hely Get-Help
parancsmagokkal kapcsolatban.
CmdletProvider alaposztály
A System.Management.Automation.Provider.Cmdletprovider osztály meghatároz egy alapszintű Windows PowerShell szolgáltatót. Ez az osztály támogatja a szolgáltatói deklarációt, és számos olyan tulajdonságot és metódust biztosít, amelyek minden szolgáltató Windows PowerShell elérhetők.
A osztályt a parancsmag hívja meg a munkamenethez elérhető összes Get-PSProvider
szolgáltató listához.
A parancsmag implementációját a munkamenet-állapot jellemzi.
Megjegyzés
Windows PowerShell szolgáltatók minden nyelvi Windows PowerShell elérhetők.
DriveCmdletProvider alaposztály
A System.Management.Automation.Provider.Drivecmdletprovider osztály meghatároz egy Windows PowerShell-meghajtószolgáltatót, amely támogatja az új meghajtók hozzáadására, a meglévő meghajtók eltávolítására és az alapértelmezett meghajtók inicializálására vonatkozó műveleteket. Például a fájlrendszerszolgáltató által biztosított Windows PowerShell minden csatlakoztatott kötet meghajtóit inicializálja, például merevlemezeket és CD/DVD-eszközmeghajtókat.
Ez az osztály a System.Management.Automation.Provider.Cmdletprovider alaposztályból származik. Az alábbi táblázat az osztály által elérhetővé teszi parancsmagokat sorolja fel. A felsoroltakon kívül a (munkamenet-állapot által felfedett) parancsmag egy kapcsolódó parancsmag, amely az elérhető meghajtók Get-PSDrive
lekérését használja.
Parancsmag | Definíció |
---|---|
New-PSDrive |
Létrehoz egy új meghajtót a munkamenethez, és továbbítja a meghajtó információit. |
Remove-PSDrive |
Eltávolít egy meghajtót a munkamenetből. |
ItemCmdletProvider alaposztály
A System.Management.Automation.Provider.Itemcmdletprovider osztály meghatároz egy Windows PowerShell-elemszolgáltatót, amely műveleteket hajt végre az adattár egyes elemein, és nem feltételez tároló- vagy navigációs képességeket. Ez az osztály a System.Management.Automation.Provider.Drivecmdletprovider alaposztályból származik. Az alábbi táblázat az osztály által elérhetővé teszi parancsmagokat sorolja fel.
Parancsmag | Definíció |
---|---|
Clear-Item |
Törli az elemek aktuális tartalmát a megadott helyen, és lecseréli azt a szolgáltató által megadott "clear" értékre. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Get-Item |
Lekéri az elemeket a megadott helyről, és streameli az eredményül kapott objektumokat. |
Invoke-Item |
Meghívja az elem alapértelmezett műveletét a megadott elérési úton. |
Set-Item |
Beállítja a megadott helyen található elemet a jelzett értékkel. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Resolve-Path |
Feloldja a helyettesítő karaktereket egy Windows PowerShell elérési úthoz, és streameli az elérési út adatait. |
Test-Path |
Teszteli a megadott elérési utat, és true visszaadja, ha létezik, és false egyébként értéket ad vissza. Ez a parancsmag a IsContainer System.Management.Automation.Provider.Cmdletprovider.Writeitemobject* metódus paraméterének támogatásához van megvalósítva. |
ContainerCmdletProvider alaposztály
A System.Management.Automation.Provider.Containercmdletprovider osztály meghatároz egy Windows PowerShell-tárolószolgáltatót, amely az adattárelemek tárolóit teszi elérhetővé a felhasználó számára. Vegye figyelembe, hogy Windows PowerShell tárolószolgáltató csak akkor használható, ha egy tároló (beágyazott tárolók nélkül) tartalmaz elemeket. Ha vannak beágyazott tárolók, akkor létre kell Windows PowerShell navigációszolgáltatót.
Ez az osztály a System.Management.Automation.Provider.Itemcmdletprovider alaposztályból származik. Az alábbi táblázat az osztály által megvalósított parancsmagokat definiálja.
Parancsmag | Definíció |
---|---|
Copy-Item |
Elemeket másol az egyik helyről a másikra. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Get-Childitem |
Lekéri a gyermekelemeket a megadott helyen, és objektumokként streameli őket. |
New-Item |
Új elemeket hoz létre a megadott helyen, és streameli az eredményül kapott objektumot. |
Remove-Item |
Eltávolítja az elemeket a megadott helyről. |
Rename-Item |
Átnevez egy elemet a megadott helyen. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
NavigationCmdletProvider alaposztály
A System.Management.Automation.Provider.Navigationcmdletprovider osztály meghatároz egy Windows PowerShell-navigációszolgáltatót, amely műveleteket hajt végre a több tárolót tartalmazó elemeken. Ez az osztály a System.Management.Automation.Provider.Containercmdletprovider alaposztályból származik. Az alábbi táblázat az osztály által elérhetővéált parancsmagokat sorolja fel.
Parancsmag | Definíció |
---|---|
Combine-Path | Két elérési utat egyesít egyetlen útvonalon, az elérési utak közötti szolgáltatóspecifikus elválasztó használatával. Ez a parancsmag sztringeket streamel. |
Move-Item |
Áthelyezi az elemeket a megadott helyre. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
A kapcsolódó parancsmagok a parancsmagok Parse-Path alapszintű parancsmagját Windows PowerShell. Ezzel a parancsmagtal elemezhet egy Windows PowerShell a paraméter Parent
támogatásához. Streameli a szülő elérési út sztringje.
Válassza ki a támogatni kívánt szolgáltatói felületeket
A Windows PowerShell-alaposztályok egyikének származtatása mellett az Windows PowerShell-szolgáltató más funkciókat is támogathat az alábbi szolgáltatói felületek közül egy vagy több származtatása által. Ez a szakasz határozza meg ezeket az interfészeket és az ezek által támogatott parancsmagokat. Nem ismerteti az interfész által támogatott parancsmagok paramétereit. A parancsmagparaméterek adatai online elérhetők a és a Get-Command
Get-Help
parancsmagok használatával.
IContentCmdletProvider
A System.Management.Automation.Provider.Icontentcmdletprovider felület meghatároz egy tartalomszolgáltatót, amely műveleteket hajt végre egy adatelem tartalmán. Az alábbi táblázat a felület által elérhetővéált parancsmagokat sorolja fel.
Parancsmag | Definíció |
---|---|
Add-Content |
Hozzáfűzi a megadott értékhosszokat a megadott elem tartalmához. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Clear-Content |
A megadott elem tartalmát "clear" értékre állítja. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Get-Content |
Lekéri a megadott elemek tartalmát, és streameli az eredményül kapott objektumokat. |
Set-Content |
Lecseréli a megadott elemek meglévő tartalmát. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
IPropertyCmdletProvider
A System.Management.Automation.Provider.Ipropertycmdletprovider felület meghatároz egy tulajdonságot Windows PowerShell-szolgáltatót, amely műveleteket hajt végre az adattár elemeinek tulajdonságain. Az alábbi táblázat a felület által elérhetővéált parancsmagokat sorolja fel.
Megjegyzés
A parancsmagok paramétere egy elem elérési útját jelzi a Path
tulajdonság azonosítása helyett.
Parancsmag | Definíció |
---|---|
Clear-ItemProperty |
A megadott elemek tulajdonságait "clear" értékre állítja. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Get-ItemProperty |
Lekéri a tulajdonságokat a megadott elemekből, és streameli az eredményül kapott objektumokat. |
Set-ItemProperty |
Beállítja a megadott elemek tulajdonságait a jelzett értékekkel. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
IDynamicPropertyCmdletProvider
A System.Management.Automation.Provider.Idynamicpropertycmdletprovider felület, amely a System.Management.Automation.Provider.Ipropertycmdletprovidereszközből származik, meghatározza a támogatott parancsmagok dinamikus paramétereit meghatározó szolgáltatót. Ez a szolgáltatótípus kezeli az olyan műveleteket, amelyek tulajdonságai futásidőben határozhatóak meg, például egy új tulajdonságművelet. Az ilyen műveletek statikusan definiált tulajdonságokkal rendelkező elemeken nem lehetségesek. Az alábbi táblázat a felület által elérhetővéált parancsmagokat sorolja fel.
Parancsmag | Definíció |
---|---|
Copy-ItemProperty |
Egy tulajdonságot másol a megadott elemből egy másik elembe. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
Move-ItemProperty |
Áthelyez egy tulajdonságot a megadott elemből egy másik elembe. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
New-ItemProperty |
Létrehoz egy tulajdonságot a megadott elemeken, és streameli az eredményül kapott objektumokat. |
Remove-ItemProperty |
Eltávolít egy tulajdonságot a megadott elemekből. |
Rename-ItemProperty |
Átnevezi a megadott elemek egy tulajdonságát. Ez a parancsmag csak akkor ad át kimeneti objektumot a folyamatnak, ha meg van PassThru adva a paramétere. |
ISecurityDescriptorCmdletProvider
A System.Management.Automation.Provider.Isecuritydescriptorcmdletprovider interfész biztonsági leíró funkciókat ad hozzá a szolgáltatóhoz. Ez az interfész lehetővé teszi, hogy a felhasználó lekérte és beállítsa az adattár egy elemének biztonsági leíró adatait. Az alábbi táblázat a felület által elérhetővéált parancsmagokat sorolja fel.
Parancsmag | Definíció |
---|---|
Get-Acl |
Lekéri egy hozzáférés-vezérlési listában (ACL) található információkat, amely az operációs rendszer erőforrásainak , például egy fájlnak vagy objektumnak a védeleméhez használt biztonsági leíró része. |
Set-Acl |
Beállítja egy ACL információit. Ez a System.Security.Accesscontrol.Objectsecurity egy példányának formájában van megadva a megadott elérési úthoz kijelölt elem(éken). Ez a parancsmag a beállításjegyzékben vagy bármely más szolgáltatói elemben található fájlokra, kulcsokra és alkulcsra vonatkozó információkat állíthat be, ha az Windows PowerShell-szolgáltató támogatja a biztonsági adatok beállítását. |
Lásd még:
Adatszolgáltatók Windows PowerShell létrehozása
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: