Zoeken…


Invoering

PowerShell biedt een verscheidenheid aan handige "automatische" (ingebouwde) variabelen. Bepaalde automatische variabelen worden alleen in speciale omstandigheden ingevuld, terwijl andere wereldwijd beschikbaar zijn.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

In dit voorbeeld wordt de lijst met onderliggende items (mappen en bestanden) opgehaald uit de map waarin het scriptbestand zich bevindt.

De automatische variabele $PSScriptRoot is $null als deze van buiten een PowerShell- $PSScriptRoot wordt gebruikt. Indien gebruikt in een PowerShell-script, definieerde het automatisch het volledig gekwalificeerde bestandssysteempad naar de map die het scriptbestand bevat.

In Windows PowerShell 2.0 is deze variabele alleen geldig in scriptmodules (.psm1). Vanaf Windows PowerShell 3.0 is het geldig in alle scripts.

$ Args

$Args

Bevat een array met niet-aangegeven parameters en / of parameterwaarden die worden doorgegeven aan een functie, script of scriptblok. Wanneer u een functie maakt, kunt u de parameters declareren met behulp van het sleutelwoord param of door een door komma's gescheiden lijst met parameters tussen haakjes achter de functienaam toe te voegen.

In een gebeurtenisactie bevat de variabele $ Args objecten die de gebeurtenisargumenten vertegenwoordigen van de gebeurtenis die wordt verwerkt. Deze variabele wordt alleen ingevuld in het actieblok van een opdrachtregistratieopdracht. De waarde van deze variabele is ook te vinden in de eigenschap SourceArgs van het PSEventArgs-object (System.Management.Automation.PSEventArgs) dat Get-Event retourneert.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Hetzelfde als $_ . Bevat het huidige object in het pipeline-object. U kunt deze variabele gebruiken in opdrachten die een actie uitvoeren op elk object of op geselecteerde objecten in een pijplijn.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Bevat de uitvoeringsstatus van de laatste bewerking. Het bevat WAAR als de laatste bewerking is geslaagd en ONWAAR als het is mislukt.

$ error

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Bevat een reeks foutobjecten die de meest recente fouten vertegenwoordigen. De meest recente fout is het eerste foutobject in de array ($ Error [0]).

Om te voorkomen dat een fout wordt toegevoegd aan de $ Error-array, gebruikt u de gemeenschappelijke parameter ErrorAction met de waarde Negeren. Zie about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) voor meer informatie.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow