about_Providers

Rövid leírás

Ismerteti, hogy a PowerShell-szolgáltatók hogyan biztosítanak hozzáférést olyan adatokhoz és összetevőkhöz, amelyek egyébként nem lennének könnyen elérhetők a parancssorban. Az adatok a fájlrendszer meghajtóihoz hasonló, egységes formátumban jelennek meg.

Hosszú leírás

A PowerShell-szolgáltatók .NET-programok, amelyek hozzáférést biztosítanak a speciális adattárakhoz a könnyebb megtekintés és felügyelet érdekében. Az adatok egy meghajtón jelennek meg, és az adatokat egy olyan elérési úton érheti el, mint a merevlemezen. A szolgáltató által támogatott beépített parancsmagok bármelyikét használhatja a szolgáltatói meghajtón lévő adatok kezeléséhez. Emellett olyan egyéni parancsmagokat is használhat, amelyeket kifejezetten az adatokhoz terveztek.

A szolgáltatók dinamikus paramétereket is hozzáadhatnak a beépített parancsmagokhoz. Ezek a paraméterek csak akkor érhetők el, ha a parancsmagot a szolgáltatói adatokkal használja.

Beépített szolgáltatók

A PowerShell beépített szolgáltatókat tartalmaz, amelyek különböző típusú objektumokhoz biztosítanak hozzáférést.

  • Aliasszolgáltató
    • Meghajtó – Alias:
    • Objektumtípusok – System.Management.Automation.AliasInfo
  • Tanúsítványszolgáltató
    • Meghajtó – Cert:
    • Objektumtípusok – Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
  • Környezetszolgáltató
    • Meghajtó – Env:
    • Objektumtípusok – System.Collections.DictionaryEntry
  • Fájlrendszer-szolgáltató
    • Meghajtó – C: és egyéb, a hardvertől függően
    • Objektumtípusok – System.IO.FileInfo, System.IO.DirectoryInfo
  • Függvényszolgáltató
    • Meghajtó – Function:
    • Objektumtípusok – System.Management.Automation.FunctionInfo
  • Beállításjegyzék-szolgáltató
    • Meghajtó - HKLM:, HKCU:
    • Objektumtípusok – Microsoft.Win32.RegistryKey
  • Változószolgáltató
    • Meghajtó – Variable:
    • Objektumtípusok – System.Management.Automation.PSVariable
  • WSMan-szolgáltató
    • Meghajtó – WSMan:
    • Objektumtípusok – Microsoft.WSMan.Management.WSManConfigContainerElement

Saját PowerShell-szolgáltatókat is létrehozhat, és telepíthet más által fejlesztett szolgáltatókat. A munkamenetben elérhető szolgáltatók listázásához írja be a következőt:

Get-PSProvider

Megjegyzés

A tanúsítvány-, beállításjegyzék- és WSMan-szolgáltatók csak a Windows platformon érhetők el.

Szolgáltatók telepítése és eltávolítása

A szolgáltatókat általában PowerShell-modulokon keresztül telepítik. A modul importálása betölti a szolgáltatót a munkamenetbe. A beépített szolgáltatók nem távolíthatók el. A más modulok által betöltött szolgáltatókat eltávolíthatja.

A parancsmaggal eltávolíthat egy szolgáltatót az Remove-Module aktuális munkamenetből. Ez a parancsmag nem távolítja el a szolgáltatót, de elérhetetlenné teszi a szolgáltatót a munkamenetben.

A parancsmaggal Remove-PSDrive bármilyen meghajtót eltávolíthat az aktuális munkamenetből. A meghajtón lévő adatokra nincs hatással, de a meghajtó már nem érhető el ebben a munkamenetben.

Szolgáltatók megtekintése

A számítógépen található PowerShell-szolgáltatók megtekintéséhez írja be a következőt:

Get-PSProvider

A kimenet felsorolja a beépített szolgáltatókat és a munkamenethez hozzáadott szolgáltatókat.

A szolgáltatói parancsmagok

Az alábbi parancsmagok úgy lettek kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjenek. Ugyanezeket a parancsmagokat ugyanúgy használhatja a szolgáltatók által elérhetővé tetső különböző típusú adatok kezelésére. Miután elsajátította egy szolgáltató adatainak kezelését, ugyanezeket az eljárásokat használhatja bármely szolgáltató adataival.

A parancsmag például New-Item létrehoz egy új elemet. C: A fájlrendszer-szolgáltatóNew-Item által támogatott meghajtón létrehozhat egy új fájlt vagy mappát. A beállításjegyzék-szolgáltató által támogatott meghajtókon új beállításkulcsot hozhat New-Item létre. Alias: A meghajtón New-Item létrehozhat egy új aliast.

A következő parancsmagok bármelyikével kapcsolatos részletes információkért írja be a következőt:

Get-Help <cmdlet-name> -Detailed

ChildItem parancsmagok

Tartalomparancsmagok

Elemparancsmagok

ItemProperty parancsmagok

Location parancsmagok

Elérésiút-parancsmagok

PSDrive-parancsmagok

PSProvider-parancsmagok

Szolgáltató adatainak megtekintése

A szolgáltató elsődleges előnye, hogy ismerős és konzisztens módon teszi elérhetővé az adatait. Az adatbemutató modellje egy fájlrendszer-meghajtó.

A szolgáltatóval úgy tekintheti meg, navigálhatja és módosíthatja az adattár elemeit, mintha egy fájlrendszer adatai lennének. Az adattár az általa támogatott meghajtó nevével érhető el.

