Delen via


about_Parameters

Korte beschrijving

Hierin wordt beschreven hoe u kunt werken met opdrachtparameters in PowerShell.

Lange beschrijving

De meeste PowerShell-opdrachten, zoals cmdlets, functies en scripts, zijn afhankelijk van parameters, zodat gebruikers opties kunnen selecteren of invoer kunnen opgeven. De parameters volgen de opdrachtnaam en hebben het volgende formulier:

-<parameter_name> <parameter_value>
-<parameter_name>:<parameter_value>

De naam van de parameter wordt voorafgegaan door een afbreekstreepje (-), dat aan PowerShell aangeeft dat het woord na het afbreekstreepje een parameternaam is. De parameternaam en -waarde kunnen worden gescheiden door een spatie of een dubbelpunt. Voor sommige parameters is geen parameterwaarde vereist of geaccepteerd. Voor andere parameters is een waarde vereist, maar de parameternaam in de opdracht is niet vereist.

Het type parameters en de vereisten voor deze parameters variëren. Gebruik de cmdlet Get-Help voor informatie over de parameters van een opdracht. Als u bijvoorbeeld informatie wilt zoeken over de parameters van de cmdlet Get-ChildItem, typt u:

Get-Help Get-ChildItem

Als u informatie wilt vinden over de parameters van een script, gebruikt u het volledige pad naar het scriptbestand. Bijvoorbeeld:

Get-Help $HOME\Documents\Scripts\Get-Function.ps1

De Get-Help cmdlet retourneert verschillende details over de opdracht, waaronder een beschrijving, de opdrachtsyntaxis, informatie over de parameters en voorbeelden die laten zien hoe u de parameters in een opdracht gebruikt.

U kunt ook de parameter parameter van de Get-Help cmdlet gebruiken om informatie over een bepaalde parameter te vinden. U kunt ook de parameter parameter met het jokerteken (*) gebruiken om informatie te vinden over alle parameters van de opdracht. Met de volgende opdracht wordt bijvoorbeeld informatie opgehaald over alle parameters van de cmdlet Get-Member:

Get-Help Get-Member -Parameter *

Standaardparameterwaarden

Optionele parameters hebben een standaardwaarde. Dit is de waarde die wordt gebruikt of wordt aangenomen wanneer de parameter niet is opgegeven in de opdracht.

De standaardwaarde van de parameter ComputerName van veel cmdlets is bijvoorbeeld de naam van de lokale computer. Als gevolg hiervan wordt de naam van de lokale computer gebruikt in de opdracht, tenzij de parameter ComputerName is opgegeven.

Zie het Help-onderwerp voor de cmdlet om de standaardparameterwaarde te vinden. De parameterbeschrijving moet de standaardwaarde bevatten.

U kunt ook een aangepaste standaardwaarde instellen voor elke parameter van een cmdlet of geavanceerde functie. Zie about_Parameters_Default_Valuesvoor meer informatie over het instellen van aangepaste standaardwaarden.

Parameterattributentabel

Wanneer u de Volledige, Parameterof Online parameters van de cmdlet Get-Help gebruikt, geeft Get-Help een tabel met parameterkenmerken weer met gedetailleerde informatie over de parameter.

Deze informatie bevat de details die u moet weten om de parameter te gebruiken. Het Help-onderwerp voor de Get-ChildItem cmdlet bevat bijvoorbeeld de volgende details over de parameter Path:

-Path <string[]>
    Specifies a path of one or more locations. Wildcard characters are
    permitted. The default location is the current directory (.).

Required?                    false
Position?                    0
Default value                Current directory
Accept pipeline input?       true (ByValue, ByPropertyName)
Accept wildcard characters?  true

De parameterinformatie bevat de parametersyntaxis, een beschrijving van de parameter en de parameterkenmerken. In de volgende secties worden de parameterkenmerken beschreven.

Parameter vereist

Met deze instelling wordt aangegeven of de parameter verplicht is, dus of alle opdrachten die deze cmdlet gebruiken, deze parameter moeten bevatten. Wanneer de waarde is True en de parameter ontbreekt in de opdracht, wordt u door PowerShell gevraagd om een waarde voor de parameter.

Parameterpositie

Als de instelling Position is ingesteld op een niet-negatief geheel getal, is de parameternaam niet vereist. Dit type parameter wordt een positionele parameter genoemd en het getal geeft de positie aan waarin de parameter moet worden weergegeven ten opzichte van andere positionele parameters. Een benoemde parameter kan op elke positie na de naam van de cmdlet worden weergegeven. Als u de parameternaam voor een positionele parameter opneemt, kan de parameter op elke positie na de naam van de cmdlet worden vermeld.

