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 SByteto , Int16, UInt16, UInt32i 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, IDictionaryi 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 $truereprezentowane 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 , inti mapuj long odpowiednio System.Byte``System.Int32na , 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.Doublena 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)
Copy(źródło, miejsce docelowe, liczba długich)
Copy(source, sourceIndex, destination, destinationIndex, int count)
Copy(source, sourceIndex, destination, destinationIndex, long count)

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 InvokeZwraca 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 typ System.Management.Automation.CommandTypes.
  • Options Ma typ System.Management.Automation.ScopedItemOptions.
  • OutputType Ma typ System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]].
  • Parameters Ma typ System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]].
  • ParameterSets Ma typ System.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 $foreachprzypadku typu ten typ to System.Array+SZArrayEnumerator. W $inputprzypadku typu ten typ to System.Collections.ArrayList+ArrayListEnumeratorSimple. W $switchprzypadku 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:

  1. Tego podejścia można użyć do dodania co najmniej jednego członka NoteProperty.

    $x = New-Object PsObject -Property @{M = 123}`
    
  2. 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}`
    
  3. 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.