Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Korte beschrijving
Hierin wordt beschreven hoe PowerShell-providers toegang bieden tot gegevens en onderdelen die anders niet eenvoudig toegankelijk zouden zijn op de opdrachtregel. De gegevens worden weergegeven in een consistente indeling die lijkt op een bestandssysteemstation.
Lange beschrijving
PowerShell-providers zijn .NET-programma's die toegang bieden tot gespecialiseerde gegevensarchieven voor eenvoudiger weergeven en beheren. De gegevens worden weergegeven op een station en u opent de gegevens in een pad zoals u dat zou doen op een harde schijf. U kunt alle ingebouwde cmdlets gebruiken die de provider ondersteunt voor het beheren van de gegevens in het providerstation. En u kunt aangepaste cmdlets gebruiken die speciaal zijn ontworpen voor de gegevens.
De providers kunnen ook dynamische parameters toevoegen aan de ingebouwde cmdlets. Deze parameters zijn alleen beschikbaar wanneer u de cmdlet gebruikt met de providergegevens.
Ingebouwde providers
PowerShell bevat een set ingebouwde providers die toegang bieden tot verschillende typen objecten.
-
aliasprovider voor
- Station -
Alias: - Objecttypen - System.Management.Automation.AliasInfo-
- Station -
-
-provider voor certificaat
- Station -
Cert: - Objecttypen - Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Station -
-
omgevingsprovider voor
- Station -
Env: - Objecttypen - System.Collections.DictionaryEntry-
- Station -
-
FileSystem-provider
- Station -
C:en andere afhankelijk van hardware - Objecttypen - System.IO.FileInfo, System.IO.DirectoryInfo
- Station -
-
Functie--provider
- Station -
Function: - Objecttypen - System.Management.Automation.FunctionInfo
- Station -
-
Register--provider
- Station -
HKLM:,HKCU: - Objecttypen - Microsoft.Win32.RegistryKey
- Station -
-
provider voor variabele
- Station -
Variable: - Objecttypen - System.Management.Automation.PSVariable
- Station -
-
WSMan-provider voor
- Station -
WSMan: - Objecttypen - Microsoft.WSMan.Management.WSManConfigContainerElement
- Station -
U kunt ook uw eigen PowerShell-providers maken en u kunt providers installeren die anderen ontwikkelen. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u:
Get-PSProvider
Notitie
De Certificate, Registryen WSMan providers zijn alleen beschikbaar op het Windows-platform.
Providers installeren en verwijderen
Providers worden doorgaans geïnstalleerd via PowerShell-modules. Als u de module importeert, wordt de provider in uw sessie geladen. U kunt de ingebouwde providers niet verwijderen. U kunt providers verwijderen die door andere modules zijn geladen.
U kunt een provider uit de huidige sessie verwijderen met behulp van de cmdlet Remove-Module. Met deze cmdlet wordt de provider niet verwijderd, maar is de provider niet beschikbaar in de sessie.
U kunt ook de Remove-PSDrive cmdlet gebruiken om een station uit de huidige sessie te verwijderen. Deze gegevens op het station worden niet beïnvloed, maar het station is niet meer beschikbaar in die sessie.
Providers weergeven
Als u de PowerShell-providers op uw computer wilt weergeven, typt u:
Get-PSProvider
De uitvoer bevat de ingebouwde providers en de providers die u aan de sessie hebt toegevoegd.
De provider-cmdlets
De volgende cmdlets zijn ontworpen om te werken met de gegevens die door elke provider worden weergegeven. U kunt dezelfde cmdlets op dezelfde manier gebruiken om de verschillende typen gegevens te beheren die providers beschikbaar maken. Nadat u de gegevens van één provider hebt beheerd, kunt u dezelfde procedures gebruiken met de gegevens van elke provider.
Met de cmdlet New-Item wordt bijvoorbeeld een nieuw item gemaakt. In het C: station dat wordt ondersteund door de bestandssysteemprovider, kunt u New-Item gebruiken om een nieuw bestand of nieuwe map te maken. In de stations die worden ondersteund door de Registry-provider, kunt u New-Item gebruiken om een nieuwe registersleutel te maken. In het station Alias: kunt u New-Item gebruiken om een nieuwe alias te maken.
Voor gedetailleerde informatie over een van de volgende cmdlets, typt u:
Get-Help <cmdlet-name> -Detailed
ChildItem-cmdlets
Inhouds-cmdlets
Item-cmdlets
- wissen
- kopiëren-item
- get-item
- item aanroepen
- verplaatsen van item
- nieuw item
- verwijderen
- naam van item wijzigen
- set-item
ItemProperty-cmdlets
- Clear-ItemProperty-
- Copy-ItemProperty-
- Get-ItemProperty-
- Move-ItemProperty-
- New-ItemProperty-
- Remove-ItemProperty-
- Rename-ItemProperty-
- Set-ItemProperty-
Locatie-cmdlets
- Get-Location-
- pop-locatie
- pushlocatie
- instellen
Pad-cmdlets
PSDrive-cmdlets
- Get-PSDrive-
- voor Nieuwe PSDrive
- Verwijderen-PSDrive-
PSProvider-cmdlets
Providergegevens weergeven
Het belangrijkste voordeel van een provider is dat de gegevens op een vertrouwde en consistente manier worden weergegeven. Het model voor gegevenspresentatie is een bestandssysteemstation.
Met de provider kunt u items in het gegevensarchief weergeven, navigeren en wijzigen alsof het gegevens in een bestandssysteem waren. Het gegevensarchief wordt geopend door de naam van het station dat wordt ondersteund.
Het station wordt weergegeven in de standaardweergave van de Get-PSProvider cmdlet, maar u kunt informatie over het providerstation ophalen met behulp van de Get-PSDrive cmdlet. Als u bijvoorbeeld alle eigenschappen van de functie: station wilt ophalen, typt u:
Get-PSDrive Function | Format-List *
U kunt de gegevens in een providerstation bekijken en doorlopen, net zoals op een bestandssysteemstation.
Als u de inhoud van een providerstation wilt weergeven, gebruikt u de cmdlets Get-Item of Get-ChildItem. Typ de naam van het station gevolgd door een dubbele punt (:). Als u bijvoorbeeld de inhoud van het station Alias: wilt weergeven, typt u:
Get-Item Alias:
U kunt de gegevens op elk station van een ander station weergeven en beheren door de stationsnaam in het pad op te geven. Als u bijvoorbeeld de registersleutel HKLM\Software wilt weergeven in het HKLM: station van een ander station, typt u:
Get-ChildItem HKLM:\SOFTWARE\
Gebruik de cmdlet Set-Location om het station te openen. Onthoud de dubbele punt wanneer u het stationspad opgeeft. Als u bijvoorbeeld uw locatie wilt wijzigen in de hoofdmap van het Cert: station, typt u:
Set-Location Cert:
Als u vervolgens de inhoud van het Cert: station wilt weergeven, typt u:
Get-ChildItem
Navigeren door hiërarchische gegevens
U kunt door een providerstation lopen, net zoals u dat zou doen met een harde schijf. Als de gegevens zijn gerangschikt in een hiërarchie van items binnen items, gebruikt u een backslash (\) om een onderliggend item aan te geven. Gebruik de volgende indeling:
drive:\location\child-location\...
Als u bijvoorbeeld uw locatie wilt wijzigen in de HKLM\Software registersleutel, typt u een Set-Location opdracht, zoals:
Set-Location HKLM:\SOFTWARE\
Als een element in de volledig gekwalificeerde naam spaties bevat, moet u de naam tussen dubbele aanhalingstekens plaatsen ("). In het volgende voorbeeld ziet u een volledig gekwalificeerd pad met spaties.
"C:\Program Files\Internet Explorer\iexplore.exe"
U kunt ook relatieve verwijzingen naar locaties gebruiken. Een punt (.) vertegenwoordigt de huidige locatie. Als u zich bijvoorbeeld in de HKLM:\Software\Microsoft registersleutel bevindt en u de registersubsleutels in de HKLM:\Software\Microsoft\PowerShell-sleutel wilt weergeven, typt u de volgende opdracht:
Get-ChildItem .\PowerShell
Dubbele puntjes (..) verwijst ook rechtstreeks boven uw huidige locatie naar de map of container. U kunt dubbele puntjes (..) gebruiken om door een providerhiërarchie te navigeren.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Thuisbasis van provider
Providers hebben ook een home locatie. Deze locatie wordt gedeeld door alle PSDrives ondersteund door de provider. Deze kan worden opgehaald door de eigenschap Home van de provider te bekijken.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
De FileSystem provider is de enige provider met een standaardwaarde voor Home. Het is dezelfde waarde als $HOME. Zie about_Automatic_Variablesvoor meer informatie.
U kunt de map Home instellen voor een provider, voor de huidige sessie, met behulp van de eigenschap.
(Get-PSProvider FileSystem).Home = "C:\"
Het ~ teken kan worden gebruikt om de basismap van de provider weer te geven. Als de provider geen home locatie heeft ingesteld, wordt er een fout weergegeven.
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
...
Dynamische parameters zoeken
Dynamische parameters zijn cmdlet-parameters die door een provider worden toegevoegd aan een cmdlet. Deze parameters zijn alleen beschikbaar wanneer de cmdlet wordt gebruikt met de provider die ze heeft toegevoegd.
Met het Cert:-station wordt bijvoorbeeld de parameter CodeSigningCert toegevoegd aan de cmdlets Get-Item en Get-ChildItem. U kunt deze parameter alleen gebruiken wanneer u Get-Item of Get-ChildItem gebruikt in het Cert: station.
Zie het Help-bestand voor de provider voor een lijst met de dynamische parameters die een provider ondersteunt. Type:
Get-Help <provider-name>
Bijvoorbeeld:
Get-Help Certificate
Meer informatie over providers
Hoewel alle providergegevens worden weergegeven in stations en u dezelfde methoden gebruikt om ze te doorlopen, stopt de overeenkomst daar. De gegevensarchieven die door de provider worden weergegeven, kunnen zo gevarieerd zijn als Active Directory-locaties en Microsoft Exchange Server-postvakken.
Voor informatie over afzonderlijke PowerShell-providers typt u:
Get-Help <ProviderName>
Bijvoorbeeld:
Get-Help Registry
Voor een lijst met Help-onderwerpen over de providers typt u:
Get-Help * -Category Provider