PowerShell
Wbudowane zmienne
Szukaj…
Wprowadzenie
PowerShell oferuje wiele użytecznych zmiennych „automatycznych” (wbudowanych). Niektóre zmienne automatyczne są wypełniane tylko w szczególnych okolicznościach, podczas gdy inne są dostępne na całym świecie.
$ PSScriptRoot
Get-ChildItem -Path $PSScriptRoot
W tym przykładzie pobierana jest lista elementów potomnych (katalogów i plików) z folderu, w którym znajduje się plik skryptu.
$PSScriptRoot
automatyczna $PSScriptRoot
ma $null
jeśli jest używana spoza pliku kodu PowerShell. Jeśli jest używany w skrypcie PowerShell, automatycznie definiuje pełną ścieżkę systemu plików do katalogu zawierającego plik skryptu.
W Windows PowerShell 2.0 ta zmienna jest poprawna tylko w modułach skryptowych (.psm1). Począwszy od Windows PowerShell 3.0, obowiązuje we wszystkich skryptach.
$ Args
$Args
Zawiera tablicę niezadeklarowanych parametrów i / lub wartości parametrów, które są przekazywane do funkcji, skryptu lub bloku skryptu. Podczas tworzenia funkcji można zadeklarować parametry za pomocą słowa kluczowego param lub dodając listę parametrów oddzieloną przecinkami w nawiasach po nazwie funkcji.
W akcji zdarzenia zmienna $ Args zawiera obiekty reprezentujące argumenty zdarzenia przetwarzanego zdarzenia. Ta zmienna jest wypełniana tylko w bloku Action polecenia rejestracji zdarzenia. Wartość tej zmiennej można również znaleźć we właściwości SourceArgs obiektu PSEventArgs (System.Management.Automation.PSEventArgs) zwracanej przez Get-Event.
$ PSItem
Get-Process | ForEach-Object -Process {
$PSItem.Name
}
Taki sam jak $_
. Zawiera bieżący obiekt w obiekcie potoku. Tej zmiennej można użyć w poleceniach, które wykonują akcję na każdym obiekcie lub na wybranych obiektach w potoku.
$?
Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"
Zawiera status wykonania ostatniej operacji. Zawiera PRAWDA, jeśli ostatnia operacja się powiodła, i FALSE, jeśli się nie powiodła.
błąd $
Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)
Zawiera tablicę obiektów błędów reprezentujących najnowsze błędy. Najnowszym błędem jest pierwszy obiekt błędu w tablicy ($ Błąd [0]).
Aby zapobiec dodaniu błędu do tablicy $ Error, użyj wspólnego parametru ErrorAction z wartością Ignoruj. Aby uzyskać więcej informacji, zobacz about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .