about_Function_Provider

Providernaam

Functie

Stations

Function:

Functies

ShouldProcess

Korte beschrijving

Biedt toegang tot de functies die zijn gedefinieerd in PowerShell.

Gedetailleerde beschrijving

Met de PowerShell-functieprovider kunt u de functies en filters in PowerShell ophalen, toevoegen, wijzigen, wissen en verwijderen.

Een functie is een benoemd codeblok waarmee een actie wordt uitgevoerd. Wanneer u de naam van de functie typt, wordt de code in de functie uitgevoerd. Een filter is een benoemd codeblok waarmee voorwaarden voor een actie worden vastgesteld. U kunt de naam van het filter in plaats van de voorwaarde typen, zoals in een Where-Object opdracht.

Het functiestation is een platte naamruimte die alleen de functie en filterobjecten bevat. Functies en filters hebben geen onderliggende items.

De functieprovider ondersteunt de volgende cmdlets, die in dit artikel worden behandeld.

Typen die door deze provider worden weergegeven

Elke functie is een exemplaar van de klasse System.Management.Automation.FunctionInfo . Elk filter is een exemplaar van de klasse System.Management.Automation.FilterInfo .

De functieprovider toont het gegevensarchief in het Function: station. Als u met functies wilt werken, kunt u uw locatie wijzigen in het Function: station (Set-Location Function:). U kunt ook werken vanaf een ander PowerShell-station. Als u wilt verwijzen naar een functie vanaf een andere locatie, gebruikt u de stationsnaam (Function:) in het pad.

Set-Location Function:

Als u wilt terugkeren naar een bestandssysteemstation, typt u de naam van het station. Typ bijvoorbeeld:

Set-Location C:

U kunt ook met de functieprovider werken vanaf een ander PowerShell-station. Als u wilt verwijzen naar een functie vanaf een andere locatie, gebruikt u de naam Function: van het station in het pad.

Notitie

PowerShell maakt gebruik van aliassen om u een vertrouwde manier te bieden om met providerpaden te werken. Opdrachten zoals dir en ls zijn nu aliassen voor Get-ChildItem, cd is een alias voor Set-Location. en pwd is een alias voor Get-Location.

Functies verkrijgen

Met deze opdracht wordt de lijst met alle functies in de huidige sessie weergegeven. U kunt deze opdracht gebruiken vanaf elk PowerShell-station.

Get-ChildItem -Path Function:

De functieprovider heeft geen containers, dus de bovenstaande opdracht heeft hetzelfde effect wanneer deze wordt gebruikt met Get-ChildItem.

Get-ChildItem -Path Function:

U kunt de definitie van een functie ophalen door toegang te krijgen tot de eigenschap Definitie , zoals hieronder wordt weergegeven.

(Get-Item -Path function:more).Definition

U kunt ook de definitie van een functie ophalen met behulp van het providerpad dat wordt voorafgegaan door het dollarteken ($).

$function:more

Als u de definitie wilt ophalen voor een functie met een streepje (-) in de naam, verpakt u de waarde na het dollarteken accolades.

${function:Clear-Host}

Geselecteerde functies verkrijgen

Met deze opdracht wordt de man functie opgehaald van het Function: station. De cmdlet wordt gebruikt Get-Item om de functie op te halen. De pijplijnoperator (|) verzendt het resultaat naar Format-Table. De -Wrap parameter stuurt tekst die niet op de regel past op de volgende regel. De -Autosize parameter wijzigt de grootte van de tabelkolommen om ruimte te bieden aan de tekst.

Get-Item -Path man | Format-Table -Wrap -Autosize

Werken met functieproviderpaden

Met deze opdrachten krijgt u beide de functie met de naam c:. De eerste opdracht kan worden gebruikt in elk station. De tweede opdracht wordt gebruikt in het Function: station. Omdat de naam eindigt op een dubbele punt, de syntaxis voor een station, moet u het pad kwalificeren met de stationsnaam. Binnen het Function: station kunt u beide indelingen gebruiken. In de tweede opdracht vertegenwoordigt de punt (.) de huidige locatie.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

Een functie maken

Met deze opdracht wordt de New-Item cmdlet gebruikt om een functie te maken die wordt aangeroepen Win32:. De expressie in accolades is het scriptblok dat wordt vertegenwoordigd door de functienaam.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

U kunt ook een functie maken door deze te typen op de PowerShell-opdrachtregel. Bijvoorbeeld tpe Function:Win32: {Set-Location C:\Windows\System32}. Als u zich in het station bevindt, kunt u de naam van het Function: station weglaten.

Een functie verwijderen

Met deze opdracht wordt de more: functie uit de huidige sessie verwijderd.

Remove-Item Function:more:

Een functie wijzigen

Met deze opdracht wordt de Set-Item cmdlet gebruikt om de prompt functie te wijzigen, zodat deze de tijd vóór het pad weergeeft.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

De naam van een functie wijzigen

Met deze opdracht wordt de Rename-Item cmdlet gebruikt om de naam van de help functie te wijzigen in gh.

Rename-Item -Path Function:help -NewName gh

Een functie kopiëren

Met deze opdracht wordt de prompt functie gekopieerd naar oldPrompteen nieuwe naam voor het scriptblok dat is gekoppeld aan de promptfunctie. U kunt deze functie gebruiken om de oorspronkelijke promptfunctie op te slaan als u deze wilt wijzigen. De eigenschap Opties van de nieuwe functie heeft een waarde van None. Als u de waarde van de eigenschap Opties wilt wijzigen, gebruikt u Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

Dynamische parameters

Dynamische parameters zijn cmdlet-parameters die worden toegevoegd door een PowerShell-provider en zijn alleen beschikbaar wanneer de cmdlet wordt gebruikt in het station met provider.

Opties <[System.Management.Automation.ScopedItemOptions]>

Bepaalt de waarde van de eigenschap Opties van een functie.

  • None: Geen opties. None is de standaardwaarde.
  • Constant: De functie kan niet worden verwijderd en de eigenschappen ervan kunnen niet worden gewijzigd. Constant is alleen beschikbaar wanneer u een functie maakt. U kunt de optie van een bestaande functie niet wijzigen in Constant.
  • Private: De functie is alleen zichtbaar in het huidige bereik
  • (niet in onderliggende bereiken).
  • ReadOnly: De eigenschappen van de functie kunnen niet worden gewijzigd, behalve met behulp van de -Force parameter. U kunt Remove-Item de functie verwijderen.
  • AllScope: De functie wordt gekopieerd naar nieuwe bereiken die worden gemaakt.

Ondersteunde cmdlets

De pijplijn gebruiken

Provider-cmdlets accepteren pijplijninvoer. U kunt de pijplijn gebruiken om de taak te vereenvoudigen door providergegevens van de ene cmdlet naar een andere provider-cmdlet te verzenden. Zie de cmdlet-verwijzingen in dit artikel voor meer informatie over het gebruik van de pijplijn met provider-cmdlets.

Hulp krijgen

Vanaf Windows PowerShell 3.0 kunt u aangepaste Help-onderwerpen krijgen voor provider-cmdlets die uitleggen hoe deze cmdlets zich gedragen in een bestandssysteemstation.

Als u de Help-onderwerpen wilt ophalen die zijn aangepast voor het bestandssysteemstation, voert u een Get-Help-opdracht uit op een bestandssysteemstation of gebruikt u de -Path parameter Get-Help om een bestandssysteemstation op te geven.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function:

Zie ook