4. Typy
W programie PowerShell każda wartość ma typ, a typy należą do jednej z dwóch głównych kategorii: typów wartości i typów referencyjnych. Rozważ typ int
, który jest typowy dla typów wartości. Wartość typu jest int
całkowicie samodzielna. Wszystkie bity potrzebne do reprezentowania tej wartości są przechowywane w tej wartości, a każdy wzorzec bitów w tej wartości reprezentuje prawidłową wartość dla jej typu. Teraz rozważmy typ tablicy int[]
, który jest typowy dla typów referencyjnych. Tak zwana wartość typu tablicy może zawierać odwołanie do obiektu, który faktycznie zawiera elementy tablicy, lub odwołanie o wartości null , którego wartość to $null
. Istotną różnicą między dwiema kategoriami typów najlepiej jest zademonstrować różnice w ich semantyce podczas przypisywania. Na przykład
$i = 100 # $i designates an int value 100
$j = $i # $j designates an int value 100, which is a copy
$a = 10,20,30 # $a designates an object[], Length 3, value 10,20,30
$b = $a # $b designates exactly the same array as does $a, not a copy
$a[1] = 50 # element 1 (which has a value type) is changed from 20 to 50
$b[1] # $b refers to the same array as $a, so $b[1] is 50
Jak widać, przypisanie wartości typu referencyjnego obejmuje pobiezną kopię; oznacza to, że kopia odwołania do obiektu, a nie jego rzeczywista wartość. Z kolei kopiowanie głębokie wymaga również skopiowania obiektu.
Typ liczbowy to taki, który umożliwia reprezentację wartości całkowitych lub ułamkowych i obsługuje operacje arytmetyczne na tych wartościach. Zestaw typów liczbowych obejmuje typy liczb całkowitych (";4.2.3) i liczb rzeczywistych (";4.2.4), ale nie zawiera wartości bool (%).4.2.1) ani char (";4.2.2). Implementacja może zapewnić inne typy liczbowe (takie jak bajt ze znakiem, liczba całkowita bez znaku i liczby całkowite innych rozmiarów).
Kolekcja to grupa z co najmniej jednym powiązanym elementem, który nie musi mieć tego samego typu. Przykładami typów kolekcji są tablice, stosy, kolejki, listy i tabele skrótów. Program może wyliczać (lub iterować) elementy w kolekcji, co pozwala uzyskać dostęp do każdego elementu po jednym na raz. Typowe sposoby, aby to zrobić, to instrukcja foreach ([8.4.4) i polecenie cmdlet ForEach-Object . Typ obiektu, który reprezentuje moduł wyliczający jest opisany w .4.5.16.
W tym rozdziale znajdują się tabele, które zawierają listę dostępnych elementów członkowskich dla danego typu. W przypadku metod typ jest zapisywany w następującej postaci: returnTypeargumentTypeList/. Jeśli lista typów argumentów jest zbyt długa, aby zmieścić ją w tej kolumnie, jest ona wyświetlana w kolumnie Cel .
Inne typy liczb całkowitych SByte
to , Int16
, UInt16
, UInt32
i UInt64
, wszystkie w przestrzeni nazw System.
Wiele klas kolekcji jest definiowanych jako część przestrzeni nazw System.Collections lub System.Collections.Generic . Większość klas kolekcji implementuje interfejsy ICollection
, IComparer
, IEnumerable
, IList
, IDictionary
i ich IDictionaryEnumerator
ogólne odpowiedniki.
4.1 Typy specjalne
4.1.1 Typ void
Nie można utworzyć wystąpienia tego typu. Zapewnia ona sposób jawnego odrzucania wartości przy użyciu operatora rzutowania (";7.2.9).
4.1.2 Typ wartości null
Typ null ma jedno wystąpienie, a zmienna automatyczna $null ([2.3.2.2), znana również jako wartość null. Ta wartość zapewnia sposób wyrażania "niczego" w kontekstach referencyjnych. Charakterystyki tego typu nie są określone.
4.1.3 Typ obiektu
Każdy typ w programie PowerShell z wyjątkiem typu null ();4.1.2) pochodzi bezpośrednio lub pośrednio z obiektu typu, więc obiekt jest ostatecznym typem bazowym wszystkich typów innych niż null. Zmienna ograniczona ([5.3) do typu obiektu w ogóle nie jest ograniczona, ponieważ może zawierać wartość dowolnego typu.
4.2 Typy wartości
4.2.1 Wartość logiczna
Typ logiczny to bool
. Istnieją tylko dwie wartości tego typu, False i True, $false
$true
reprezentowane przez zmienne automatyczne i , odpowiednio (";2.3.2.2).
W programie PowerShell mapuje bool
na System.Boolean
.
Znak 4.2.2
Wartość znaku ma typ char, który może przechowywać dowolny 16-bitowy punkt kodu Unicode zakodowany w formacie UTF-16.
Typ char ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | char | Największa możliwa wartość typu char |
Minvalue | Właściwość statyczna (tylko do odczytu) | char | Najmniejsza możliwa wartość typu char |
Iscontrol | Metoda statyczna | bool/char | Sprawdza, czy znak jest znakiem kontrolnym |
Isdigit | Metoda statyczna | bool/char | Sprawdza, czy znak jest cyfrą dziesiętną |
IsLetter | Metoda statyczna | bool/char | Sprawdza, czy znak jest literą alfabetyczną |
Isletterordigit | Metoda statyczna | bool/char | Sprawdza, czy znak jest cyfrą dziesiętną lub literą alfabetyczną |
Islower | Metoda statyczna | bool/char | Sprawdza, czy znak jest małą literą alfabetyczną |
Ispunctuation | Metoda statyczna | bool/char | Sprawdza, czy znak jest znakiem interpunkcji |
Isupper | Metoda statyczna | bool/char | Sprawdza, czy znak jest wielkie litery alfabetycznej |
IsWhiteSpace | Metoda statyczna | bool/char | Sprawdza, czy znak jest znakiem odstępu. |
Tolower | Metoda statyczna | char/string | Konwertuje znak na małe litery |
Toupper | Metoda statyczna | char/string | Konwertuje znak na wielkie litery |
Windows PowerShell: char mapuje na System.Char.
4.2.3 Liczba całkowita
Istnieją dwa typy liczb całkowitych ze podpisanym podpisem— oba używają reprezentacji dwóch dopełnień dla wartości ujemnych:
- Wpisz
int
, który używa 32-bitowych, dając zakres -2147483648 +2147483647, włącznie. - Wpisz
long
, który używa 64-bitowych, dając mu zakres -9223372036854775808 do +9223372036854775807, włącznie.
Typ int ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | int | Największa możliwa wartość typu int |
Minvalue | Właściwość statyczna (tylko do odczytu) | int | Najmniejsza możliwa wartość typu int |
Typ long ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | długi | Największa możliwa wartość typu long |
Minvalue | Właściwość statyczna (tylko do odczytu) | długi | Najmniejsza możliwa wartość typu long |
Istnieje jeden typ liczby całkowitej bez znaku:
- Wpisz
byte
, który używa 8 bitów, dając mu zakres od 0 do 255 włącznie.
Typ byte
ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | byte | Największa możliwa wartość typu bajtu |
Minvalue | Właściwość statyczna (tylko do odczytu) | byte | Najmniejsza możliwa wartość typu bajtu |
W programie PowerShell , int
i mapuj long
odpowiednio System.Byte``System.Int32
na , i System.Int64
. byte
4.2.4 Liczba rzeczywista
4.2.4.1 float i double
Istnieją dwa typy rzeczywiste (lub zmiennoprzecinkowe):
- Typ
float
używa 32-bitowej reprezentacji pojedynczej dokładności IEEE. - Typ
double
używa 64-bitowej reprezentacji podwójnej dokładności IEEE.
Trzecia nazwa typu, single
, jest synonimem typu float
; float
jest używana w całej tej specyfikacji.
Chociaż rozmiar i reprezentacja typów float
double
i są zdefiniowane przez tę specyfikację, implementacja może używać rozszerzonej precyzji w wynikach pośrednich.
Typ float ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | float | Największa możliwa wartość typu float |
Minvalue | Właściwość statyczna (tylko do odczytu) | float | Najmniejsza możliwa wartość typu float |
NaN | Właściwość statyczna (tylko do odczytu) | float | Wartość stała Not-a-Number |
Negativeinfinity | Właściwość statyczna (tylko do odczytu) | float | Nieskończoność ujemna wartości stałej |
Positiveinfinity | Właściwość statyczna (tylko do odczytu) | float | Nieskończoność dodatnia wartości stałej |
Typ double ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | double | Największa możliwa wartość typu double |
Minvalue | Właściwość statyczna (tylko do odczytu) | double | Najmniejsza możliwa wartość typu double |
NaN | Właściwość statyczna (tylko do odczytu) | double | Wartość stała Not-a-Number |
Negativeinfinity | Właściwość statyczna (tylko do odczytu) | double | Nieskończoność ujemna wartości stałej |
Positiveinfinity | Właściwość statyczna (tylko do odczytu) | double | Nieskończoność dodatnia wartości stałej |
W programie PowerShell float
zamapuj double
odpowiednio System.Double
na System.Single
i .
4.2.4.2 dziesiętne
Typ decimal używa 128-bitowej reprezentacji. Musi ona obsługiwać skalę w taki sposób, aby 0 <= s <= co najmniej 28, a zakres wartości —79228162514264337593543950335 do 79228162514264337593543950335. Rzeczywista reprezentacja liczby dziesiętnej to zdefiniowana implementacja.
Typ decimal ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Maxvalue | Właściwość statyczna (tylko do odczytu) | decimal | Największa możliwa wartość typu dziesiętna |
Minvalue | Właściwość statyczna (tylko do odczytu) | decimal | Najmniejsza możliwa wartość typu dziesiętna |
Uwaga
Rzeczywiste liczby dziesiętne mają cechę nazywaną skalą, która reprezentuje liczbę cyfr z prawej strony separatora dziesiętnego. Na przykład wartość 2,340 ma skalę 3, gdzie końcowe zera są znaczące. Gdy dwie liczby rzeczywiste dziesiętne są dodawane lub odejmowane, skala wyniku jest większa z dwóch skal. Na przykład 1,0 + 2,000 to 3,000, a 5,0 –2,00 to 3,00. Gdy są mnożone dwie liczby rzeczywiste dziesiętne, skala wyniku jest sumą dwóch skal. Na przykład 1,0 * 2,000 to 2,0000. Gdy dwie liczby rzeczywiste dziesiętne są dzielone, skala wyniku jest skalą pierwszej mniejszej skali sekundy. Na przykład 4,00000/2,000 to 2,00. Jednak skala nie może być mniejsza niż potrzebna do zachowania poprawnego wyniku. Na przykład 3.000/2.000, 3.00/2.000, 3.0/2.000 i 3/2 to wszystkie 1,5.
W programie PowerShell mapuje decimal
na .System.Decimal
Reprezentacja liczby dziesiętnej jest następująca:
- Gdy jest traktowana jako tablica czterech
int
wartości, zawiera następujące elementy:- Indeks 0 (bity 0–31) zawiera 32 bity współczynnika dziesiętnego w niskiej kolejności.
- Indeks 1 (bity 32–63) zawiera środkowe 32 bity współczynnika liczby dziesiętnej.
- Indeks 2 (bity 64–95) zawiera 32 bity współczynnika dziesiętnego w wysokim porządku.
- Indeks 3 (bity 96–127) zawiera bit znaku i skalę w następujący sposób:
- bity 0–15 mają wartość zero
- Bity 16–23 zawierają skalę jako wartość 0--28
- bity 24–30 mają wartość zero
- bit 31 jest znakiem (0 dla wartości dodatnich, 1 dla ujemnych)
4.2.5 Typ przełącznika
Ten typ jest używany do ograniczania typu parametru w poleceniu (";8.10.5). Jeśli argument o odpowiedniej nazwie parametru jest obecny testów parametrów $true; W przeciwnym razie testuje .$false
W programie PowerShell mapuje switch
na .System.Management.Automation.SwitchParameter
4.2.6 Typy wyliczeń
Typ wyliczenia to taki, który definiuje zestaw nazwanych stałych reprezentujących wszystkie możliwe wartości, które można przypisać do obiektu tego typu wyliczenia. W niektórych przypadkach zestaw wartości jest taki, że jednocześnie może być reprezentowana tylko jedna wartość. W innych przypadkach zestaw wartości jest odrębnymi potęgami dwóch, a za pomocą operatora -bor (algorytmu -bor) (algorytm -7.8.5) można zakodować wiele wartości w tym samym obiekcie.
Środowisko programu PowerShell udostępnia wiele typów wyliczeń, zgodnie z opisem w poniższych sekcjach.
4.2.6.1 Action-Preference typu
Ten typ zdefiniowany w implementacji ma następujące wzajemnie wykluczające się dostępne elementy członkowskie:
Członek | Rodzaj członka | Cel |
---|---|---|
Kontynuuj | Stała wyliczenia | Środowisko uruchomieniowe programu PowerShell będzie kontynuować przetwarzanie i powiadamiać użytkownika o tym, że wystąpiła akcja. |
Zapytać | Stała wyliczenia | Środowisko uruchomieniowe programu PowerShell przestanie przetwarzać dane i zapyta użytkownika, jak należy kontynuować. |
SilentlyContinue | Stała wyliczenia | Środowisko uruchomieniowe programu PowerShell będzie kontynuować przetwarzanie bez powiadamiania użytkownika o tym, że wystąpiła akcja. |
Stop | Stała wyliczenia | Środowisko uruchomieniowe programu PowerShell przestanie przetwarzać dane po uruchomieniu akcji. |
W programie PowerShell ten typ to System.Management.Automation.ActionPreference
.
4.2.6.2 Confirm-Impact typu
Ten typ zdefiniowany w implementacji ma następujące wzajemnie wykluczające się dostępne elementy członkowskie:
Członek | Rodzaj członka | Cel |
---|---|---|
Wys. | Stała wyliczenia | Wykonywana akcja ma wysokie ryzyko utraty danych, takich jak ponownie sformatowanie dysku twardego. |
Niski | Stała wyliczenia | Wykonywana akcja ma niskie ryzyko utraty danych. |
Śred. | Stała wyliczenia | Wykonywana akcja ma średnie ryzyko utraty danych. |
Brak | Stała wyliczenia | Nie potwierdzaj żadnych akcji (pomiń wszystkie żądania potwierdzenia). |
W programie PowerShell ten typ to System.Management.Automation.ConfirmImpact
.
Typ File-Attributes 4.2.6.3
Ten typ zdefiniowany w implementacji ma następujące dostępne elementy członkowskie, które można połączyć:
Członek | Rodzaj członka | Cel |
---|---|---|
Archiwum | Stała wyliczenia | Stan archiwum pliku. Aplikacje używają tego atrybutu do oznaczania plików do tworzenia kopii zapasowej lub usuwania. |
Skompresowane | Stała wyliczenia | Plik jest skompresowany. |
Urządzenie | Zarezerwowane do użytku w przyszłości. | |
Katalog | Stała wyliczenia | Plik jest katalogiem. |
Zaszyfrowane | Stała wyliczenia | Plik lub katalog jest zaszyfrowany. W przypadku pliku oznacza to, że wszystkie dane w pliku są szyfrowane. W przypadku katalogu oznacza to, że szyfrowanie jest ustawieniem domyślnym dla nowo utworzonych plików i katalogów. |
Ukryty | Stała wyliczenia | Plik jest ukryty i w związku z tym nie znajduje się na zwykłej liście katalogów. |
Normalne | Stała wyliczenia | Plik jest normalny i nie ma innych ustawionych atrybutów. Ten atrybut jest prawidłowy tylko wtedy, gdy jest używany samodzielnie. |
NotContentIndexed | Stała wyliczenia | Plik nie będzie indeksowany przez usługę indeksowania zawartości systemu operacyjnego. |
Tryb offline | Stała wyliczenia | Plik jest w trybie offline. Dane pliku nie są natychmiast dostępne. |
ReadOnly | Stała wyliczenia | Plik jest tylko do odczytu. |
ReparsePoint | Stała wyliczenia | Plik zawiera punkt ponownej ponownej obsługi, który jest blokiem danych zdefiniowanych przez użytkownika skojarzonych z plikiem lub katalogiem. |
SparseFile | Stała wyliczenia | Plik jest plikiem rozrzedowym. Pliki rozrzedszne to zazwyczaj duże pliki, których dane są przeważnie zerami. |
System | Stała wyliczenia | Plik jest plikiem systemowym. Plik jest częścią systemu operacyjnego lub jest używany wyłącznie przez system operacyjny. |
Tymczasowe | Stała wyliczenia | Plik jest tymczasowy. Systemy plików próbują przechowywać wszystkie dane w pamięci w celu szybszego dostępu, zamiast opróżniać dane z powrotem do pamięci masowej. Plik tymczasowy powinien zostać usunięty przez aplikację, gdy tylko nie będzie już potrzebny. |
W programie PowerShell ten typ to System.IO.FileAttributes z atrybutem FlagsAttribute.
4.2.6.4 Typ opcji wyrażenia regularnego
Ten typ zdefiniowany w implementacji ma następujące dostępne elementy członkowskie, które można połączyć:
Członek | Rodzaj członka | Cel |
---|---|---|
IgnoreCase | Stała wyliczenia | Określa, że dopasowanie jest bez uwzględniania liter. |
Brak | Stała wyliczenia | Określa, że nie ustawiono żadnych opcji. |
Implementacja może podać inne wartości.
W programie PowerShell ten typ ma atrybut System.Text.RegularExpressions.RegexOptions
FlagsAttribute
. Zdefiniowane są następujące dodatkowe wartości: Compiled
, , CultureInvariant
, ECMAScript
, ExplicitCapture
, IgnorePatternWhitespace
, Multiline
, RightToLeft
, Singleline
.
4.3 Typy referencyjne
Ciągi 4.3.1
Wartość ciągu ma ciąg typu i jest niezmienną sekwencją zawierającą zero lub więcej znaków typu char, z których każdy zawiera 16-bitowy punkt kodu Unicode zakodowany w formacie UTF-16.
Ciąg typu ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Długość | Właściwość wystąpienia | int (tylko do odczytu) | Pobiera liczbę znaków w ciągu |
Tolower | Instance, metoda | ciąg | Tworzy nowy ciąg zawierający odpowiednik małych liter |
Toupper | Instance, metoda | ciąg | Tworzy nowy ciąg zawierający odpowiednik wielkich liter |
W programie PowerShell mapuje string
na .System.String
4.3.2 Tablice
Wszystkie typy tablic pochodzą od typu Array
. Ten typ ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Długość | Właściwość wystąpienia (tylko do odczytu) | int | Liczba elementów w tablicy |
Ranga | Właściwość wystąpienia (tylko do odczytu) | int | Liczba wymiarów w tablicy |
Kopiuj | Metoda statyczna | void/zobacz kolumnę Cel | Kopiuje zakres elementów z jednej tablicy do innej. Istnieją cztery wersje, gdzie źródło jest tablicą źródłową, miejsce docelowe jest tablicą docelową, count to liczba elementów do skopiowania, a sourceIndex i destinationIndex są lokalizacjami początkowymi w odpowiednich tablicach: Copy(źródło, miejsce docelowe, liczba int) |
Getlength | Instance, metoda (tylko do odczytu) | int/none | Liczba elementów w danym wymiarze GetLength( wymiar int) |
Aby uzyskać więcej informacji na temat tablic, zobacz .9.
W programie PowerShell mapuje Array
na .System.Array
4.3.3 Tablice skrótów
Tablica skrótów typu ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Liczba | Właściwość wystąpienia | int | Pobiera liczbę par klucz/wartość w tablicy skrótów |
Klucze | Właściwość wystąpienia | Zdefiniowane w implementacji | Pobiera kolekcję wszystkich kluczy |
Wartości | Właściwość wystąpienia | Zdefiniowane w implementacji | Pobiera kolekcję wszystkich wartości |
Usuń | Instance, metoda | void/none | Usuwa wyznaczony klucz/wartość |
Aby uzyskać więcej informacji na temat tablic skrótów, zobacz .10.
W programie PowerShell mapuje Hashtable
na .System.Collections.Hashtable
Hashtable
Elementy są przechowywane w obiekcie typu DictionaryEntry
, a kolekcje zwracane przez klucze i wartości mają typ ICollection
.
4.3.4 Typ xml
Typ xml implementuje W3C Document Object Model (DOM) poziom 1 core i podstawowy dom poziom 2. Dom jest reprezentacją drzewa w pamięci (pamięci podręcznej) dokumentu XML i umożliwia nawigację i edytowanie tego dokumentu. Ten typ obsługuje operator indeksu dolnego [] (";7.1.4.4).
W programie PowerShell mapuje xml
na .System.Xml.XmlDocument
4.3.5 Typ wyrażenia regularnego
Typ regex
zapewnia maszyny do obsługi przetwarzania wyrażeń regularnych. Służy do ograniczania typu parametru (=5.3), którego odpowiedni argument może zawierać wyrażenie regularne.
W programie PowerShell mapuje regex
na .System.Text.RegularExpressions.Regex
4.3.6 Typ ref
Zazwyczaj argumenty są przekazywane do poleceń według wartości. W przypadku argumentu z wartością jakiś typ jest przekazywana kopia wartości. W przypadku argumentu z pewnym typem odwołania przekazywana jest kopia odwołania.
Ref typu zapewnia maszynę, aby umożliwić argumenty mogą być przekazywane do poleceń przez odwołanie, dzięki czemu polecenia mogą modyfikować wartość argumentu. Ref typu ma następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Wartość | Właściwość wystąpienia (odczyt/zapis) | Typ przywołynej wartości. | Pobiera/ustawia wartość, do których się odwołujesz. |
Rozważmy następującą definicję i wywołanie funkcji:
function Doubler {
param ([ref]$x) # parameter received by reference
$x.Value *= 2.0 # note that 2.0 has type double
}
$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type double, value 8.0
Rozważmy przypadek, w $number jest ograniczony do typu:
[int]$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type int, value 8
Jak pokazano, zarówno argument, jak i odpowiadający mu parametr muszą być zadeklarowane ref
.
W programie PowerShell mapuje ref
na .System.Management.Automation.PSReference
4.3.7 Typ scriptblock
Typ scriptblock
reprezentuje wstępnie skompilowany blok tekstu skryptu ([7.1.8), który może być używany jako pojedyncza jednostka. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Atrybuty | Właściwość wystąpienia (tylko do odczytu) | Kolekcja atrybutów | Pobiera atrybuty bloku skryptu. |
Plik | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę pliku, w którym zdefiniowano blok skryptu. |
Moduł | Właściwość wystąpienia (tylko do odczytu) | zdefiniowana implementacja ([][4.5.12][][][4.5.12]) | Pobiera informacje o module, w którym zdefiniowano blok skryptu. |
GetNewClosure | Metoda wystąpienia | blok skryptów /none |
Pobiera blok skryptu powiązany z modułem. Wszystkie zmienne lokalne, które znajdują się w kontekście wywołującego, zostaną skopiowane do modułu . |
Invoke | Metoda wystąpienia | Kolekcja obiektu/obiektu [] | Wywołuje blok skryptu z określonymi argumentami i zwraca wyniki. |
InvokeReturnAsIs | Metoda wystąpienia | object/object[] | Wywołuje blok skryptu z określonymi argumentami i zwraca wszystkie wygenerowane obiekty. |
Utwórz | Metoda statyczna | blok skryptów /string |
Tworzy nowy obiekt scriptblock, który zawiera określony skrypt. |
W programie PowerShell mapuje scriptblock
na .System.Management.Automation.ScriptBlock
Invoke
Zwraca kolekcję .PsObject
4.3.8 Typ matematycznych
Typ math
zapewnia dostęp do niektórych stałych i metod przydatnych w obliczeniach matematycznych. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
E | Właściwość statyczna (tylko do odczytu) | double | Podstawa logarytmii naturalnej |
PI | Właściwość statyczna (tylko do odczytu) | double | Stosunek obwódu okręgu do jego okręgu |
Abs | Metoda statyczna | numeric/numeric | Wartość bezwzględna (zwracany typ jest taki sam jak typ przekazanego argumentu) |
Acos | Metoda statyczna | double/double | Kąt, którego cosine jest określoną liczbą |
Asin | Metoda statyczna | double/double | Kąt, którego sinus jest określoną liczbą |
Atan | Metoda statyczna | double/double | Kąt, którego tangens jest określoną liczbą |
Atan2 | Metoda statyczna | double / double y, double x | Kąt, którego tangens jest ilorazem dwóch określonych liczb x i y |
Ceiling | Metoda statyczna | decimal/decimal double/double |
najmniejsza liczba całkowita większa lub równa określonej liczbie |
Cos | Metoda statyczna | double/double | Cousine określonego kąta |
Cosh | Metoda statyczna | double/double | Cokontynum hiperboliczny określonego kąta |
Exp | Metoda statyczna | double/double | e podniesione do określonej potęgi |
Floor | Metoda statyczna | decimal/decimal double/double |
Największa liczba całkowita mniejsza lub równa określonej liczbie |
Dziennik | Metoda statyczna | double/double number double/double number, double base |
Logarytm liczby przy użyciu podstawowej liczby e lub podstawowej |
Log10 | Metoda statyczna | double/double | Logarytm określonej liczby base-10 |
Maks. | Metoda statyczna | numeric/numeric | Większe z dwóch określonych liczb (zwracany typ jest taki sam jak typ przekazanych argumentów) |
Min | Metoda statyczna | numeric/numeric, numeric | Mniejsza z dwóch określonych liczb (zwracany typ jest taki sam jak typ przekazanych argumentów) |
Pow | Metoda statyczna | double / double x, double y | Określona liczba x podniesiona do określonej potęgi y |
Sin | Metoda statyczna | double/double | Sinus określonego kąta |
Sinh | Metoda statyczna | double/double | Sinus hiperboliczny określonego kąta |
Sqrt | Metoda statyczna | double/double | Kwadratowy katalog główny określonej liczby |
Tan | Metoda statyczna | double/double | Tangens określonego kąta |
Tanh | Metoda statyczna | double/double | Tangens hiperboliczny określonego kąta |
W programie PowerShell mapuje Math
na .System.Math
4.3.9 Zamówiony typ
Typ ordered
jest typem pseudo używanym tylko do konwersji.
4.3.10 Typ pscustomobject
Typ pscustomobject
jest typem pseudo używanym tylko do konwersji.
4.4 Typy ogólne
Wiele języków programowania i środowisk zapewnia typy, które mogą być wyspecjalizowane. Wiele z tych typów jest nazywanych typami kontenerów, ponieważ ich wystąpienia mogą zawierać obiekty innego typu. Rozważmy typ o nazwie Stack, który może reprezentować stos wartości, który można wypchnąć i wyłączyć. Zazwyczaj użytkownik stosu chce przechowywać tylko jeden rodzaj obiektu na tym stosie. Jeśli jednak język lub środowisko nie obsługuje specjalizacji typów, należy zaimplementować wiele odrębnych wariantów typu Stack, nawet jeśli wszystkie wykonują to samo zadanie, tylko przy użyciu różnych elementów typu.
Specjalizacja typów umożliwia zaimplementowanie typu ogólnego w taki sposób, aby można go było ograniczyć do obsługi podzestawu typów, gdy jest używany. Na przykład
- Ogólny typ stosu, który jest wyspecjalizowany do przechowywania ciągów, może być zapisany jako
Stack[string]
. - Ogólny typ słownika, który jest wyspecjalizowany do przechowywania kluczy int ze skojarzonymi wartościami ciągu, może być zapisany jako
Dictionary[int,string]
. - Stos ciągów może być zapisany jako
Stack[Stack[string]]
.
Mimo że program PowerShell nie definiuje żadnych wbudowanych typów ogólnych, może używać takich typów, jeśli są one dostarczane przez środowisko hosta. Zobacz składnię w .7.1.10.
Pełna nazwa typu sugerowanego Stack[string]
powyżej to System.Collections.Generic.Stack[string]
. Pełna nazwa typu sugerowanego Dictionary[int,string]
powyżej to System.Collections.Generic.Dictionary[int,string]
.
4.5 Typy anonimowe
W niektórych sytuacjach implementacja programu PowerShell tworzy obiekty pewnego typu, a te obiekty mają elementy członkowskie dostępne dla skryptu. Nie trzeba jednak określać rzeczywistej nazwy tych typów, o ile dostępne elementy członkowskie są wystarczająco określone, aby można było ich użyć. Oznacza to, że skrypty mogą zapisywać obiekty tych typów i uzyskać dostęp do ich elementów członkowskich bez znajomości nazw tych typów. Poniższe podsekcji określają te typy.
4.5.1 Typ opisu dostawcy
Ten typ hermetyzuje stan dostawcy. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Napędy | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.2) | Kolekcja obiektów opisu dysku |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa dostawcy |
W programie PowerShell ten typ to System.Management.Automation.ProviderInfo
.
4.5.2 Typ opisu dysku
Ten typ hermetyzuje stan dysku. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
CurrentLocation | Właściwość wystąpienia (odczyt/zapis) | ciąg | Bieżąca lokalizacja robocza ([3.1.4) dysku |
Opis | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opis dysku |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa dysku |
Główny | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa dysku |
W programie PowerShell ten typ to System.Management.Automation.PSDriveInfo
.
4.5.3 Typ opisu zmiennej
Ten typ hermetyzuje stan zmiennej. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Atrybuty | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Kolekcja atrybutów |
Opis | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opis przypisany do zmiennej za pomocą polecenia cmdlet New-Variable lub Set-Variable . |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, z którego została wyeksportowana ta zmienna |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Moduł, w którym zdefiniowano tę zmienną |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa przypisana do zmiennej podczas jej tworzenia w języku programu PowerShell lub za pośrednictwem poleceń New-Variable cmdlet i Set-Variable . |
Opcje | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opcje przypisane do zmiennej za pośrednictwem polecenia New-Variable cmdlet i Set-Variable . |
Wartość | Właściwość wystąpienia (odczyt/zapis) | object | Wartość przypisana do zmiennej, gdy została przypisana w języku programu PowerShell lub za pośrednictwem poleceń New-Variable cmdlet i Set-Variable . |
W programie PowerShell ten typ to System.Management.Automation.PSVariable
.
Windows PowerShell: typ kolekcji atrybutów to System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Typ opisu aliasu
Ten typ hermetyzuje stan aliasu. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Commandtype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Należy porównać z "Alias". |
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Polecenie lub alias, do którego alias został przypisany za pomocą poleceń cmdlet New-Alias lub Set-Alias . |
Opis | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opis przypisany do aliasu za pomocą polecenia New-Alias cmdlet lub Set-Alias . |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, z którego został wyeksportowany ten alias |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Moduł, w którym zdefiniowano ten alias |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa przypisana do aliasu podczas jego tworzenia za pomocą polecenia New-Alias cmdlet lub Set-Alias . |
Opcje | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opcje przypisane do aliasu za pośrednictwem New-Alias New-Alias lub Set-Alias polecenia cmdlet. |
Outputtype | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa typy wartości wyjściowych przez polecenie, do którego odwołuje się alias. |
Parametry | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Parametry polecenia. |
Zestawy parametrów | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Informacje o zestawach parametrów skojarzonych z poleceniem . |
ReferencedCommand | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Informacje o poleceniu, do których od razu odwołuje się ten alias. |
ResolvedCommand | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Informacje o poleceniu, do którego ostatecznie rozwiązuje alias. |
W programie PowerShell ten typ to System.Management.Automation.AliasInfo
.
4.5.5 Typ opisu lokalizacji roboczej
Ten typ hermetyzuje stan lokalizacji roboczej. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Dysk | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.2) | Obiekt opisu dysku |
Ścieżka | Właściwość wystąpienia (tylko do odczytu) | ciąg | Lokalizacja robocza |
Dostawca | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.1) | Dostawca |
Ścieżka dostawcy | Właściwość wystąpienia (tylko do odczytu) | ciąg | Bieżąca ścieżka dostawcy |
Stos lokalizacji roboczych jest kolekcją obiektów lokalizacji roboczej, zgodnie z powyższym opisem.
W programie PowerShell bieżąca lokalizacja robocza jest reprezentowana przez obiekt typu System.Management.Automation.PathInfo
. Stos lokalizacji roboczych jest reprezentowany przez obiekt typu System.Management.Automation.PathInfoStack
, który jest kolekcją PathInfo
obiektów.
4.5.6 Typ opisu zmiennej środowiskowej
Ten typ hermetyzuje stan zmiennej środowiskowej. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Nazwa | Właściwość wystąpienia (odczyt/zapis) | ciąg | Nazwa zmiennej środowiskowej |
Wartość | Właściwość wystąpienia (odczyt/zapis) | ciąg | Wartość zmiennej środowiskowej |
W programie PowerShell ten typ to System.Collections.DictionaryEntry
. Nazwa zmiennej to klucz słownika. Wartość zmiennej środowiskowej jest wartością słownika. Nazwa to element AliasProperty
, który odpowiada kluczowi.
4.5.7 Typ opisu aplikacji
Ten typ hermetyzuje stan aplikacji. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Commandtype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Powinna być porównywana z wartością "Aplikacja". |
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Opis aplikacji. |
Wewnętrzny | Właściwość wystąpienia (odczyt/zapis) | ciąg | Rozszerzenie pliku aplikacji. |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, który definiuje to polecenie. |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa modułu, który definiuje polecenie . |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa polecenia. |
Outputtype | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa typy wartości wyjściowych polecenia. |
Parametry | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Parametry polecenia. |
Zestawy parametrów | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Informacje o zestawach parametrów skojarzonych z poleceniem . |
Ścieżka | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera ścieżkę pliku aplikacji. |
W programie PowerShell ten typ to System.Management.Automation.ApplicationInfo
.
4.5.8 Typ opisu polecenia cmdlet
Ten typ hermetyzuje stan polecenia cmdlet. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Commandtype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Należy porównać z "Polecenie cmdlet". |
DefaultParameterSet | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Domyślny zestaw parametrów, który jest używany, jeśli program PowerShell nie może określić, który parametr ma być używany na podstawie podanych argumentów. |
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Opis polecenia cmdlet. |
Helpfile | Właściwość wystąpienia (odczyt/zapis) | ciąg | Ścieżka do pliku Pomocy dla polecenia cmdlet . |
ImplementingType | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana implementacja | Typ, który implementuje polecenie cmdlet. |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, który definiuje to polecenie cmdlet. |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa modułu definiującego polecenie cmdlet . |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa polecenia cmdlet. |
Rzeczownik | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa rzeczownika polecenia cmdlet. |
Outputtype | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa typy wartości wyjściowych przez polecenie cmdlet. |
Parametry | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Parametry polecenia cmdlet . |
Zestawy parametrów | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Informacje o zestawach parametrów skojarzonych z poleceniem cmdlet . |
Czasownik | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa czasownika polecenia cmdlet. |
PSSnapIn | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Windows PowerShell: informacje o Windows programu PowerShell używanej do rejestrowania polecenia cmdlet. |
W programie PowerShell ten typ to System.Management.Automation.CmdletInfo
.
4.5.9 Typ opisu skryptu zewnętrznego
Ten typ hermetyzuje stan skryptu zewnętrznego (skryptu, który jest bezpośrednio wykonywalny przez program PowerShell, ale nie jest wbudowany). Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Commandtype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Powinna być porównywana z wartością "ExternalScript". |
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Definicja skryptu. |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, który definiuje ten skrypt. |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa modułu, który definiuje skrypt. |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa skryptu. |
OriginalEncoding | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Oryginalne kodowanie używane do konwertowania znaków skryptu na bajty. |
Outputtype | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa typy wartości wyjściowych przez skrypt. |
Parametry | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Parametry skryptu. |
Zestawy parametrów | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Informacje o zestawach parametrów skojarzonych ze skryptem. |
Ścieżka | Właściwość wystąpienia (tylko do odczytu) | ciąg | Ścieżka do pliku skryptu. |
ScriptBlock | Właściwość wystąpienia (tylko do odczytu) | scriptblock | Skrypt zewnętrzny. |
ScriptContents | Właściwość wystąpienia (tylko do odczytu) | ciąg | Oryginalna zawartość skryptu. |
W programie PowerShell ten typ to System.Management.Automation.ExternalScriptInfo
.
4.5.10 Typ opisu funkcji
Ten typ hermetyzuje stan funkcji. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Polecenie cmdletBinding | Właściwość wystąpienia (tylko do odczytu) | bool | Wskazuje, czy funkcja używa tego samego powiązania parametrów, które jest używane przez skompilowane polecenia cmdlet (zobacz .12.3.5). |
Commandtype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Można porównać pod względem równości z wartością "Function" lub "Filter", aby zobaczyć, które z tych wartości reprezentuje ten obiekt. |
DefaultParameterSet | Właściwość wystąpienia (tylko do odczytu) | ciąg | Określa zestaw parametrów do użycia, jeśli nie można ustalić na podstawie argumentów (zobacz .12.3.5). |
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Wersja ciągu ScriptBlock |
Opis | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opis funkcji. |
Moduł | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja ();4.5.12) | Moduł, z którego została wyeksportowana ta funkcja |
Nazwa modułu | Właściwość wystąpienia (tylko do odczytu) | ciąg | Moduł, w którym zdefiniowano tę funkcję |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa funkcji |
Opcje | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana implementacja | Opcje zakresu dla funkcji (";3.5.4). |
Outputtype | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa typy danych wyjściowych wartości w kolejności (zobacz .12.3.6). |
Parametry | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Określa nazwy parametrów w kolejności. Jeśli funkcja działa jak polecenie cmdlet (zobacz powyżej polecenie CmdletBinding), wspólne parametry są uwzględniane na końcu kolekcji. |
Zestawy parametrów | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana w implementacji | Informacje o zestawach parametrów skojarzonych z poleceniem . Dla każdego parametru wynik pokazuje nazwę i typ parametru oraz wskazuje, czy parametr jest obowiązkowy, według pozycji, czy parametru przełącznika. Jeśli funkcja działa jak polecenie cmdlet (zobacz powyżej polecenie CmdletBinding), wspólne parametry są uwzględniane na końcu kolekcji. |
ScriptBlock | Właściwość wystąpienia (tylko do odczytu) | scriptblock ();4.3.6) | Treść funkcji |
W programie PowerShell ten typ to System.Management.Automation.FunctionInfo
.
CommandType
Ma typSystem.Management.Automation.CommandTypes
.Options
Ma typSystem.Management.Automation.ScopedItemOptions
.OutputType
Ma typSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]
.Parameters
Ma typSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]
.ParameterSets
Ma typSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]
.- Widoczność ma typ
System.Management.Automation.SessionStateEntryVisibility
. - Program PowerShell ma również właściwość o nazwie Widoczność.
4.5.11 Typ opisu filtru
Ten typ hermetyzuje stan filtru. Ma ten sam zestaw dostępnych elementów członkowskich co typ opisu funkcji (";4.5.10).
W programie PowerShell ten typ to System.Management.Automation.FilterInfo
. Ma ten sam zestaw właściwości co System.Management.Automation.FunctionInfo
(";4.5.11).
4.5.12 Typ opisu modułu
Ten typ hermetyzuje stan modułu. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Opis | Właściwość wystąpienia (odczyt/zapis) | ciąg | Opis modułu (ustawiony przez manifest) |
Typ modułu | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Typ modułu (manifest, skrypt lub plik binarny) |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa modułu |
Ścieżka | Właściwość wystąpienia (tylko do odczytu) | ciąg | Ścieżka modułu |
W programie PowerShell ten typ to System.Management.Automation.PSModuleInfo
. Typ to ModuleType
System.Management.Automation.ModuleType
.
4.5.13 Niestandardowy typ opisu obiektu
Ten typ hermetyzuje stan obiektu niestandardowego. Nie ma dostępnych elementów członkowskich.
W programie PowerShell ten typ to System.Management.Automation.PSCustomObject
. Polecenia cmdlet Import-Module
i New-Object
mogą generować obiekt tego typu.
4.5.14 Typ opisu polecenia
Zmienna automatyczna $PsCmdlet
jest obiektem reprezentującym wykonywane polecenie cmdlet lub funkcję. Typ tego obiektu jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Nazwa_zestawu_parametrów | Właściwość wystąpienia (tylko do odczytu) | ciąg | Nazwa bieżącego zestawu parametrów (zobacz ParameterSetName) |
ShouldContinue | Metoda wystąpienia | Przeciążone /bool |
Żąda potwierdzenia operacji od użytkownika. |
ShouldProcess | Metoda wystąpienia | Przeciążone /bool |
Żąda potwierdzenia od użytkownika przed operacją. |
W programie PowerShell ten typ to System.Management.Automation.PSScriptCmdlet.
4.5.15 Typ opisu rekordu błędu
Zmienna automatyczna $Error
zawiera kolekcję rekordów błędów, które reprezentują ostatnie błędy (";3.12). Mimo że typ tej kolekcji jest nieokreślony, obsługuje ona indeks dolny w celu uzyskania dostępu do poszczególnych rekordów błędów.
W programie PowerShell typ kolekcji to System.Collections.ArrayList
. Typ pojedynczego rekordu błędu w kolekcji to System.Management.Automation.ErrorRecord
. Ten typ ma następujące właściwości publiczne:
- CategoryInfo — pobiera informacje o kategorii błędu.
- ErrorDetails — pobiera i ustawia bardziej szczegółowe informacje o błędzie, takie jak komunikat o błędzie zastępczym.
- Wyjątek — pobiera wyjątek skojarzony z tym rekordem błędu.
- FullyQualifiedErrorId — pobiera w pełni kwalifikowany identyfikator błędu dla tego rekordu błędu.
- InvocationInfo — pobiera informacje o poleceniu, które zostało wywołane w momencie wystąpienia błędu.
- PipelineIterationInfo — pobiera stan potoku podczas tworzenia tego rekordu błędu
- TargetObject — pobiera obiekt, który był przetwarzany w momencie wystąpienia błędu.
4.5.16 Typ opisu modułu wyliczania
Wiele zmiennych jest wyliczeniowych dla kolekcji (%).4). Zmienna automatyczna $foreach
to moduł wyliczający utworzony dla dowolnej instrukcji foreach
. Zmienna automatyczna $input
to moduł wyliczający dla kolekcji dostarczany do funkcji z potoku. Zmienna automatyczna $switch
to moduł wyliczający utworzony dla dowolnej instrukcji switch
.
Typ modułu wyliczania jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Current | Właściwość wystąpienia (tylko do odczytu) | object | Pobiera bieżący element w kolekcji. Jeśli moduł wyliczający nie jest obecnie umieszczony w elemencie kolekcji, zachowanie jest zdefiniowane w implementacji. |
Movenext | Metoda wystąpienia | Brak/wartość logiczna | Dodaje moduł wyliczający do następnego elementu kolekcji. Zwraca $true, jeśli moduł wyliczający został pomyślnie zaawansowany do następnego elementu; $false, jeśli moduł wyliczający przekazał koniec kolekcji. |
W programie PowerShell te elementy członkowskie są zdefiniowane w interfejsie System.IEnumerator
, który jest implementowany przez typy zidentyfikowane poniżej. Jeśli moduł wyliczający nie jest obecnie umieszczony w elemencie kolekcji, jest wywoływany wyjątek InvalidOperationException
typu. W $foreach
przypadku typu ten typ to System.Array+SZArrayEnumerator
. W $input
przypadku typu ten typ to System.Collections.ArrayList+ArrayListEnumeratorSimple
. W $switch
przypadku typu ten typ to System.Array+SZArrayEnumerator
.
4.5.17 Typ opisu katalogu
Polecenie cmdlet New-Item umożliwia tworzenie różnych rodzajów elementów, w tym katalogów FileSystem. Typ obiektu opisu katalogu jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Atrybuty | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana implementacja ();4.2.6.3) | Pobiera lub ustawia co najmniej jeden atrybut obiektu katalogu. |
CreationTime | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana [implementacja (4.5.19) | Pobiera i ustawia czas tworzenia obiektu katalogu. |
Wewnętrzny | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera część rozszerzenia nazwy katalogu. |
Pełna nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera pełną ścieżkę katalogu. |
LastWriteTime | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana [implementacja (4.5.19) | Pobiera i ustawia czas ostatniego zapisanego katalogu. |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę katalogu. |
W programie PowerShell ten typ to System.IO.DirectoryInfo
. Typ właściwości Attributes to System.IO.FileAttributes
.
4.5.18 Typ opisu pliku
Polecenie cmdlet umożliwia New-Item
tworzenie elementów różnego rodzaju, w tym plików FileSystem. Typ obiektu opisu pliku jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Atrybuty | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana implementacja ();4.2.6.3) | Pobiera lub ustawia co najmniej jeden atrybut obiektu pliku. |
Basename | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę pliku z wyłączeniem rozszerzenia. |
CreationTime | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana [implementacja (4.5.19) | Pobiera i ustawia czas tworzenia obiektu pliku. |
Wewnętrzny | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera część rozszerzenia nazwy pliku. |
Pełna nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera pełną ścieżkę pliku. |
LastWriteTime | Właściwość wystąpienia (odczyt/zapis) | Zdefiniowana [implementacja (4.5.19) | Pobiera i ustawia czas ostatniego zapisanego pliku. |
Długość | Właściwość wystąpienia (tylko do odczytu) | długi | Pobiera rozmiar pliku w bajtach. |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę pliku. |
Versioninfo | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Windows PowerShell: Ta wartość ScriptProperty zwraca wartość System.Diagnostics.FileVersionInfo dla pliku. |
W programie PowerShell ten typ to System.IO.FileInfo
.
4.5.19 Date-Time typu opisu
Typ obiektu opisu daty/godziny jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Dzień | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik dnia miesiąca reprezentowany przez to wystąpienie. |
Godzina | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik godziny daty reprezentowanej przez to wystąpienie. |
Minuta | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik minuty daty reprezentowanej przez to wystąpienie. |
Month (Miesiąc) | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik miesiąca daty reprezentowanej przez to wystąpienie. |
Second | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik sekund daty reprezentowanej przez to wystąpienie. |
Year (Rok) | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera składnik roku daty reprezentowanej przez to wystąpienie. |
Obiekt tego typu można utworzyć za pomocą polecenia cmdlet Get-Date.
W programie PowerShell ten typ to System.DateTime
.
4.5.20 Group-Info typu opisu
Typ obiektu opisu informacji o grupie jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Przeznaczenie |
---|---|---|---|
Liczba | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera liczbę elementów w grupie. |
Group (Grupa) | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana przez implementację | Pobiera elementy grupy. |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę grupy. |
Wartości | Właściwość wystąpienia (tylko do odczytu) | Kolekcja zdefiniowana przez implementację | Pobiera wartości elementów grupy. |
Obiekt tego typu można utworzyć za pomocą polecenia cmdlet Group-Object.
W programie PowerShell ten typ to Microsoft.PowerShell.Commands.GroupInfo
.
4.5.21 Typ opisu Generic-Measure-Info
Typ obiektu opisu ogólnego-miary-informacji jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Średnia | Właściwość wystąpienia (tylko do odczytu) | double | Pobiera średnią wartości mierzonych właściwości. |
Liczba | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera liczbę obiektów z określonymi właściwościami. |
Maksimum | Właściwość wystąpienia (tylko do odczytu) | double | Pobiera maksymalną wartość określonych właściwości. |
Minimum | Właściwość wystąpienia (tylko do odczytu) | double | Pobiera minimalną wartość określonych właściwości. |
Właściwość | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera właściwość, która ma być mierzona. |
Sum | Właściwość wystąpienia (tylko do odczytu) | double | Pobiera sumę wartości określonych właściwości. |
Obiekt tego typu można utworzyć za pomocą polecenia cmdlet Measure-Object.
W programie PowerShell ten typ to Microsoft.PowerShell.Commands.GenericMeasureInfo
.
4.5.22 Typ opisu tekst-miara-informacje
Typ obiektu opisu informacji tekstowych jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Znaki | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera liczbę znaków w obiekcie docelowym. |
Linie | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera liczbę wierszy w obiekcie docelowym. |
Właściwość | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera właściwość, która ma być mierzona. |
Słowy | Właściwość wystąpienia (tylko do odczytu) | int | Pobiera liczbę słów w obiekcie docelowym. |
Obiekt tego typu można utworzyć za pomocą polecenia cmdlet Measure-Object
.
W programie PowerShell ten typ to Microsoft.PowerShell.Commands.TextMeasureInfo
.
4.5.23 Typ poświadczeń
Następnie można użyć obiektu poświadczeń w różnych operacjach zabezpieczeń. Typ obiektu poświadczeń jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Przeznaczenie |
---|---|---|---|
Hasło | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Pobiera hasło. |
Nazwa użytkownika | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę użytkownika. |
Obiekt tego typu można utworzyć za pomocą polecenia cmdlet Get-Credential.
W programie PowerShell ten typ to System.Management.Automation.PSCredential
.
4.5.24 Typ obiektu projektowego metody
Typ obiektu projektowego metody jest zdefiniowany w implementacji; Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Invoke | Metoda wystąpienia | obiekt/zmienna liczba i typ | Przyjmuje zmienną liczbę argumentów i pośrednio wywołuje metodę, do której odnosi się element projektowy metody nadrzędnej, przekazując argumenty . |
Obiekt tego typu można utworzyć za pomocą wyrażenia wywołania (";7.1.3).
W programie PowerShell ten typ to System.Management.Automation.PSMethod.
4.5.25 Typ definicji członka
Ten typ hermetyzuje definicję członka. Ma ona następujące dostępne elementy członkowskie:
Członek | Rodzaj członka | Typ | Cel |
---|---|---|---|
Definicja | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera definicję członka. |
Membertype | Właściwość wystąpienia (tylko do odczytu) | Zdefiniowana implementacja | Pobiera typ programu PowerShell członka. |
Nazwa | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę członka. |
TypeName | Właściwość wystąpienia (tylko do odczytu) | ciąg | Pobiera nazwę typu członka. |
W programie PowerShell ten typ to Microsoft.PowerShell.Commands.MemberDefinition
.
4.6. Rozszerzenie typu i adaptacja
Implementacja programu PowerShell obejmuje rodzinę typów podstawowych (które zostały udokumentowane w tym rozdziale), z których każdy zawiera własny zestaw podstawowych elementów członkowskich. Te elementy członkowskie mogą być metodami lub właściwościami i mogą być wystąpieniami lub statycznych składowych. Na przykład podstawowe elementy członkowskie ciągu typu ([4.3.1) to właściwość wystąpienia Length oraz metody wystąpienia ToLower i ToUpper.
Po utworzeniu obiektu zawiera on wszystkie właściwości wystąpienia typu tego obiektu, a metody wystąpienia tego typu mogą być wywoływane dla tego obiektu. Obiekt można dostosować przez dodanie elementów członkowskich wystąpienia w środowisku uruchomieniowym. Wynik jest nazywany obiektem niestandardowym. Wszystkie elementy członkowskie dodane do wystąpienia istnieją tylko przez okres istnienia tego wystąpienia; nie ma to wpływu na inne wystąpienia tego samego typu podstawowego.
Podstawowy zestaw elementów członkowskich typu można rozszerzyć przez dodanie następujących rodzajów elementów członkowskich:
- dostosowanych elementów członkowskich za pośrednictwem systemu ETS ( Extended Type System ), z których większość szczegółów jest nieokreślona.
- rozszerzonych elementów członkowskich za pomocą polecenia cmdlet Add-Member.
W programie PowerShell rozszerzone elementy członkowskie można również dodawać za pośrednictwem types.ps1xml
plików. Dostosowane i rozszerzone elementy członkowskie są zbiorczo nazywane syntetycznymi członkami.
System ETS dodaje następujące elementy członkowskie do wszystkich obiektów programu PowerShell: psbase, psadapted, psextended i pstypenames. Aby uzyskać więcej informacji na temat tych elementów członkowskich, zobacz parametry Force i View w poleceniach cmdlet Get-Member .
Element członkowski wystąpienia może ukryć rozszerzony i/lub dostosowany element członkowski o tej samej nazwie, a rozszerzony element członkowski może ukryć dostosowany element członkowski. W takich przypadkach zestawy elementów członkowskich psadapted i psextended mogą być używane do uzyskiwania dostępu do tych ukrytych elementów członkowskich.
Jeśli określono types.ps1xml
członka o nazwie Obsługuje, obj.psextended
zapewnia dostęp tylko do tego członka, a nie do członka dodanego za pośrednictwem .Add-Member
Istnieją trzy sposoby tworzenia obiektu niestandardowego z nowym członkiem M:
Tego podejścia można użyć do dodania co najmniej jednego członka NoteProperty.
$x = New-Object PsObject -Property @{M = 123}`
To podejście może służyć do dodawania elementów członkowskich NoteProperty lub ScriptMethod.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}`
To podejście może służyć do dodawania dowolnego rodzaju członka.
$x = New-Object PsObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PsObject
jest typem bazowym wszystkich typów programu PowerShell.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla