PowerShell
Ingebouwde variabelen
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.