A meghajtó megjelenik a parancsmag alapértelmezett megjelenítésében Get-PSProvider , de a parancsmag használatával lekérheti a Get-PSDrive szolgáltatói meghajtóra vonatkozó információkat. A függvény összes tulajdonságának lekéréséhez például írja be a következőt:

Get-PSDrive Function | Format-List *

A szolgáltatói meghajtók adatai ugyanúgy tekinthetők meg és mozoghatnak, mint a fájlrendszer-meghajtókon.

Egy szolgáltatói meghajtó tartalmának megtekintéséhez használja a Get-Item parancsmagokat Get-ChildItem . Írja be a meghajtó nevét, majd egy kettőspontot (:). A meghajtó tartalmának megtekintéséhez például írja be a Alias: következőt:

Get-Item alias:

Bármelyik meghajtón megtekintheti és kezelheti az adatokat egy másik meghajtóról úgy, hogy az elérési útba be van iktatva a meghajtó nevét. Ha például egy másik meghajtóról szeretné megtekinteni a HKLM\SoftwareHKLM: meghajtó beállításkulcsát, írja be a következőt:

Get-ChildItem HKLM:\SOFTWARE\

A meghajtó megnyitásához használja a Set-Location parancsmagot. Jegyezze meg a kettőspontot a meghajtó elérési útjának megadásakor. Ha például a helyet a meghajtó gyökérkönyvtárára szeretné módosítani, írja be a Cert: következőt:

Set-Location cert:

Ezután a meghajtó tartalmának megtekintéséhez írja be a Cert: következőt:

Get-ChildItem

Navigálás a hierarchikus adatok között

A szolgáltatói meghajtón ugyanúgy mozoghat, mint a merevlemez-meghajtókon. Ha az adatok elemekből álló hierarchiába vannak rendezve, használjon fordított perjelet (\) a gyermekelem jelöléséhez. Használja az alábbi formátumot:

drive:\location\child-location\...

Ha például módosítani szeretné a helyét a HKLM\Software beállításkulcsra, írjon be egy Set-Location parancsot, például:

Set-Location HKLM:\SOFTWARE\

Ha a teljes név bármelyik eleme szóközt tartalmaz, a nevet idézőjelek közé kell tenni ("). Az alábbi példa egy szóközöket tartalmazó teljes elérési utat mutat be.

"C:\Program Files\Internet Explorer\iexplore.exe"

A helyekre mutató relatív hivatkozásokat is használhat. A pont (.) az aktuális helyet jelöli. Ha például a HKLM:\Software\Microsoft beállításkulcsban van, és fel szeretné sorolni a kulcsban HKLM:\Software\Microsoft\PowerShell lévő beállításkulcsokat, írja be a következő parancsot:

Get-ChildItem .\PowerShell

A dupla pont (..) az aktuális hely fölötti könyvtárra vagy tárolóra is vonatkozik. A szolgáltatói hierarchiában két pont (..) használatával navigálhat.

PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>

Szolgáltató kezdőlapja

A szolgáltatók otthoni hellyel is rendelkeznek. Ezt a helyet a szolgáltató minden PSDrives támogatottja megosztja. Ez a szolgáltató Home tulajdonságának megtekintésével kérhető le.

Get-PSProvider | Format-Table Name, Home
Name        Home
----        ----
Registry
Alias
Environment
FileSystem  C:\Users\username
Function
Variable
Certificate

A Fájlrendszerszolgáltató az egyetlen olyan szolgáltató, amelynek a Kezdőlap alapértelmezett értéke van. Ugyanaz az érték, mint a $Home. További információ: about_Automatic_Variables.

A szolgáltató kezdőkönyvtárát az aktuális munkamenethez, annak tulajdonságával állíthatja be.

(Get-PSProvider FileSystem).Home = "C:\"

A ~ karakter a szolgáltató kezdőkönyvtárának jelölésére használható. Ha a szolgáltatóhoz nincs beállítva otthoni hely, hibaüzenet jelenik meg.

Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-Location],
                              PSInvalidOperationException
...

Dinamikus paraméterek keresése

A dinamikus paraméterek olyan parancsmag-paraméterek, amelyeket egy szolgáltató ad hozzá a parancsmaghoz. Ezek a paraméterek csak akkor érhetők el, ha a parancsmagot a hozzáadó szolgáltató használja.

A meghajtó például Cert: hozzáadja a CodeSigningCert paramétert a Get-Item parancsmagokhoz Get-ChildItem . Ezt a paramétert csak akkor használhatja, ha használja Get-Item vagy Get-ChildItem a Cert: meghajtón.

A szolgáltató által támogatott dinamikus paraméterek listáját a szolgáltató súgófájljában találja. Típus:

Get-Help <provider-name>

Például:

Get-Help certificate

Ismerkedés a szolgáltatókkal

Bár minden szolgáltatói adat megjelenik a meghajtókon, és ugyanazokat a módszereket használja az áthaladásukhoz, a hasonlóság ott megáll. A szolgáltató által elérhetővé tenni kívánt adattárak lehetnek olyan változatosak, mint az Active Directory helyei és Microsoft Exchange Server postaládák.

Az egyes PowerShell-szolgáltatókkal kapcsolatos információkért írja be a következőt:

Get-Help <ProviderName>

Például:

Get-Help registry

A szolgáltatókkal kapcsolatos súgótémakörök listájához írja be a következőt:

Get-Help * -Category Provider

Lásd még