De cmdlet Get-ChildItem heeft bijvoorbeeld de parameters Path en Exclude. De Position-instelling voor Pad is 0, wat betekent dat het een positionele parameter is. De instelling Position voor Uitsluiten wordt genoemd.

Dit betekent dat Pad de parameternaam niet vereist, maar de parameterwaarde moet de eerste of alleen niet-benoemde parameterwaarde in de opdracht zijn. Omdat de parameter Exclude echter een benoemde parameter is, kunt u deze op elke positie in de opdracht plaatsen.

Als gevolg van de Position-instellingen voor deze twee parameters kunt u een van de volgende opdrachten gebruiken:

Get-ChildItem -Path C:\techdocs -Exclude *.ppt
Get-ChildItem C:\techdocs -Exclude *.ppt
Get-ChildItem -Exclude *.ppt -Path C:\techdocs
Get-ChildItem -Exclude *.ppt C:\techdocs

Als u een andere positionele parameter wilt opnemen zonder de parameternaam op te nemen, moet die parameter worden geplaatst in de volgorde die is opgegeven door de Position-instelling.

Parametertype

Met deze instelling geeft u het Microsoft .NET Framework-type van de parameterwaarde op. Als het type bijvoorbeeld is Int32, moet de parameterwaarde een geheel getal zijn. Als het type tekenreeks is, moet de parameterwaarde een tekenreeks zijn. Als de tekenreeks spaties bevat, moet de waarde tussen aanhalingstekens staan of moeten de spaties worden voorafgegaan door het escape-teken (`).

Standaardwaarde

Met deze instelling geeft u de waarde op die door de parameter wordt aangenomen als er geen andere waarde wordt opgegeven. De standaardwaarde van de parameter Path is bijvoorbeeld vaak de huidige map. Vereiste parameters hebben nooit een standaardwaarde. Voor veel optionele parameters is er geen standaardinstelling omdat de parameter geen effect heeft als deze niet wordt gebruikt.

Accepteert meerdere waarden

Deze instelling geeft aan of een parameter meerdere parameterwaarden accepteert. Wanneer een parameter meerdere waarden accepteert, kunt u een door komma's gescheiden lijst typen als de waarde van de parameter in de opdracht of een door komma's gescheiden lijst (een matrix) opslaan in een variabele en de variabele vervolgens opgeven als parameterwaarde.

De parameter van de name van de cmdlet accepteert bijvoorbeeld meerdere waarden. De volgende opdrachten zijn beide geldig:

Get-Service -Name winrm, netlogon
$s = "winrm", "netlogon"
Get-Service -Name $s

Accepteert pijplijninvoer

Met deze instelling wordt aangegeven of u de pijplijnoperator (|) kunt gebruiken om een waarde naar de parameter te verzenden.

Value                    Description
-----                    -----------
False                    Indicates that you cannot pipe a value to the
                         parameter.

True (by Value)          Indicates that you can pipe any value to the
                         parameter, just so the value has the .NET
                         Framework type specified for the parameter or the
                         value can be converted to the specified .NET
                         Framework type.

Wanneer een parameter 'Waar (op waarde)' is, probeert PowerShell waarden die via een pijplijn worden doorgegeven aan die parameter te koppelen voordat er andere methoden worden gebruikt om het commando te interpreteren.

True (by Property Name)  Indicates that you can pipe a value to the
                         parameter, but the .NET Framework type of the
                         parameter must include a property with the same
                         name as the parameter.

U kunt bijvoorbeeld een waarde alleen doorsluisen naar een parameter Name wanneer de waarde een eigenschap heeft met de naam Name.

Notitie

Een getypte parameter die pijplijninvoer (by Value) of (by PropertyName) accepteert, maakt het gebruik van scriptblokkeringen voor vertragingsbinding op de parameter mogelijk.

Het scriptblok voor vertragingsbinding wordt automatisch uitgevoerd tijdens ParameterBinding. Het resultaat is gebonden aan de parameter. Vertragingsbinding werkt niet voor parameters die zijn gedefinieerd als type ScriptBlock of System.Object, het scriptblok wordt doorgegeven zonder aan te roepen.

U kunt hier lezen over scriptblokkeringen voor vertragingsbindingenabout_Script_Blocks.md

Accepteert jokertekens

Met deze instelling wordt aangegeven of de waarde van de parameter jokertekens kan bevatten, zodat de parameterwaarde kan worden gekoppeld aan meer dan één bestaand item in de doelcontainer.

Algemene parameters

Algemene parameters zijn parameters die u kunt gebruiken met elke cmdlet. Zie about_CommonParametersvoor meer informatie over algemene parameters.

Zie ook