about_Providers

Rövid leírás

Ismerteti, hogy a PowerShell-szolgáltatók hogyan biztosítják az olyan adatokhoz és összetevőkhöz való hozzáférést, amelyek egyébként nem lennének könnyen elérhetők a parancssorban. Az adatok egy fájlrendszer-meghajtóhoz 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 kezelés é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ével kezelheti az adatokat a szolgáltatói meghajtón. 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, 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 olyan szolgáltatókat, amelyeket mások fejlesztenek. A munkamenetben elérhető szolgáltatók listájához írja be a következőt:

Get-PSProvider

Feljegyzé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ók általában PowerShell-modulokon keresztül vannak telepítve. 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. Eltávolíthatja a más modulok által betöltött szolgáltatókat.

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 PowerShell-szolgáltatók a számítógépen való megtekintéséhez írja be a következőt:

Get-PSProvider

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

A szolgáltatói parancsmagok

Az alábbi parancsmagok úgy vannak kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjenek együtt. Ugyanezeket a parancsmagokat ugyanúgy használhatja a szolgáltatók által elérhetővé tott különböző adattípusok kezelésére. Miután elsajátította egy szolgáltató adatainak kezelését, ugyanazokat 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óNew-Item által támogatott meghajtókon létrehozhat egy új beállításkulcsot. A meghajtón Alias: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

Hely parancsmagjai

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ó lehetővé teszi az adattár elemeinek megtekintését, navigálását és módosítását úgy, mintha azok egy fájlrendszerbeli adatok lennének. Az adattár a támogatott meghajtó nevével érhető el.

A meghajtó megjelenik a parancsmag alapértelmezett megjelenítésében Get-PSProvider , de a parancsmaggal információkat kaphat a Get-PSDrive szolgáltatói meghajtóról. A függvény: meghajtó ö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ón lévő adatok ugyanúgy tekinthetők meg és mozoghatnak, mint egy fájlrendszer-meghajtón.

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:

Az adatokat egy másik meghajtó bármelyik meghajtójában megtekintheti és kezelheti úgy, hogy a meghajtó nevét az elérési útba foglalja. Ha például egy másik meghajtóról szeretné megtekinteni a HKLM\Software meghajtóban lévő HKLM: beállításkulcsot, í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

Hierarchikus adatok mozgatása

A szolgáltatói meghajtón ugyanúgy mozoghat, mint egy merevlemez-meghajtón. Ha az adatok elemek hierarchiájában vannak elrendezve, használjon fordított perjelet (\) egy gyermekelem jelzéséhez. Használja a következő formátumot:

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

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

Set-Location HKLM:\SOFTWARE\

Ha a teljes név bármely eleme szóközöket tartalmaz, a nevet idézőjelek közé kell foglalnia ("). 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 beállításkulcs alkulcsait HKLM:\Software\Microsoft\PowerShell , írja be a következő parancsot:

Get-ChildItem .\PowerShell

A dupla pont (..) a könyvtárra vagy a tárolóra is vonatkozik, közvetlenül az aktuális hely felett. A szolgáltatói hierarchia 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óknak otthoni helyük is van. Ezt a helyet a szolgáltató minden PSDrives háttérrendszere megosztja. Ez a szolgáltató Kezdőlap 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ájlrendszer-szolgáltató az egyetlen olyan szolgáltató, amely a Kezdőlap alapértelmezett értékével rendelkezik. Ugyanaz az érték, mint $HOMEa . További információ: about_Automatic_Variables.

A szolgáltató kezdőlapját az aktuális munkamenethez a tulajdonságával állíthatja be.

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

A ~ karakter a szolgáltató kezdőkönyvtárának ábrázolására használható. Ha a szolgáltató nem rendelkezik otthoni helykészlettel, 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 parancsmagparaméterek, amelyeket egy szolgáltató ad hozzá egy 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élda:

Get-Help certificate

Tanulás szolgáltatókról

Bár az összes 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é tetsző adattárak olyan változatosak lehetnek, mint az Active Directory-helyek és a 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élda:

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