Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Redaktionelle Notiz
Von Bedeutung
Die Windows PowerShell Language Specification 3.0 wurde im Dezember 2012 veröffentlicht und basiert auf Windows PowerShell 3.0. Diese Spezifikation spiegelt nicht den aktuellen Status von PowerShell wider. Es ist nicht geplant, diese Dokumentation zu aktualisieren, um den aktuellen Zustand widerzuspiegeln. Diese Dokumentation wird hier zur historischen Referenz vorgestellt.
Das Spezifikationsdokument steht als Microsoft Word-Dokument im Microsoft Download Center unter: https://www.microsoft.com/download/details.aspx?id=36389 zur Verfügung. Dieses Word-Dokument wurde für die Darstellung hier auf Microsoft Learn umgewandelt. Während der Konvertierung wurden einige redaktionelle Änderungen vorgenommen, um die Formatierung für die Docs-Plattform zu berücksichtigen. Einige Tippfehler und kleinere Fehler wurden korrigiert.
In PowerShell weist jeder Wert einen Typ auf, und Typen werden in eine von zwei Hauptkategorien unterteilt: Werttypen und Referenztypen. Berücksichtigen Sie den Typ int, der typisch für Werttypen ist. Ein Typwert int ist vollständig eigenständig. Alle Bits, die erforderlich sind, um diesen Wert darzustellen, werden in diesem Wert gespeichert, und jedes Bitmuster in diesem Wert stellt einen gültigen Wert für seinen Typ dar. Betrachten Sie nun den Arraytyp int[], der typisch für Referenztypen ist. Ein so genannter Wert eines Arraytyps kann entweder einen Verweis auf ein Objekt enthalten, das tatsächlich die Arrayelemente enthält, oder den Nullverweis , dessen Wert lautet $null. Der wichtige Unterschied zwischen den beiden Typkategorien wird am besten durch die Unterschiede in der Semantik bei der Zuordnung veranschaulicht. Beispiel:
$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
Wie wir sehen, umfasst die Zuordnung eines Bezugstypwerts eine flache Kopie; d. h. eine Kopie des Verweises auf das Objekt anstelle des tatsächlichen Werts. Im Gegensatz dazu erfordert eine tiefgehende Kopie auch eine Kopie des Objekts.
Ein numerischer Typ ist ein Typ, der die Darstellung von ganzzahligen oder Bruchwerten zulässt und arithmetische Vorgänge für diese Werte unterstützt. Der Satz numerischer Typen umfasst die Ganzzahl (§4.2.3) und die reelle Zahl (§4.2.4), enthält jedoch keinen Bool (§4.2.1) oder Zeichen (§4.2.2).2). Eine Implementierung kann andere numerische Typen (z. B. signiertes Byte, nicht signierte ganze Zahl und ganze Zahlen anderer Größen) bereitstellen.
Eine Auflistung ist eine Gruppe von mindestens einem verwandten Element, die nicht denselben Typ aufweisen muss.
Beispiele für Sammlungstypen sind Arrays, Stapel, Warteschlangen, Listen und Hashtabellen. Ein Programm kann die Elemente in einer Auflistung aufzählen (oder durchlaufen), um jeweils zugriff auf jedes Element zu erhalten. Allgemeine Möglichkeiten hierfür sind die foreach Anweisung (§8.4.4) und das ForEach-Object-Cmdlet . Der Typ eines Objekts, das einen Enumerator darstellt, wird in §4.5.16 beschrieben.
In diesem Kapitel gibt es Tabellen, in denen die barrierefreien Elemente für einen bestimmten Typ aufgeführt werden. Für Methoden wird der Type mit dem folgenden Formular geschrieben: returnType/argumentTypeList. Wenn die Argumenttypliste zu lang ist, damit sie in diese Spalte passt, wird sie stattdessen in der Spalte "Zweck" angezeigt.
Andere ganzzahlige Typen sind SByte, Int16, , UInt16UInt32und UInt64, alle im Namespacesystem.
Viele Auflistungsklassen werden als Teil der Namespaces "System.Collections " oder "System.Collections.Generic " definiert. Die meisten Sammlungsklassen implementieren die Schnittstellen ICollection, IComparer, , IEnumerable, IListIDictionaryund IDictionaryEnumerator deren generische Entsprechungen.
Sie können auch Kurznamen für einige Typen verwenden. Weitere Informationen finden Sie unter about_Type_Accelerators.
4.1 Sondertypen
4.1.1 Der ungültige Typ
Dieser Typ kann nicht instanziiert werden. Sie bietet eine Möglichkeit, einen Wert explizit mithilfe des Umwandlungsoperators (§7.2.9) zu verwerfen.
4.1.2 Der Nulltyp
Der Nulltyp verfügt über eine Instanz, die automatische Variable $null (§2.3.2.2), die auch als Nullwert bezeichnet wird. Dieser Wert stellt ein Mittel zum Ausdrücken von "Nichtsheit" in Bezugskontexten bereit. Die Merkmale dieses Typs sind nicht angegeben.
4.1.3 Der Objekttyp
Jeder Typ in PowerShell mit Ausnahme des Nulltyps (§4.1.2) wird direkt oder indirekt vom Typobjekt abgeleitet, sodass objekt der ultimative Basistyp aller Nicht-Null-Typen ist. Eine Variable, die auf das Typobjekt beschränkt ist (§5.3), ist überhaupt nicht eingeschränkt, da sie einen Wert eines beliebigen Typs enthalten kann.
4.2 Werttypen
4.2.1 Boolescher Wert
Der boolesche Typ ist bool. Es gibt nur zwei Werte dieses Typs, False und True, dargestellt durch die automatischen Variablen $false bzw$true. (§2.3.2.2).
In PowerShell bool ordnet die Zuordnung zu System.Boolean.
4.2.2 Zeichen
Ein Zeichenwert weist Typzeichen auf, die einen UTF-16-codierten 16-Bit-Unicode-Codepunkt speichern können.
Das Typzeichen weist die folgenden barrierefreien Elemente auf:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | verkohlen | Der größte mögliche Wert des Typzeichens |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | verkohlen | Der kleinste mögliche Wert des Typzeichens |
| IsControl | Static-Methode | bool/char | Testet, ob es sich bei dem Zeichen um ein Steuerelementzeichen handelt |
| IsDigit | Static-Methode | bool/char | Überprüft, ob das Zeichen eine Dezimalziffer ist. |
| IsLetter | Static-Methode | bool/char | Testet, ob das Zeichen ein alphabetischer Buchstabe ist |
| IsLetterOrDigit | Static-Methode | bool/char | Überprüft, ob das Zeichen eine Dezimalziffer oder ein alphabetischer Buchstabe ist. |
| IsLower | Static-Methode | bool/char | Testet, ob das Zeichen ein alphabetischer Kleinbuchstabe ist |
| IsPunctuation | Static-Methode | bool/char | Testet, ob das Zeichen ein Interpunktionszeichen ist. |
| IsUpper | Static-Methode | bool/char | Testet, ob das Zeichen ein alphabetischer Großbuchstabe ist |
| IsWhiteSpace | Static-Methode | bool/char | Testet, ob das Zeichen ein Leerzeichen ist. |
| ToLower | Static-Methode | char/string | Konvertiert das Zeichen in Kleinbuchstaben. |
| ToUpper | Static-Methode | char/string | Konvertiert das Zeichen in Großbuchstaben. |
Windows PowerShell: Zeichen ist System.Char zugeordnet.
4.2.3 Ganze Zahl
Es gibt zwei signierte ganzzahlige Typen, die beide die Darstellung von zwei Ergänzungen für negative Werte verwenden:
- Type
int, which uses 32 bits giving it a range of -2147483648 to +2147483647, inclusive. - Type
long, which uses 64 bits giving it a range of -9223372036854775808 to +9223372036854775807, inclusive.
Typ int verfügt über die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | INT | Der größte mögliche Wert des Typs int |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | INT | Der kleinste mögliche Wert des Typs "int" |
Typ hat lange die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | long | Der größte mögliche Wert vom Typ Long |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | long | Der kleinste mögliche Wert vom Typ Long |
Es gibt einen ganzzahligen Ganzzahltyp ohne Vorzeichen:
- Type
byte, which uses 8 bits giving it a range of 0 to 255, inclusive.
Der Typ byte verfügt über die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | byte | Der größte mögliche Wert des Typbytes |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | byte | Der kleinste mögliche Wert des Typbytes |
In PowerShell, byte, intund long map to System.Byte, System.Int32, , und System.Int64, bzw. .
4.2.4 Reale Zahl
4.2.4.1 float und double
Es gibt zwei echte (oder Gleitkomma)-Typen:
- Der Typ
floatverwendet die 32-Bit-IEEE-Einzelgenauigkeitsdarstellung. - Typ
doubleverwendet die 64-Bit-IEEE-Doppelpräzisionsdarstellung.
Ein dritter Typname ist singleein Synonym für typ float; float wird in dieser Spezifikation verwendet.
Obwohl die Größe und Darstellung der Typen float und double durch diese Spezifikation definiert sind, kann eine Implementierung eine erweiterte Genauigkeit für Zwischenergebnisse verwenden.
Der Typ "float" verfügt über die folgenden elemente, auf die zugegriffen werden kann:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | Schweben | Der größte mögliche Wert des Typs float |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | Schweben | Der kleinste mögliche Wert des Typs Float |
| NaN | Statische Eigenschaft (schreibgeschützt) | Schweben | Der Konstantenwert "Not-a-Number" |
| Negative Unendlichkeit | Statische Eigenschaft (schreibgeschützt) | Schweben | Der konstante Wert negative Unendlichkeit |
| PositiveInfinity | Statische Eigenschaft (schreibgeschützt) | Schweben | Der konstante Wert positive Unendlichkeit |
Typ double hat die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | doppelt | Der größte mögliche Wert des Typs Double |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | doppelt | Der kleinste mögliche Wert des Typs Double |
| NaN | Statische Eigenschaft (schreibgeschützt) | doppelt | Der Konstantenwert "Not-a-Number" |
| Negative Unendlichkeit | Statische Eigenschaft (schreibgeschützt) | doppelt | Der konstante Wert negative Unendlichkeit |
| PositiveInfinity | Statische Eigenschaft (schreibgeschützt) | doppelt | Der konstante Wert positive Unendlichkeit |
In PowerShell float und double zuordnen bzwSystem.Double. zuordnenSystem.Single.
4.2.4.2 Dezimalzahl
Typdezimal verwendet eine 128-Bit-Darstellung. Mindestens muss eine Skalierung so unterstützt werden, dass 0 <= s<= mindestens 28 und ein Wertbereich -79228162514264337593543950335, um 79228162514264337593543950335. Die tatsächliche Darstellung des Dezimaltrennzeichens wird definiert.
Typ dezimal weist die folgenden barrierefreien Elemente auf:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Maximalwert | Statische Eigenschaft (schreibgeschützt) | Decimal | Der größte mögliche Wert vom Typ "Dezimalwert" |
| Mindestwert | Statische Eigenschaft (schreibgeschützt) | Decimal | Der kleinste mögliche Wert vom Typ "Dezimalwert" |
Hinweis
Dezimal reale Zahlen weisen ein Merkmal auf, das als Skalierung bezeichnet wird, was die Anzahl der Ziffern rechts neben dem Dezimalkomma darstellt. Beispielsweise weist der Wert 2,340 eine Skala von 3 auf, wobei nachfolgende Nullen signifikant sind. Wenn zwei rezimale Zahlen addiert oder subtrahiert werden, ist die Skala des Ergebnisses die größer als die beiden Skalierungen. Beispielsweise beträgt 1,0 + 2.000 3.000, während 5,0 - 2,00 3,00 beträgt. Wenn zwei dezimale reale Zahlen multipliziert werden, ist die Skala des Ergebnisses die Summe der beiden Skalierungen. Beispiel: 1,0 * 2.000 ist 2.0000. Wenn zwei dezimale reale Zahlen dividiert werden, ist die Skala des Ergebnisses die Skalierung des ersten Werts, der kleiner als die Zweite ist. Beispiel: 4.00000/2.000 ist 2,00. Eine Skalierung kann jedoch nicht kleiner sein als die, die erforderlich ist, um das richtige Ergebnis beizubehalten. Beispielsweise sind 3.000/2.000, 3.00/2.000, 3.0/2.000 und 3/2 alle 1,5.
In PowerShell decimal ordnet die Zuordnung zu System.Decimal. Die Dezimaldarstellung lautet wie folgt:
- Wenn sie als Array mit vier
intWerten betrachtet wird, enthält sie die folgenden Elemente:- Index 0 (Bits 0-31) enthält die 32 Bit niedriger Reihenfolge des Dezimalkoeffizienten.
- Index 1 (Bit 32-63) enthält die mittleren 32 Bits des Dezimalkoeffizienten.
- Index 2 (Bits 64-95) enthält die Hochreihenfolge 32 Bit des Dezimalkoeffizienten.
- Index 3 (Bits 96-127) enthält das Zeichenbit und die Skalierung wie folgt:
- bits 0--15 are zero
- bits 16-23 contains the scale as a value 0--28
- Bits 24-30 sind null
- Bit 31 ist das Vorzeichen (0 für positiv, 1 für negativ)
4.2.5 Der Schaltertyp
Dieser Typ wird verwendet, um den Typ eines Parameters in einem Befehl (§8.10.5) einzuschränken. Wenn ein Argument mit dem entsprechenden Parameternamen vorhanden ist, werden die Parametertests $true; andernfalls wird getestet $false.
In PowerShell switch ordnet die Zuordnung zu System.Management.Automation.SwitchParameter.
4.2.6 Enumerationstypen
Ein Enumerationstyp ist ein Typ, der einen Satz benannter Konstanten definiert, der alle möglichen Werte darstellt, die einem Objekt dieses Enumerationstyps zugewiesen werden können. In einigen Fällen sind die Wertesätze so, dass jeweils nur ein Wert dargestellt werden kann. In anderen Fällen sind die Wertesätze unterschiedliche Potenzen von zwei und mithilfe des -bor-Operators (§7.8.5) können mehrere Werte im selben Objekt codiert werden.
Die PowerShell-Umgebung stellt eine Reihe von Enumerationstypen bereit, wie in den folgenden Abschnitten beschrieben.
4.2.6.1 Action-Preference Typ
Dieser implementierungsdefinierte Typ weist die folgenden sich gegenseitig ausschließenden barrierefreien Member auf:
| Mitglied | Mitglied kind | Zweck |
|---|---|---|
| Fortfahren | Enumerationskonstante | Die PowerShell-Laufzeit wird weiterhin verarbeitet und benachrichtigt den Benutzer darüber, dass eine Aktion aufgetreten ist. |
| Inquire | Enumerationskonstante | Die PowerShell-Laufzeit beendet die Verarbeitung und fragt den Benutzer, wie es fortgesetzt werden soll. |
| SilentlyContinue (leise fortfahren) | Enumerationskonstante | Die PowerShell-Laufzeit wird weiterhin verarbeitet, ohne den Benutzer darüber zu informieren, dass eine Aktion aufgetreten ist. |
| Stopp! | Enumerationskonstante | Die PowerShell-Laufzeit beendet die Verarbeitung, wenn eine Aktion auftritt. |
In PowerShell ist System.Management.Automation.ActionPreferencedieser Typ .
4.2.6.2 Confirm-Impact Typ
Dieser implementierungsdefinierte Typ weist die folgenden sich gegenseitig ausschließenden barrierefreien Member auf:
| Mitglied | Mitglied kind | Zweck |
|---|---|---|
| Hoch | Enumerationskonstante | Die ausgeführte Aktion besteht aus einem hohen Risiko, dass Daten verloren gehen, z. B. das Neuformatieren einer Festplatte. |
| Niedrig | Enumerationskonstante | Die ausgeführte Aktion besteht aus einem geringen Risiko, dass Daten verloren gehen. |
| Mittelstufe | Enumerationskonstante | Die ausgeführte Aktion besteht aus einem mittleren Risiko, dass Daten verloren gehen. |
| Nichts | Enumerationskonstante | Bestätigen Sie keine Aktionen (alle Bestätigungsanforderungen unterdrücken). |
In PowerShell ist System.Management.Automation.ConfirmImpactdieser Typ .
4.2.6.3 File-Attributes Typ
Dieser implementierungsdefinierte Typ verfügt über die folgenden barrierefreien Member, die kombiniert werden können:
| Mitglied | Mitglied kind | Zweck |
|---|---|---|
| Archivieren | Enumerationskonstante | Der Archivstatus der Datei. Anwendungen verwenden dieses Attribut, um Dateien für die Sicherung oder Entfernung zu markieren. |
| Komprimiert | Enumerationskonstante | Die Datei wird komprimiert. |
| Gerät | Reserviert für zukünftige Verwendung. | |
| Verzeichnis | Enumerationskonstante | Die Datei ist ein Verzeichnis. |
| Encrypted | Enumerationskonstante | Die Datei oder das Verzeichnis ist verschlüsselt. Bei einer Datei bedeutet dies, dass alle Daten in der Datei verschlüsselt sind. Für ein Verzeichnis bedeutet dies, dass die Verschlüsselung die Standardeinstellung für neu erstellte Dateien und Verzeichnisse ist. |
| Versteckt | Enumerationskonstante | Die Datei ist ausgeblendet und ist daher nicht in einer normalen Verzeichnisauflistung enthalten. |
| Normal | Enumerationskonstante | Die Datei ist normal und hat keine anderen Attribute festgelegt. Dieses Attribut ist nur gültig, wenn es allein verwendet wird. |
| NotContentIndexed | Enumerationskonstante | Die Datei wird nicht vom Inhaltsindizierungsdienst des Betriebssystems indiziert. |
| Offline | Enumerationskonstante | Die Datei ist offline. Die Daten der Datei sind nicht sofort verfügbar. |
| ReadOnly | Enumerationskonstante | Die Datei ist schreibgeschützt. |
| AnalysePoint | Enumerationskonstante | Die Datei enthält einen Analysepunkt, bei dem es sich um einen Block benutzerdefinierter Daten handelt, die einer Datei oder einem Verzeichnis zugeordnet sind. |
| SparseFile | Enumerationskonstante | Die Datei ist eine sparse Datei. Geringe Dateien sind in der Regel große Dateien, deren Daten hauptsächlich Nullen sind. |
| System | Enumerationskonstante | Die Datei ist eine Systemdatei. Die Datei ist Teil des Betriebssystems oder wird ausschließlich vom Betriebssystem verwendet. |
| Vorläufig | Enumerationskonstante | Die Datei ist temporär. Dateisysteme versuchen, alle Daten im Arbeitsspeicher zu speichern, um schnelleren Zugriff zu ermöglichen, anstatt die Daten wieder in den Massenspeicher zu leeren. Eine temporäre Datei sollte von der Anwendung gelöscht werden, sobald sie nicht mehr benötigt wird. |
In PowerShell ist dieser Typ "System.IO.FileAttributes" mit attribut "FlagsAttribute".
4.2.6.4 Normal-Expression-Option Typ
Dieser implementierungsdefinierte Typ verfügt über die folgenden barrierefreien Member, die kombiniert werden können:
| Mitglied | Mitglied kind | Zweck |
|---|---|---|
| Ignorieren Sie den Fall | Enumerationskonstante | Gibt an, dass bei dem Abgleich die Groß-/Kleinschreibung nicht beachtet wird. |
| Nichts | Enumerationskonstante | Gibt an, dass keine Optionen festgelegt sind. |
Eine Implementierung kann andere Werte bereitstellen.
In PowerShell ist System.Text.RegularExpressions.RegexOptions dieser Typ mit Attribut FlagsAttribute. Die folgenden zusätzlichen Werte sind definiert: Compiled, , CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, . RightToLeftSingleline
4.3 Referenztypen
4.3.1 Zeichenfolgen
Ein Zeichenfolgenwert hat Typzeichenfolge und ist eine unveränderliche Abfolge von Null oder mehr Zeichen vom Typ char, die jeweils einen UTF-16-codierten 16-Bit-Unicode-Codepunkt enthalten.
Typzeichenfolge hat die folgenden elemente, auf die zugegriffen werden kann:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Länge | Instance-Eigenschaft | int (schreibgeschützt) | Ruft die Anzahl der Zeichen in der Zeichenfolge ab. |
| ToLower | Instance-Methode | Schnur | Erstellt eine neue Zeichenfolge, die das Äquivalent in Kleinbuchstaben enthält. |
| ToUpper | Instance-Methode | Schnur | Erstellt eine neue Zeichenfolge, die die Großbuchstabenentsprechung enthält. |
In PowerShell string ordnet die Zuordnung zu System.String.
4.3.2 Arrays
Alle Arraytypen werden vom Typ arrayabgeleitet. Dieser Typ verfügt über die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Länge | Instance-Eigenschaft (schreibgeschützt) | INT | Anzahl der Elemente im Array |
| Rang | Instance-Eigenschaft (schreibgeschützt) | INT | Anzahl der Dimensionen im Array |
| Kopieren | Static-Methode | void/see Purpose column | Kopiert einen Bereich von Elementen aus einem Array in ein anderes. Es gibt vier Versionen, wobei die Quelle das Quellarray ist, ziel das Zielarray ist, die Anzahl der zu kopierenden Elemente ist, und sourceIndex und destinationIndex sind die Anfangsspeicherorte in ihren jeweiligen Arrays: Copy(source, destination, int count) |
| GetLength | Instance-Methode (schreibgeschützt) | int/none | Anzahl der Elemente in einer bestimmten Dimension GetLength(int dimension) |
Weitere Informationen zu Arrays finden Sie unter §9.
In PowerShell array ordnet die Zuordnung zu System.Array.
4.3.3 Hashtables
Typhashtable verfügt über die folgenden barrierefreien Elemente:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Anzahl | Instance-Eigenschaft | INT | Ruft die Anzahl der Schlüssel-Wert-Paare in der Hashtable ab. |
| Schlüssel | Instance-Eigenschaft | Implementierungsdefiniert | Ruft eine Auflistung aller Schlüssel ab. |
| Werte | Instance-Eigenschaft | Implementierungsdefiniert | Ruft eine Auflistung aller Werte ab. |
| Entfernen | Instance-Methode | void/none | Entfernt den angegebenen Schlüssel/Wert. |
Weitere Informationen zu Hashtables finden Sie unter §10.
In PowerShell Hashtable ordnet die Zuordnung zu System.Collections.Hashtable.
Hashtable Elemente werden in einem Objekt vom Typ DictionaryEntrygespeichert, und die auflistungen, die von Keys und Values zurückgegeben werden, weisen Typ ICollectionauf.
4.3.4 Der XML-Typ
Typ-XML implementiert das W3C Document Object Model (DOM) Level 1 Core und die Core DOM Level 2. Das DOM ist eine Cachestrukturdarstellung eines XML-Dokuments und ermöglicht die Navigation und Bearbeitung dieses Dokuments. Dieser Typ unterstützt den tiefgestellten Operator [] (§7.1.4.4).
In PowerShell xml ordnet die Zuordnung zu System.Xml.XmlDocument.
4.3.5 Der regex-Typ
Der Typ regex stellt Maschinen zur Unterstützung der Verarbeitung regulärer Ausdrücke bereit. Sie wird verwendet, um den Typ eines Parameters (§5.3) einzuschränken, dessen entsprechendes Argument einen regulären Ausdruck enthalten kann.
In PowerShell regex ordnet die Zuordnung zu System.Text.RegularExpressions.Regex.
4.3.6 Der Bezugstyp
Normalerweise werden Argumente nach Wert an Befehle übergeben. Im Fall eines Arguments, das einen Werttyp aufweist, wird eine Kopie des Werts übergeben. Im Fall eines Arguments, das einen Verweistyp aufweist, wird eine Kopie des Verweises übergeben.
Typreferenz stellt Maschinen bereit, damit Argumente nach Verweis an Befehle übergeben werden können, sodass die Befehle den Wert des Arguments ändern können. Typ ref hat die folgenden barrierefreien Member:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Wert | Instanzeigenschaft (Lese-/Schreibzugriff) | Der Typ des Werts, auf den verwiesen wird. | Ruft ab/legt den Wert fest, auf den verwiesen wird. |
Betrachten Sie die folgende Funktionsdefinition und den folgenden Aufruf:
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
Berücksichtigen Sie den Fall, in dem $number typgeschränkt ist:
[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
Wie gezeigt, müssen sowohl das Argument als auch der entsprechende Parameter deklariert refwerden.
In PowerShell ref ordnet die Zuordnung zu System.Management.Automation.PSReference.
4.3.7 Der Scriptblock-Typ
Der Typ scriptblock stellt einen vorkompilierten Skripttextblock (§7.1.8) dar, der als einzelne Einheit verwendet werden kann. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Attribute | Instanzeigenschaft (schreibgeschützt) | Sammlung von Attributen | Ruft die Attribute des Skriptblocks ab. |
| Datei | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen der Datei ab, in der der Skriptblock definiert ist. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert ([§4.5.12][§4.5.12]) | Ruft Informationen zum Modul ab, in dem der Skriptblock definiert ist. |
| GetNewClosure | Instanzmethode | Skriptblock /nichts |
Ruft einen Skriptblock ab, der an ein Modul gebunden ist. Alle lokalen Variablen, die sich im Kontext des Aufrufers befinden, werden in das Modul kopiert. |
| Aufrufen | Instanzmethode | Auflistung des Objekts/Objekts[] | Ruft den Skriptblock mit den angegebenen Argumenten auf und gibt die Ergebnisse zurück. |
| InvokeReturnAsIs | Instanzmethode | object/object[] | Ruft den Skriptblock mit den angegebenen Argumenten auf und gibt alle generierten Objekte zurück. |
| Erstellen | Static-Methode | Skriptblock /Schnur |
Erstellt ein neues scriptblock -Objekt, das das angegebene Skript enthält. |
In PowerShell scriptblock ordnet die Zuordnung zu System.Management.Automation.ScriptBlock.
Invoke gibt eine Auflistung von PSObject.
4.3.8 Der mathematische Typ
Der Typ math bietet Zugriff auf einige Konstanten und Methoden, die bei mathematischen Berechnungen nützlich sind. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| E | Statische Eigenschaft (schreibgeschützt) | doppelt | Natürliche logarithmische Basis |
| PI | Statische Eigenschaft (schreibgeschützt) | doppelt | Verhältnis des Umfangs eines Kreises zu seinem Durchmesser |
| Bauchmuskeln | Static-Methode | numerisch/numerisch | Absoluter Wert (der Rückgabetyp entspricht dem Typ des übergebenen Arguments) |
| Acos | Static-Methode | double / double | Winkel, dessen Kosinus die angegebene Zahl ist |
| Asin | Static-Methode | double / double | Winkel, dessen Sinus die angegebene Zahl ist |
| Atan | Static-Methode | double / double | Winkel, dessen Tangens die angegebene Zahl ist |
| Atan2 | Static-Methode | double / double y, double x | Winkel, dessen Tangens der Quotient von zwei angegebenen Zahlen x und y ist |
| Decke | Static-Methode | Dezimal/Dezimalzahl double / double |
kleinste ganze Zahl größer oder gleich der angegebenen Zahl |
| Cos | Static-Methode | double / double | Kosinus des angegebenen Winkels |
| Schlagstock | Static-Methode | double / double | Hyperbolischer Kosinus des angegebenen Winkels |
| Exp | Static-Methode | double / double | e wird an die angegebene Potenz ausgelöst |
| Etage | Static-Methode | Dezimal/Dezimalzahl double / double |
Größte ganze Zahl kleiner oder gleich der angegebenen Zahl |
| Protokoll | Static-Methode | Double / Double Number double / double number, double base |
Logarithmus der Zahl mit Basis e oder Basisbasis |
| Log10 | Static-Methode | double / double | Logarithmus der Basis 10 einer angegebenen Zahl |
| Max. | Static-Methode | numerisch/numerisch | Größer als zwei angegebene Zahlen (der Rückgabetyp entspricht dem Typ der übergebenen Argumente) |
| Min | Static-Methode | numerisch/numerisch, numerisch | Kleiner von zwei angegebenen Zahlen (der Rückgabetyp entspricht dem Typ der übergebenen Argumente) |
| Peng | Static-Methode | double / double x, double y | Eine angegebene Zahl x, die in die angegebene Potenz y ausgelöst wird |
| Sünde | Static-Methode | double / double | Sinus des angegebenen Winkels |
| Sinh | Static-Methode | double / double | Hyperbolischer Sinus des angegebenen Winkels |
| Sqrt | Static-Methode | double / double | Quadratwurzel einer angegebenen Zahl |
| Bräune | Static-Methode | double / double | Tangens des angegebenen Winkels |
| Tanh | Static-Methode | double / double | Hyperbolischer Tangens des angegebenen Winkels |
In PowerShell Math ordnet die Zuordnung zu System.Math.
4.3.9 Der sortierte Typ
Typ ordered ist ein Pseudotyp, der nur für Konvertierungen verwendet wird.
4.3.10 Der Pscustomobject-Typ
Typ pscustomobject ist ein Pseudotyp, der nur für Konvertierungen verwendet wird.
4.4 Generische Typen
Eine Reihe von Programmiersprachen und Umgebungen bieten Typen, die spezialisiert werden können. Viele dieser Typen werden als Containertypen bezeichnet, da Instanzen davon Objekte eines anderen Typs enthalten können. Erwägen Sie einen Typ namens "Stack", der einen Stapel von Werten darstellen kann, der gedrückt und abgehängt werden kann. Normalerweise möchte der Benutzer eines Stapels nur eine Art von Objekt auf diesem Stapel speichern. Wenn die Sprache oder Umgebung jedoch keine Typspezialisierung unterstützt, müssen mehrere unterschiedliche Varianten des Typstapels implementiert werden, auch wenn sie alle dieselbe Aufgabe ausführen, nur mit unterschiedlichen Typelementen.
Die Typspezialisierung ermöglicht die Implementierung eines generischen Typs , sodass er auf die Behandlung einiger Teilmengen von Typen beschränkt werden kann, wenn er verwendet wird. Beispiel:
- Ein generischer Stapeltyp, der auf die Aufbewahrung von Zeichenfolgen spezialisiert ist, kann als
Stack[string]geschrieben werden. - Ein generischer Wörterbuchtyp, der auf int-Schlüssel mit zugeordneten Zeichenfolgenwerten spezialisiert ist, kann als
Dictionary[int,string]geschrieben werden. - Ein Stapel von Zeichenfolgen kann als
Stack[Stack[string]].
Obwohl PowerShell keine integrierten generischen Typen definiert, kann sie solche Typen verwenden, wenn sie von der Hostumgebung bereitgestellt werden. Siehe die Syntax in §7.1.10.
Der vollständige Name für den oben vorgeschlagenen Typ Stack[string] ist System.Collections.Generic.Stack[string]. Der vollständige Name für den oben vorgeschlagenen Typ Dictionary[int,string] ist System.Collections.Generic.Dictionary[int,string].
4.5 Anonyme Typen
Unter bestimmten Umständen erstellt eine Implementierung von PowerShell Objekte eines bestimmten Typs, und diese Objekte verfügen über Elemente, auf die skripts zugegriffen werden kann. Der tatsächliche Name dieser Typen muss jedoch nicht angegeben werden, solange die barrierefreien Member ausreichend angegeben sind, damit sie verwendet werden können. Das heißt, Skripts können Objekte dieser Typen speichern und auf ihre Member zugreifen, ohne tatsächlich die Namen dieser Typen zu kennen. In den folgenden Unterabschnitten werden diese Typen angegeben.
4.5.1 Anbieterbeschreibungstyp
Dieser Typ kapselt den Status eines Anbieters. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Antriebe | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.2) | Eine Auflistung von Laufwerkbeschreibungsobjekten |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Anbieters |
In PowerShell ist System.Management.Automation.ProviderInfodieser Typ .
4.5.2 Laufwerkbeschreibungstyp
Dieser Typ kapselt den Zustand eines Laufwerks. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| CurrentLocation | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Der aktuelle Arbeitsort (§3.1.4) des Laufwerks |
| BESCHREIBUNG | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Beschreibung des Laufwerks |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Laufwerks |
| Wurzel | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Laufwerks |
In PowerShell ist System.Management.Automation.PSDriveInfodieser Typ .
4.5.3 Typ der Variablenbeschreibung
Dieser Typ kapselt den Zustand einer Variablen. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Attribute | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Eine Sammlung von Attributen |
| BESCHREIBUNG | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Der Variablen über die Cmdlets New-Variable oder Set-Variable zugewiesene Beschreibung. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, aus dem diese Variable exportiert wurde |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Das Modul, in dem diese Variable definiert wurde |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name, der der Variablen zugewiesen wurde, als sie in der PowerShell-Sprache oder über die New-Variable Und-Cmdlets Set-Variable erstellt wurde. |
| Optionen | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Optionen, die der Variablen über die New-Variable Und-Cmdlets Set-Variable zugewiesen sind. |
| Wert | Instanzeigenschaft (Lese-/Schreibzugriff) | Objekt | Der Wert, der der Variablen zugewiesen wurde, als sie in der PowerShell-Sprache oder über die New-Variable Und-Cmdlets Set-Variable zugewiesen wurde. |
In PowerShell ist System.Management.Automation.PSVariabledieser Typ .
Windows PowerShell: Der Typ der Attributauflistung ist System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Aliasbeschreibungstyp
Dieser Typ kapselt den Status eines Alias. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Befehlstyp | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Sollte gleich "Alias" sein. |
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Befehl oder Alias, dem der Alias über die Cmdlets "New-Alias " oder "Set-Alias " zugewiesen wurde. |
| BESCHREIBUNG | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die dem Alias über die New-Alias Cmdlets Set-Alias zugewiesene Beschreibung. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, aus dem dieser Alias exportiert wurde |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Das Modul, in dem dieser Alias definiert wurde |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name, der dem Alias zugewiesen wurde, als er über die New-Alias Cmdlets Set-Alias erstellt wurde. |
| Optionen | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die dem Alias zugewiesenen Optionen über die New-Alias New-Alias oder Set-Alias Cmdlets. |
| OutputType | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Typen der Werteausgabe durch den Befehl an, auf den der Alias verweist. |
| Die Parameter | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Die Parameter des Befehls. |
| ParameterSets | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Informationen zu den Parametersätzen, die dem Befehl zugeordnet sind. |
| ReferencedCommand | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Informationen zu dem Befehl, auf den sofort von diesem Alias verwiesen wird. |
| ResolvedCommand | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Informationen zum Befehl, in den der Alias schließlich aufgelöst wird. |
In PowerShell ist System.Management.Automation.AliasInfodieser Typ .
4.5.5 Beschreibungstyp des Arbeitsstandorts
Dieser Typ kapselt den Zustand eines Arbeitsstandorts. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Antrieb | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.2) | Ein Laufwerkbeschreibungsobjekt |
| Pfad | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Arbeitsort |
| Anbieter | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.1) | Der Anbieter |
| ProviderPath | Instanzeigenschaft (schreibgeschützt) | Schnur | Der aktuelle Pfad des Anbieters |
Ein Stapel von Arbeitsorten ist eine Sammlung von Arbeitsstandortobjekten, wie oben beschrieben.
In PowerShell wird ein aktueller Arbeitsort durch ein Objekt vom Typ System.Management.Automation.PathInfodargestellt. Ein Stapel von Arbeitsorten wird durch ein Objekt vom Typ System.Management.Automation.PathInfoStackdargestellt, bei dem es sich um eine Auflistung von PathInfo Objekten handelt.
Beschreibungstyp der Umgebungsvariablen 4.5.6
Dieser Typ kapselt den Zustand einer Umgebungsvariable. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Name | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Der Name der Umgebungsvariable |
| Wert | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Der Wert der Umgebungsvariable |
In PowerShell ist System.Collections.DictionaryEntrydieser Typ . Der Name der Variablen ist der Wörterbuchschlüssel. Der Wert der Umgebungsvariable ist der Wörterbuchwert.
Der Name entspricht AliasPropertydem Schlüssel.
4.5.7 Anwendungsbeschreibungstyp
Dieser Typ kapselt den Zustand einer Anwendung. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Befehlstyp | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Sollte gleich "Anwendung" sein. |
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Eine Beschreibung der Anwendung. |
| Erweiterung | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Erweiterung der Anwendungsdatei. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, das diesen Befehl definiert. |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Moduls, das den Befehl definiert. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Befehls. |
| OutputType | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Typen der Werteausgabe durch den Befehl an. |
| Die Parameter | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Die Parameter des Befehls. |
| ParameterSets | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Informationen zu den Parametersätzen, die dem Befehl zugeordnet sind. |
| Pfad | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Pfad der Anwendungsdatei ab. |
In PowerShell ist System.Management.Automation.ApplicationInfodieser Typ .
4.5.8 Cmdlet-Beschreibungstyp
Dieser Typ kapselt den Status eines Cmdlets. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Befehlstyp | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Sollte gleich "Cmdlet" sein. |
| DefaultParameterSet | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Der Standardparametersatz, der verwendet wird, wenn PowerShell nicht bestimmen kann, welcher Parameter basierend auf den angegebenen Argumenten verwendet werden soll. |
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Eine Beschreibung des Cmdlets. |
| HelpFile | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Der Pfad zur Hilfedatei für das Cmdlet. |
| ImplementingType | Instanzeigenschaft (Lese-/Schreibzugriff) | Durch die Implementierung definiert | Der Typ, der das Cmdlet implementiert. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, das dieses Cmdlet definiert. |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Moduls, das das Cmdlet definiert. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Cmdlets. |
| Nomen | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Nomenname des Cmdlets. |
| OutputType | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Typen der Vom Cmdlet ausgegebenen Werte an. |
| Die Parameter | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Die Parameter des Cmdlets. |
| ParameterSets | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Informationen zu den Parametersätzen, die dem Cmdlet zugeordnet sind. |
| Verb | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Verbname des Cmdlets. |
| PSSnapIn | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Windows PowerShell: Informationen zum Windows PowerShell-Snap-In, das zum Registrieren des Cmdlets verwendet wird. |
In PowerShell ist System.Management.Automation.CmdletInfodieser Typ .
4.5.9 Beschreibungstyp für externe Skripts
Dieser Typ kapselt den Zustand eines externen Skripts (eines, das direkt von PowerShell ausführbar ist, aber nicht integriert ist). Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Befehlstyp | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Sollte gleich "ExternalScript" sein. |
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Eine Definition des Skripts. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, das dieses Skript definiert. |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Moduls, das das Skript definiert. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Skripts. |
| OriginalEncoding | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Die ursprüngliche Codierung, die zum Konvertieren der Zeichen des Skripts in Byte verwendet wird. |
| OutputType | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Typen der Werteausgabe durch das Skript an. |
| Die Parameter | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Die Parameter des Skripts. |
| ParameterSets | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Informationen zu den Parametersätzen, die dem Skript zugeordnet sind. |
| Pfad | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Pfad zur Skriptdatei. |
| ScriptBlock | Instanzeigenschaft (schreibgeschützt) | Skriptblock | Das externe Skript. |
| ScriptContents | Instanzeigenschaft (schreibgeschützt) | Schnur | Der ursprüngliche Inhalt des Skripts. |
In PowerShell ist System.Management.Automation.ExternalScriptInfodieser Typ .
4.5.10 Funktionsbeschreibungstyp
Dieser Typ kapselt den Status einer Funktion. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| CmdletBinding | Instanzeigenschaft (schreibgeschützt) | Boolesch | Gibt an, ob die Funktion dieselbe Parameterbindung verwendet, die kompilierte Cmdlets verwenden (siehe §12.3.5). |
| Befehlstyp | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Kann für die Gleichheit mit "Function" oder "Filter" verglichen werden, um zu sehen, welche dieser Objekte darstellt. |
| DefaultParameterSet | Instanzeigenschaft (schreibgeschützt) | Schnur | Gibt den Parameter an, der verwendet werden soll, wenn er nicht anhand der Argumente bestimmt werden kann (siehe §12.3.5). |
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Eine Zeichenfolgenversion von ScriptBlock |
| BESCHREIBUNG | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Beschreibung der Funktion. |
| Modul | Instanzeigenschaft (schreibgeschützt) | Implementierung definiert (§4.5.12) | Das Modul, aus dem diese Funktion exportiert wurde |
| ModuleName | Instanzeigenschaft (schreibgeschützt) | Schnur | Das Modul, in dem diese Funktion definiert wurde |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name der Funktion. |
| Optionen | Instanzeigenschaft (Lese-/Schreibzugriff) | Durch die Implementierung definiert | Die Bereichsoptionen für die Funktion (§3.5.4). |
| OutputType | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Typen der Werteausgabe in der Reihenfolge an (siehe §12.3.6). |
| Die Parameter | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Gibt die Parameternamen in der Reihenfolge an. Wenn die Funktion wie ein Cmdlet fungiert (siehe CmdletBinding oben), werden die allgemeinen Parameter am Ende der Auflistung eingeschlossen. |
| ParameterSets | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Informationen zu den Parametersätzen, die dem Befehl zugeordnet sind. Für jeden Parameter zeigt das Ergebnis den Parameternamen und -typ an und gibt an, ob der Parameter obligatorisch ist, nach Position oder einem Schalterparameter. Wenn die Funktion wie ein Cmdlet fungiert (siehe CmdletBinding oben), werden die allgemeinen Parameter am Ende der Auflistung eingeschlossen. |
| ScriptBlock | Instanzeigenschaft (schreibgeschützt) | scriptblock (§4.3.6) | Der Textkörper der Funktion |
In PowerShell ist System.Management.Automation.FunctionInfodieser Typ .
-
CommandTypehat TypSystem.Management.Automation.CommandTypes. -
Optionshat TypSystem.Management.Automation.ScopedItemOptions. -
OutputTypehat TypSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parametershat TypSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetshat TypSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]. - Sichtbarkeit hat Typ
System.Management.Automation.SessionStateEntryVisibility. - PowerShell verfügt auch über eine Eigenschaft namens Visibility.
4.5.11 Filterbeschreibungstyp
Dieser Typ kapselt den Status eines Filters. Sie verfügt über den gleichen Satz barrierefreier Member wie der Funktionsbeschreibungstyp (§4.5.10).
In PowerShell ist System.Management.Automation.FilterInfodieser Typ . Sie hat denselben Satz von Eigenschaften wie System.Management.Automation.FunctionInfo (§4.5.11).
4.5.12 Modulbeschreibungstyp
Dieser Typ kapselt den Status eines Moduls. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| BESCHREIBUNG | Instanzeigenschaft (Lese-/Schreibzugriff) | Schnur | Die Beschreibung des Moduls (durch das Manifest festgelegt) |
| ModuleType | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Der Typ des Moduls (Manifest, Skript oder Binärdatei) |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Der Name des Moduls |
| Pfad | Instanzeigenschaft (schreibgeschützt) | Schnur | Pfad des Moduls |
In PowerShell ist System.Management.Automation.PSModuleInfodieser Typ . Der Typ von ModuleType ist System.Management.Automation.ModuleType.
4.5.13 Benutzerdefinierter Objektbeschreibungstyp
Dieser Typ kapselt den Status eines benutzerdefinierten Objekts. Sie hat keine barrierefreien Mitglieder.
In PowerShell ist System.Management.Automation.PSCustomObjectdieser Typ . Die Cmdlets und New-Object können ein Objekt dieses Typs Import-Module generieren.
4.5.14 Befehlsbeschreibungstyp
Die automatische Variable $PSCmdlet ist ein Objekt, das das auszuführende Cmdlet oder die Auszuführende Funktion darstellt. Der Typ dieses Objekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| ParameterSetName | Instanzeigenschaft (schreibgeschützt) | Schnur | Name des aktuellen Parametersatzes (siehe ParameterSetName) |
| SollteWeiter | Instanzmethode | Überlastet /Bool |
Fordert eine Bestätigung eines Vorgangs vom Benutzer an. |
| SollteProzess | Instanzmethode | Überlastet /Bool |
Fordert eine Bestätigung des Benutzers an, bevor ein Vorgang ausgeführt wird. |
In PowerShell ist dieser Typ "System.Management.Automation.PSScriptCmdlet".
4.5.15 Fehlerdatensatzbeschreibungstyp
Die automatische Variable $Error enthält eine Auflistung von Fehlerdatensätzen, die aktuelle Fehler darstellen (§3.12). Obwohl der Typ dieser Auflistung nicht angegeben ist, wird das Tiefstellen unterstützt, um Zugriff auf einzelne Fehlerdatensätze zu erhalten.
In PowerShell lautet System.Collections.ArrayListder Sammlungstyp . Der Typ eines einzelnen Fehlerdatensatzes in der Auflistung lautet System.Management.Automation.ErrorRecord. Dieser Typ hat die folgenden öffentlichen Eigenschaften:
- CategoryInfo – Ruft Informationen zur Kategorie des Fehlers ab.
- ErrorDetails – Ruft detailliertere Fehlerinformationen ab und legt diese fest, z. B. eine Ersetzungsfehlermeldung.
- Exception – Ruft die Ausnahme ab, die diesem Fehlerdatensatz zugeordnet ist.
- FullyQualifiedErrorId – Ruft den vollqualifizierten Fehlerbezeichner für diesen Fehlerdatensatz ab.
- InvocationInfo – Ruft Informationen zum Befehl ab, der beim Auftreten des Fehlers aufgerufen wurde.
- PipelineIterationInfo – Ruft den Status der Pipeline ab, wenn dieser Fehlerdatensatz erstellt wurde.
- TargetObject – Ruft das Objekt ab, das beim Auftreten des Fehlers verarbeitet wurde.
4.5.16 Enumerator-Beschreibungstyp
Eine Reihe von Variablen sind Enumerationen für Sammlungen (§4). Die automatische Variable $foreach ist der Enumerator, der für jede Anweisung foreach erstellt wird. Die automatische Variable $input ist der Enumerator für eine Sammlung, die von der Pipeline an eine Funktion übermittelt wird. Die automatische Variable $switch ist der Enumerator, der für jede Anweisung switch erstellt wird.
Der Typ eines Enumerators wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Aktuell | Instanzeigenschaft (schreibgeschützt) | Objekt | Ruft das aktuelle Element in der Auflistung ab. Wenn der Enumerator derzeit nicht an einem Element der Auflistung positioniert ist, wird das Verhalten definiert. |
| MoveNext | Instanzmethode | Keine/Bool | Wechselt den Enumerator zum nächsten Element der Auflistung. Gibt $true zurück, wenn der Enumerator erfolgreich zum nächsten Element erweitert wurde; $false, wenn der Enumerator das Ende der Auflistung übergeben hat. |
In PowerShell werden diese Member in der Schnittstelle System.IEnumeratordefiniert, die von den unten angegebenen Typen implementiert wird. Wenn der Enumerator derzeit nicht an einem Element der Auflistung positioniert ist, wird eine Ausnahme vom Typ InvalidOperationException ausgelöst. Für $foreachdiesen Typ ist System.Array+SZArrayEnumeratordieser Typ . Für $inputdiesen Typ ist System.Collections.ArrayList+ArrayListEnumeratorSimpledieser Typ . Für $switchdiesen Typ ist System.Array+SZArrayEnumeratordieser Typ .
4.5.17 Verzeichnisbeschreibungstyp
Das Cmdlet "New-Item " kann Elemente verschiedener Arten erstellen, darunter FileSystem-Verzeichnisse. Der Typ eines Verzeichnisbeschreibungsobjekts ist implementierungsdefiniert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Attribute | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.2.6.3) | Dient zum Abrufen oder Festlegen eines oder mehrerer Attribute des Verzeichnisobjekts. |
| Erstellungszeit | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.5.19) | Ruft die Erstellungszeit des Verzeichnisobjekts ab und legt sie fest. |
| Erweiterung | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Erweiterungsteil des Verzeichnisnamens ab. |
| Vollständiger Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den vollständigen Pfad des Verzeichnisses ab. |
| Letzte Schreibzeit | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.5.19) | Ruft die Uhrzeit ab, zu der das Verzeichnis zuletzt geschrieben wurde, und legt sie fest. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen des Verzeichnisses ab. |
In PowerShell ist System.IO.DirectoryInfodieser Typ . Der Typ der Attributes-Eigenschaft lautet System.IO.FileAttributes.
4.5.18 Dateibeschreibungstyp
Das Cmdlet New-Item kann Elemente verschiedener Arten erstellen, einschließlich FileSystem-Dateien. Der Typ eines Dateibeschreibungsobjekts ist implementierungsdefiniert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Attribute | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.2.6.3) | Dient zum Abrufen oder Festlegen eines oder mehrerer Attribute des Dateiobjekts. |
| Basename | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen der Datei mit Ausnahme der Erweiterung ab. |
| Erstellungszeit | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.5.19) | Ruft die Erstellungszeit des Dateiobjekts ab und legt sie fest. |
| Erweiterung | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Erweiterungsteil des Dateinamens ab. |
| Vollständiger Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den vollständigen Pfad der Datei ab. |
| Letzte Schreibzeit | Instanzeigenschaft (Lese-/Schreibzugriff) | Implementierung definiert (§4.5.19) | Ruft die Uhrzeit ab, zu der die Datei zuletzt geschrieben wurde, und legt sie fest. |
| Länge | Instanzeigenschaft (schreibgeschützt) | long | Ruft die Größe der Datei in Byte ab. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen der Datei ab. |
| Versionsinformation | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Windows PowerShell: This ScriptProperty returns a System.Diagnostics.FileVersionInfo for the file. |
In PowerShell ist System.IO.FileInfodieser Typ .
4.5.19 Date-Time Beschreibungstyp
Der Typ eines Datum-Uhrzeit-Beschreibungsobjekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Tag | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Tageskomponente des Monats ab, der durch diese Instanz dargestellt wird. |
| Stunde | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Stundenkomponente des durch diese Instanz dargestellten Datums ab. |
| Minute | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Minutenkomponente des durch diese Instanz dargestellten Datums ab. |
| Monat | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Monatskomponente des durch diese Instanz dargestellten Datums ab. |
| Sekunde | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Sekundenkomponente des Durch diese Instanz dargestellten Datums ab. |
| Jahr | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Jahreskomponente des Durch diese Instanz dargestellten Datums ab. |
Ein Objekt dieses Typs kann mit dem Cmdlet Get-Date erstellt werden.
In PowerShell ist System.DateTimedieser Typ .
4.5.20 Group-Info Beschreibungstyp
Der Typ eines Gruppeninformationsbeschreibungsobjekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Anzahl | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Anzahl der Elemente in der Gruppe ab. |
| Gruppe | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Ruft die Elemente der Gruppe ab. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen der Gruppe ab. |
| Werte | Instanzeigenschaft (schreibgeschützt) | Implementierungsdefinierte Sammlung | Ruft die Werte der Elemente der Gruppe ab. |
Ein Objekt dieses Typs kann mit dem Cmdlet Group-Object erstellt werden.
In PowerShell ist Microsoft.PowerShell.Commands.GroupInfodieser Typ .
4.5.21 GenerischerMeasure-Info Beschreibungstyp
Der Typ eines generischen Measure-Info-Beschreibungsobjekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Durchschnitt | Instanzeigenschaft (schreibgeschützt) | doppelt | Ruft den Mittelwert der Werte der gemessenen Eigenschaften ab. |
| Anzahl | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Anzahl der Objekte mit den angegebenen Eigenschaften ab. |
| Höchstwert | Instanzeigenschaft (schreibgeschützt) | doppelt | Ruft den Maximalwert der angegebenen Eigenschaften ab. |
| Mindestwert | Instanzeigenschaft (schreibgeschützt) | doppelt | Ruft den Minimalwert der angegebenen Eigenschaften ab. |
| Eigentum | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft die zu messende Eigenschaft ab. |
| Summe | Instanzeigenschaft (schreibgeschützt) | doppelt | Ruft die Summe der Werte der angegebenen Eigenschaften ab. |
Ein Objekt dieses Typs kann vom Cmdlet Measure-Object erstellt werden.
In PowerShell ist Microsoft.PowerShell.Commands.GenericMeasureInfodieser Typ .
4.5.22 Text-Measure-Info Beschreibungstyp
Der Typ eines Textinformationsbeschreibungsobjekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Zeichen | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Anzahl der Zeichen im Zielobjekt ab. |
| Linien | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Anzahl der Zeilen im Zielobjekt ab. |
| Eigentum | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft die zu messende Eigenschaft ab. |
| Wörter | Instanzeigenschaft (schreibgeschützt) | INT | Ruft die Anzahl der Wörter im Zielobjekt ab. |
Ein Objekt dieses Typs kann mit dem Cmdlet Measure-Objecterstellt werden.
In PowerShell ist Microsoft.PowerShell.Commands.TextMeasureInfodieser Typ .
4.5.23 Anmeldeinformationstyp
Ein Anmeldeinformationsobjekt kann dann in verschiedenen Sicherheitsvorgängen verwendet werden. Der Typ eines Anmeldeinformationsobjekts wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Passwort | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Ruft das Kennwort ab. |
| Nutzername | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Benutzernamen ab. |
Ein Objekt dieses Typs kann mit dem Cmdlet Get-Credential erstellt werden.
In PowerShell ist System.Management.Automation.PSCredentialdieser Typ .
4.5.24 Methodenentwurfstyp
Der Typ eines Methodenentwurfsgebers wird definiert; sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Aufrufen | Instanzmethode | Objekt/Variable Zahl und Typ | Verwendet eine variable Anzahl von Argumenten und ruft indirekt die Methode auf, auf die vom übergeordneten Methodenentwurfator verwiesen wird, und übergibt die Argumente. |
Ein Objekt dieses Typs kann durch einen Aufrufausdruck (§7.1.3) erstellt werden.
In PowerShell ist dieser Typ "System.Management.Automation.PSMethod".
4.5.25 Memberdefinitionstyp
Dieser Typ kapselt die Definition eines Elements. Sie verfügt über die folgenden barrierefreien Mitglieder:
| Mitglied | Mitglied kind | Typ | Zweck |
|---|---|---|---|
| Definition | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft die Definition des Elements ab. |
| MemberType | Instanzeigenschaft (schreibgeschützt) | Durch die Implementierung definiert | Ruft den PowerShell-Typ des Elements ab. |
| Name | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Namen des Elements ab. |
| Typname | Instanzeigenschaft (schreibgeschützt) | Schnur | Ruft den Typnamen des Elements ab. |
In PowerShell ist Microsoft.PowerShell.Commands.MemberDefinitiondieser Typ .
4.6 Typerweiterung und Anpassung
Eine PowerShell-Implementierung enthält eine Familie von Kerntypen (die in diesem Kapitel dokumentiert sind), die jeweils ihre eigenen Basismember enthalten. Diese Member können Methoden oder Eigenschaften sein, und sie können Instanz oder statische Member sein. Beispielsweise sind die Basismber der Typzeichenfolge (§4.3.1) die Instanzeigenschaft Length und die Instanzmethoden ToLower und ToUpper.
Wenn ein Objekt erstellt wird, enthält es alle Instanzeigenschaften des Typs dieses Objekts, und die Instanzmethoden dieses Typs können für dieses Objekt aufgerufen werden. Ein Objekt kann über das Hinzufügen von Instanzmitgliedern zur Laufzeit angepasst werden. Das Ergebnis wird als benutzerdefiniertes Objekt bezeichnet. Alle Mitglieder, die einer Instanz hinzugefügt wurden, sind nur für die Lebensdauer dieser Instanz vorhanden; andere Instanzen desselben Kerntyps sind davon nicht betroffen.
Der Basismembersatz eines Typs kann durch das Hinzufügen der folgenden Arten von Membern erweitert werden:
- angepasste Mitglieder, über das Extended Type System (ETS), die meisten Details, die nicht angegeben sind.
- erweiterte Mitglieder über das Cmdlet "Add-Member".
In PowerShell können erweiterte Mitglieder auch über types.ps1xml Dateien hinzugefügt werden. Angepasste und erweiterte Mitglieder werden gemeinsam als synthetischeMitglieder bezeichnet.
Das ETS fügt alle PowerShell-Objekte die folgenden Member hinzu: psbase, psadapted, psextended und pstypenames. Weitere Informationen zu diesen Membern finden Sie in den Parametern "Force " und " View " im Cmdlet "Get-Member ".
Ein Instanzmitglied kann ein erweitertes und/oder angepasstes Mitglied desselben Namens ausblenden, und ein erweitertes Mitglied kann ein angepasstes Mitglied ausblenden. In solchen Fällen kann das Element "psadapted " und "psextended " verwendet werden, um auf diese ausgeblendeten Member zuzugreifen.
Wenn ein types.ps1xml Mitglied namens "Supports" angibt, obj.psextended bietet er nur Zugriff auf dieses Mitglied und nicht auf ein Mitglied, das über Add-Member"Supports" hinzugefügt wurde.
Es gibt drei Möglichkeiten, ein benutzerdefiniertes Objekt mit einem neuen Element M zu erstellen:
Dieser Ansatz kann verwendet werden, um ein oder mehrere NoteProperty-Elemente hinzuzufügen.
$x = New-Object PSObject -Property @{M = 123}Dieser Ansatz kann zum Hinzufügen von NoteProperty- oder ScriptMethod-Elementen verwendet werden.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}Dieser Ansatz kann verwendet werden, um eine beliebige Art von Mitglied hinzuzufügen.
$x = New-Object PSObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PSObject ist der Basistyp aller PowerShell-Typen.