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 dubbele punt. 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 Get-Help
cmdlet voor informatie over de parameters van een opdracht. Als u bijvoorbeeld informatie wilt vinden over de parameters van de Get-ChildItem
cmdlet, 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. Voorbeeld:
Get-Help $HOME\Documents\Scripts\Get-Function.ps1
De Get-Help
cmdlet retourneert verschillende details over de opdracht, waaronder een beschrijving, de syntaxis van de opdracht, 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 parameterparameter 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 Get-Member
cmdlet:
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_Values voor meer informatie over het instellen van aangepaste standaardwaarden.
Parameterkenmerktabel
Wanneer u de parameters Volledig, Parameter of Online van de Get-Help
cmdlet gebruikt, Get-Help
geeft u 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 path-parameter:
-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 Waar is en de parameter ontbreekt in de opdracht, wordt u door PowerShell gevraagd om een waarde voor de parameter.
Parameterpositie
Als de Position
instelling 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 Get-ChildItem
cmdlet heeft bijvoorbeeld de parameters Path en Exclude. De Position
instelling voor Pad is 0, wat betekent dat het een positionele parameter is. De Position
instelling voor Exclude heeft de naam.
Dit betekent dat Pad de parameternaam niet vereist, maar de parameterwaarde moet de eerste of alleen naamloze 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 zou 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 Int32 is, 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 worden geplaatst 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 NameGet-Service
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 eventuele doorgesluisde waarden aan die parameter te koppelen voordat er andere methoden worden gebruikt om de opdracht 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 naamparameter wanneer de waarde een eigenschap met de naam Name heeft.
Notitie
Een getypte parameter die pijplijninvoer (by Value
) of (by PropertyName
) accepteert, maakt het gebruik van scriptblokken voor vertragingsbinding op de parameter mogelijk.
Het scriptblok delay-bind 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 scriptblokken voor vertragingsbindingen about_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_CommonParameters voor meer informatie over algemene parameters.