PowerShell
Inbyggda variabler
Sök…
Introduktion
PowerShell erbjuder en mängd användbara "automatiska" (inbyggda) variabler. Vissa automatiska variabler fylls endast under speciella omständigheter, medan andra är tillgängliga globalt.
$ PSScriptRoot
Get-ChildItem -Path $PSScriptRoot
Detta exempel hämtar listan över underordnade objekt (kataloger och filer) från mappen där skriptfilen finns.
Den automatiska variabeln $PSScriptRoot
är $null
om den används utanför en PowerShell-kodfil. Om det används i ett PowerShell-skript definieras det automatiskt den fullt kvalificerade filsystemvägen till katalogen som innehåller skriptfilen.
I Windows PowerShell 2.0 gäller denna variabel endast i skriptmoduler (.psm1). Från och med Windows PowerShell 3.0 är det giltigt i alla skript.
$ Args
$Args
Innehåller en matris med odeklarerade parametrar och / eller parametervärden som skickas till en funktion, skript eller skriptblock. När du skapar en funktion kan du deklarera parametrarna genom att använda parameterns nyckelord eller genom att lägga till en kommaseparerad lista med parametrar inom parentes efter funktionsnamnet.
I en händelseåtgärd innehåller variabeln $ Args objekt som representerar händelsesargument för händelsen som bearbetas. Denna variabel fylls endast i åtgärdsblocket i ett kommando för registrering av händelser. Värdet på denna variabel kan också hittas i egenskapen SourceArgs i PSEventArgs-objektet (System.Management.Automation.PSEventArgs) som Get-Event returnerar.
$ PSItem
Get-Process | ForEach-Object -Process {
$PSItem.Name
}
Samma som $_
. Innehåller det aktuella objektet i rörledningsobjektet. Du kan använda denna variabel i kommandon som utför en åtgärd på varje objekt eller på utvalda objekt i en pipeline.
$?
Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"
Innehåller exekveringsstatusen för den senaste operationen. Den innehåller SANT om den senaste åtgärden lyckades och FALSE om den misslyckades.
$ fel
Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)
Innehåller en mängd felobjekt som representerar de senaste felen. Det senaste felet är det första felobjektet i matrisen ($ Error [0]).
För att förhindra att ett fel läggs till i $ -felen, använd den vanliga parametern ErrorAction med ett värde Ignorera. Mer information finns i om_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .