4. Typen
In PowerShell heeft elke waarde een type en vallen typen in een van de twee hoofdcategorieën: waardetypen en verwijzingstypen. Kijk eens naar het type int, wat gebruikelijk is voor waardetypen. Een waarde van het type int staat volledig op zichzelf. Alle bits die nodig zijn om die waarde weer te geven, worden opgeslagen in die waarde en elk bitpatroon in die waarde vertegenwoordigt een geldige waarde voor het type. Kijk nu eens naar het matrixtype int[], wat gebruikelijk is voor verwijzingstypen. Een zogenaamde waarde van een matrixtype kan een verwijzing bevatten naar een object dat daadwerkelijk de matrixelementen bevat, of de null-verwijzing waarvan de waarde is $null. Het belangrijke onderscheid tussen de twee typecategorieën wordt het beste gedemonstreerd door de verschillen in hun semantiek tijdens de toewijzing. Bijvoorbeeld:
$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
Zoals we kunnen zien, omvat de toewijzing van een referentietypewaarde een kleine kopie; dat wil zeggen, een kopie van de verwijzing naar het object in plaats van de werkelijke waarde. Voor een deep copy moet daarentegen ook een kopie van het object worden gemaakt.
Een numeriek type is een type dat de weergave van gehele of fractionele waarden mogelijk maakt en die rekenkundige bewerkingen op deze waarden ondersteunt. De reeks numerieke typen bevat de typen geheel getal (4.2.3) en reëel getal (4.2.4), maar bevat geen bool (4.2.1) of char (4.2.2). Een implementatie kan andere numerieke typen bieden (zoals ondertekende byte, niet-ondertekend geheel getal en gehele getallen van andere grootten).
Een verzameling is een groep van een of meer gerelateerde items, die niet hetzelfde type hoeven te hebben. Voorbeelden van verzamelingstypen zijn matrices, stacks, wachtrijen, lijsten en hashtabellen. Een programma kan de elementen in een verzameling opsnoemen (of itereren), zodat elk element één voor één toegang krijgt. Veelvoorkomende manieren om dit te doen, zijn met de foreach-instructie (8.4.4) en de forEach-Object-cmdlet . Het type object dat een enumerator vertegenwoordigt, wordt beschreven in :4.5.16.
In dit hoofdstuk zijn er tabellen waarin de toegankelijke leden voor een bepaald type worden vermeld. Voor methoden wordt het Type geschreven met de volgende vorm: returnTypeargumentTypeList/. Als de lijst met argumenttype te lang is om in die kolom te passen, wordt deze weergegeven in de kolom Doel.
Andere typen gehele getallen zijn SByte, Int16, UInt16, UInt32en UInt64, allemaal in de naamruimte Systeem.
Veel verzamelingsklassen worden gedefinieerd als onderdeel van de naamruimten System.Collections of System.Collections.Generic . De meeste verzamelingsklassen implementeren de interfaces ICollection, IComparer, IEnumerable, IList, IDictionaryen IDictionaryEnumerator hun algemene equivalenten.
4.1 Speciale typen
4.1.1 Het type void
Dit type kan niet worden gemaakt. Het biedt een manier om een waarde expliciet te verwijderen met behulp van de cast-operator (7.2.9).
4.1.2 Het type null
Het type null heeft één exemplaar, de automatische variabele $null (2.3.2.2), ook wel bekend als de null-waarde. Deze waarde biedt een manier om 'niets' uit te drukken in referentiecontexten. De kenmerken van dit type zijn niet gespecificeerd.
4.1.3 Het objecttype
Elk type in PowerShell, met uitzondering van het type null (4.1.2), wordt direct of indirect afgeleid van het typeobject, dus object is het ultieme basistype van alle typen die niet null zijn. Een variabele die is beperkt (5.3) om het object te typen, is helemaal niet beperkt, omdat deze een waarde van elk type kan bevatten.
4.2 Waardetypen
4.2.1 Booleaanse
Het Booleaanse type is bool. Er zijn slechts twee waarden van dit type, False en True, die respectievelijk worden vertegenwoordigd $false $truedoor de automatische variabelen en ( 2.3.2.2).
Wijs in PowerShell bool toe aan System.Boolean.
4.2.2 Teken
Een tekenwaarde heeft een typeteken, waarmee elk UTF-16-gecodeerde 16-bits Unicode-codepunt kan worden opgeslagen.
Het type char heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | char | De grootst mogelijke waarde van het type char |
| MinValue | Statische eigenschap (alleen-lezen) | char | De kleinste mogelijke waarde van het type char |
| IsControl | Statische method | bool/char | Test of het teken een besturingselementteken is |
| IsDigit | Statische method | bool/char | Test of het teken een decimaal cijfer is |
| IsLetter | Statische method | bool/char | Test of het teken een alfabetische letter is |
| IsLetterOrDigit | Statische method | bool/char | Test of het teken een decimaal cijfer of alfabetische letter is |
| IsLower | Statische method | bool/char | Test of het teken een alfabetische letter in kleine letters is |
| IsPunctuation | Statische method | bool/char | Test of het teken een leesteken is |
| IsUpper | Statische method | bool/char | Test of het teken een alfabetische hoofdletter is |
| IsWhiteSpace | Statische method | bool/char | Test of het teken een witruimteteken is. |
| ToLower | Statische method | tekenreeks | Converteert het teken naar kleine letters |
| Toupper | Statische method | tekenreeks | Converteert het teken naar hoofdletters |
Windows PowerShell: char wordt toe te staan aan System.Char.
4.2.3 Geheel getal
Er zijn twee ondertekende typen gehele getallen, beide gebruiken de aanvullingsweergave van twee voor negatieve waarden:
- Typ
int, dat gebruikmaakt van 32 bits, zodat het een bereik van -2147483648 +2147483647, inclusief. - Typ
long, waarbij gebruik wordt gemaakt van 64 bits, wat een bereik van -9223372036854775808 tot +9223372036854775807, inclusief.
Type int heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | int | De grootst mogelijke waarde van het type int |
| MinValue | Statische eigenschap (alleen-lezen) | int | De kleinst mogelijke waarde van het type int |
Type long heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | long | De grootst mogelijke waarde van het type long |
| MinValue | Statische eigenschap (alleen-lezen) | long | De kleinst mogelijke waarde van het type long |
Er is één niet-ondertekend geheel getaltype:
- Typ
byte, waarbij gebruik wordt gemaakt van 8 bits, wat een bereik van 0 tot 255 geeft.
Type byte heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | Byte | De grootst mogelijke waarde van het type byte |
| MinValue | Statische eigenschap (alleen-lezen) | Byte | De kleinst mogelijke waarde van het type byte |
Wijs in PowerShell byte, inten long toe aan System.Byte``System.Int32respectievelijk , System.Int64en .
4.2.4 Reëel getal
4.2.4.1 float en dubbel
Er zijn twee echte typen (of zwevende-punttypen:
- Type
floatmaakt gebruik van de 32-bits IEEE-weergave met één precisie. - Type
doublemaakt gebruik van de 64-bits IEEE-weergave met dubbele precisie.
Een derde typenaam, single, is een synoniem voor type float; float wordt gebruikt in deze specificatie.
Hoewel de grootte en weergave van de typen en float double worden gedefinieerd door deze specificatie, kan een implementatie uitgebreide precisie gebruiken voor tussenliggende resultaten.
Type float heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | float | De grootst mogelijke waarde van het type float |
| MinValue | Statische eigenschap (alleen-lezen) | float | De kleinste mogelijke waarde van het type float |
| Geen getal | Statische eigenschap (alleen-lezen) | float | De constante waarde Not-a-Number |
| NegativeInfinity | Statische eigenschap (alleen-lezen) | float | De constante waarde negatief oneindig |
| PositiveInfinity | Statische eigenschap (alleen-lezen) | float | De constante waarde positief oneindig |
Type double heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | double | De grootst mogelijke waarde van het type double |
| MinValue | Statische eigenschap (alleen-lezen) | double | De kleinste mogelijke waarde van het type double |
| Geen getal | Statische eigenschap (alleen-lezen) | double | De constante waarde Not-a-Number |
| NegativeInfinity | Statische eigenschap (alleen-lezen) | double | De constante waarde negatief oneindig |
| PositiveInfinity | Statische eigenschap (alleen-lezen) | double | De constante waarde positief oneindig |
Wijs in PowerShell float respectievelijk double toe aan System.Single en System.Double.
4.2.4.2 decimaal
Type decimaal maakt gebruik van een 128-bits weergave. Het moet minimaal een schaal ondersteunen die 0 <= s <= ten minste 28 en een waardebereik -79228162514264337593543950335 tot 79228162514264337593543950335. De daadwerkelijke weergave van het decimaalteken is implementatie gedefinieerd.
Type decimaal heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| MaxValue | Statische eigenschap (alleen-lezen) | decimal | De grootst mogelijke waarde van het type decimaal |
| MinValue | Statische eigenschap (alleen-lezen) | decimal | De kleinste mogelijke waarde van het type decimaal |
Notitie
Decimale werkelijke getallen hebben een kenmerk met de naam schaal, dat het aantal cijfers rechts van het decimaalteken vertegenwoordigt. De waarde 2,340 heeft bijvoorbeeld een schaal van 3, waarbij de 3e nullen significant zijn. Wanneer twee decimale werkelijke getallen worden toegevoegd of afgetrokken, is de schaal van het resultaat de grootste van de twee schalen. 1.0 + 2.000 is bijvoorbeeld 3.000, terwijl 5.0 - 2.00 3.00 is. Wanneer twee decimale werkelijke getallen worden vermenigvuldigd, is de schaal van het resultaat de som van de twee schalen. 1,0 * 2,000 is bijvoorbeeld 2.0000. Wanneer twee decimale werkelijke getallen worden gedeeld, is de schaal van het resultaat de schaal van de eerste, minder dan de schaal van de tweede. 4.00000/2.000 is bijvoorbeeld 2.00. Een schaal mag echter niet kleiner zijn dan nodig is om het juiste resultaat te behouden. 3.000/2.000, 3.00/2.000, 3.0/2.000 en 3/2 zijn bijvoorbeeld allemaal 1,5.
Wijs in PowerShell decimal toe aan System.Decimal. De weergave van het decimaalteken is als volgt:
- Wanneer deze wordt beschouwd als een matrix van vier
intwaarden, bevat deze de volgende elementen:- Index 0 (bits 0-31) bevat 32 bits van de decimaalcoëfficiënt in lage volgorde.
- Index 1 (bits 32-63) bevat de middelste 32 bits van de decimaalcoëfficiënt.
- Index 2 (bits 64-95) bevat 32 bits van de decimaalcoëfficiënt in hoge volgorde.
- Index 3 (bits 96-127) bevat de tekenbit en schaal als volgt:
- bits 0-15 zijn nul
- bits 16-23 bevat de schaal als een waarde 0-28
- bits 24-30 zijn nul
- bit 31 is het teken (0 voor positief, 1 voor negatief)
4.2.5 Het switchtype
Dit type wordt gebruikt om het type van een parameter in een opdracht (8.10.5) te beperken. Als een argument met de bijbehorende parameternaam aanwezig is, worden de parametertests $true; anders wordt getest $false.
Wijs in PowerShell switch toe aan System.Management.Automation.SwitchParameter.
4.2.6 Enumeration types
Een enumeratietype is een type dat een set benoemde constanten definieert die alle mogelijke waarden vertegenwoordigt die kunnen worden toegewezen aan een object van dat type enumeratie. In sommige gevallen is de set waarden zodanig dat er slechts één waarde tegelijk kan worden weergegeven. In andere gevallen zijn de waardenset afzonderlijke machten van twee, en met behulp van de operator -bor (7.8.5) kunnen meerdere waarden in hetzelfde object worden gecodeerd.
De PowerShell-omgeving biedt een aantal typen enumeratie, zoals beschreven in de volgende secties.
4.2.6.1 Action-Preference type
Dit implementatie-gedefinieerde type heeft de volgende wederzijds uitsluitend toegankelijke leden:
| Lid | Soort lid | Doel |
|---|---|---|
| Doorgaan | Enumeratieconstante | De PowerShell-runtime blijft verwerken en stelt de gebruiker op de hoogte dat er een actie is uitgevoerd. |
| Informeren | Enumeratieconstante | De PowerShell-runtime stopt met verwerken en vraagt de gebruiker hoe deze moet doorgaan. |
| SilentlyContinue | Enumeratieconstante | De PowerShell-runtime blijft verwerken zonder de gebruiker te informeren dat er een actie is uitgevoerd. |
| Stoppen | Enumeratieconstante | De PowerShell-runtime stopt met verwerken wanneer er een actie plaatsvindt. |
In PowerShell is dit type System.Management.Automation.ActionPreference.
4.2.6.2 Confirm-Impact type
Dit implementatie-gedefinieerde type heeft de volgende wederzijds uitsluitend toegankelijke leden:
| Lid | Soort lid | Doel |
|---|---|---|
| Hoog | Enumeratieconstante | De uitgevoerde actie heeft een hoog risico op gegevensverlies, zoals het opnieuw opformatteer van een harde schijf. |
| Beperkt | Enumeratieconstante | De uitgevoerde actie heeft een laag risico op gegevensverlies. |
| Normaal | Enumeratieconstante | De uitgevoerde actie heeft een gemiddeld risico op gegevensverlies. |
| Geen | Enumeratieconstante | Bevestig geen acties (alle aanvragen voor bevestiging onderdrukken). |
In PowerShell is dit type System.Management.Automation.ConfirmImpact.
4.2.6.3 File-Attributes type
Dit implementatie-gedefinieerde type heeft de volgende toegankelijke leden, die kunnen worden gecombineerd:
| Lid | Soort lid | Doel |
|---|---|---|
| Archiveren | Enumeratieconstante | De archiefstatus van het bestand. Toepassingen gebruiken dit kenmerk om bestanden te markeren voor back-up of verwijdering. |
| Gecomprimeerd | Enumeratieconstante | Het bestand wordt gecomprimeerd. |
| Apparaat | Gereserveerd voor toekomstig gebruik. | |
| Directory | Enumeratieconstante | Het bestand is een map. |
| Versleuteld | Enumeratieconstante | Het bestand of de map is versleuteld. Voor een bestand betekent dit dat alle gegevens in het bestand zijn versleuteld. Voor een directory betekent dit dat versleuteling de standaardinstelling is voor nieuw gemaakte bestanden en mappen. |
| Verborgen | Enumeratieconstante | Het bestand is verborgen en is dus niet opgenomen in een gewone maplijst. |
| Normaal | Enumeratieconstante | Het bestand is normaal en heeft geen andere kenmerken ingesteld. Dit kenmerk is alleen geldig als u alleen gebruikt. |
| NotContentIndexed | Enumeratieconstante | Het bestand wordt niet geïndexeerd door de indexeringsservice voor inhoud van het besturingssysteem. |
| Offline | Enumeratieconstante | Het bestand is offline. De gegevens van het bestand zijn niet onmiddellijk beschikbaar. |
| ReadOnly | Enumeratieconstante | Het bestand is alleen-lezen. |
| ReparsePoint | Enumeratieconstante | Het bestand bevat een reparsepunt. Dit is een blok met door de gebruiker gedefinieerde gegevens die zijn gekoppeld aan een bestand of map. |
| SparseFile | Enumeratieconstante | Het bestand is een sparse-bestand. Sparse bestanden zijn meestal grote bestanden waarvan de gegevens voornamelijk nullen zijn. |
| Systeem | Enumeratieconstante | Het bestand is een systeembestand. Het bestand maakt deel uit van het besturingssysteem of wordt uitsluitend gebruikt door het besturingssysteem. |
| Tijdelijk | Enumeratieconstante | Het bestand is tijdelijk. Bestandssystemen proberen alle gegevens in het geheugen te houden voor snellere toegang in plaats van de gegevens weer leeg te maken naar massaopslag. Een tijdelijk bestand moet worden verwijderd door de toepassing zodra het niet meer nodig is. |
In PowerShell is dit type System.IO.FileAttributes met het kenmerk FlagsAttribute.
4.2.6.4 Regular-Expression-Option type
Dit implementatie-gedefinieerde type heeft de volgende toegankelijke leden, die kunnen worden gecombineerd:
| Lid | Soort lid | Doel |
|---|---|---|
| IgnoreCase | Enumeratieconstante | Hiermee geeft u op dat de overeenkomende niet-case-gevoelig is. |
| Geen | Enumeratieconstante | Hiermee geeft u op dat er geen opties zijn ingesteld. |
Een implementatie kan andere waarden bevatten.
In PowerShell heeft dit type het System.Text.RegularExpressions.RegexOptions kenmerk FlagsAttribute. De volgende extra waarden zijn gedefinieerd: Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, , Singleline.
4.3 Referentietypen
4.3.1 Tekenreeksen
Een tekenreekswaarde heeft een typetekenreeks en is een onveranderbare reeks van nul of meer tekens van het type char die elk een UTF-16-gecodeerd 16-bits Unicode-codepunt bevatten.
Type-tekenreeks heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Lengte | Instantie-eigenschap | int (alleen-lezen) | Haalt het aantal tekens in de tekenreeks op |
| ToLower | Methode Instance | tekenreeks | Hiermee maakt u een nieuwe tekenreeks die het equivalent in kleine letters bevat |
| Toupper | Methode Instance | tekenreeks | Hiermee maakt u een nieuwe tekenreeks die het equivalent in hoofdletters bevat |
Wijs in PowerShell string toe aan System.String.
4.3.2 Matrices
Alle matrixtypen zijn afgeleid van het type Array. Dit type heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Lengte | Instantie-eigenschap (alleen-lezen) | int | Aantal elementen in de matrix |
| Positie | Instantie-eigenschap (alleen-lezen) | int | Aantal dimensies in de matrix |
| Kopiëren | Statische methode | void/zie de kolom Purpose | Kopieert een bereik van elementen van de ene matrix naar de andere. Er zijn vier versies, waarbij bron de bron array is, bestemming de doel matrix is, count het aantal elementen is dat moet worden kopiëren en sourceIndex en destinationIndex de beginlocaties in hun respectieve matrices zijn: Copy(source, destination, int count) |
| GetLength | Instantiemethode (alleen-lezen) | int/none | Aantal elementen in een bepaalde dimensie GetLength( int-dimensie) |
Zie voor meer informatie over matrices ,9.
Wijs in PowerShell Array toe aan System.Array.
4.3.3 Hashtables
Type Hashtable heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Count | Instantie-eigenschap | int | Haalt het aantal sleutel-waardeparen in de hashtabel op |
| Sleutels | Instantie-eigenschap | Implementatie-gedefinieerd | Haalt een verzameling van alle sleutels op |
| Waarden | Instantie-eigenschap | Implementatie-gedefinieerd | Haalt een verzameling van alle waarden op |
| Verwijderen | Methode Instance | void/none | Hiermee verwijdert u de aangewezen sleutel/waarde |
Zie voor meer informatie over hashtabels ,10.
Wijs in PowerShell Hashtable toe aan System.Collections.Hashtable. Hashtable -elementen worden opgeslagen in een object van het type DictionaryEntryen de verzamelingen die worden geretourneerd door Sleutels en Waarden hebben het type ICollection.
4.3.4 Het XML-type
Type xml implementeert de W3C Document Object Model (DOM) Level 1 Core en het Dom Core DOM-niveau 2. De DOM is een structuurweergave in het geheugen (cache) van een XML-document en maakt het navigeren en bewerken van dit document mogelijk. Dit type ondersteunt de subscriptoperator [] (7.1.4.4).
Wijs in PowerShell xml toe aan System.Xml.XmlDocument.
4.3.5 Het type regex
Type regex biedt machines voor het ondersteunen van verwerking van reguliere expressies. Het wordt gebruikt om het type van een parameter (5.3) te beperken waarvan het bijbehorende argument een reguliere expressie kan bevatten.
Wijs in PowerShell regex toe aan System.Text.RegularExpressions.Regex.
4.3.6 Het ref-type
Normaal gesproken worden argumenten doorgegeven aan opdrachten op waarde. In het geval van een argument met een waardetype wordt een kopie van de waarde doorgegeven. In het geval van een argument met een verwijzingstype wordt een kopie van de verwijzing doorgegeven.
Type ref biedt machinery waarmee argumenten kunnen worden doorgegeven aan opdrachten door verwijzing, zodat de opdrachten de waarde van het argument kunnen wijzigen. Type ref heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Waarde | Instantie-eigenschap (lezen/schrijven) | Het type van de waarde waarnaar wordt verwezen. | Haalt/stelt de waarde waarnaar wordt verwezen. |
Houd rekening met de volgende functiedefinitie en roep aan:
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
Houd rekening met het geval $number beperkt is tot het type:
[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
Zoals weergegeven, moeten zowel het argument als de bijbehorende parameter worden gedeclareerd ref.
Wijs in PowerShell ref toe aan System.Management.Automation.PSReference.
4.3.7 Het type scriptblock
Type scriptblock vertegenwoordigt een vooraf gecompileerd blok scripttekst (7.1.8) dat als één eenheid kan worden gebruikt. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Kenmerken | Instantie-eigenschap (alleen-lezen) | Verzameling kenmerken | Haalt de kenmerken van het scriptblok op. |
| File | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam op van het bestand waarin het scriptblok is gedefinieerd. |
| Module | Instantie-eigenschap (alleen-lezen) | implementatie gedefinieerd ([4.5.12][#4.5.12]) | Haalt informatie op over de module waarin het scriptblok is gedefinieerd. |
| GetNewClosure | Instantiemethode | scriptblock /none |
Hiermee haalt u een scriptblok op dat is gebonden aan een module. Eventuele lokale variabelen in de context van de aanroeper worden gekopieerd naar de module. |
| Aanroepen | Instantiemethode | Verzameling van object/object[] | Roept het scriptblok aan met de opgegeven argumenten en retourneert de resultaten. |
| InvokeReturnAsIs | Instantiemethode | object/object[] | Roept het scriptblok aan met de opgegeven argumenten en retourneert alle gegenereerde objecten. |
| Maken | Statische method | scriptblock /tekenreeks |
Hiermee maakt u een nieuw scriptblock-object dat het opgegeven script bevat. |
Wijs in PowerShell scriptblock toe aan System.Management.Automation.ScriptBlock. Invoke retourneert een verzameling van PsObject.
4.3.8 Het wiskundige type
Type math biedt toegang tot enkele constanten en methoden die nuttig zijn voor wiskundige berekeningen. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| E | Statische eigenschap (alleen-lezen) | double | Natuurlijke logaritmebasis |
| PI | Statische eigenschap (alleen-lezen) | double | Verhouding tussen de omtrek van een cirkel en de haardiameter |
| Abs | Statische method | numeriek/numeriek | Absolute waarde (het retourtype is hetzelfde als het type van het argument dat is doorgegeven) |
| Acos | Statische method | dubbel/dubbel | Hoek waarvan de cosinus het opgegeven getal is |
| Asin | Statische method | dubbel/dubbel | Hoek waarvan de sinus het opgegeven getal is |
| Atan | Statische method | dubbel/dubbel | Hoek waarvan de tangens het opgegeven getal is |
| Atan2 | Statische method | dubbel/dubbel y, dubbele x | Hoek waarvan de tangens het quotiënt is van twee opgegeven getallen x en y |
| Ceiling | Statische method | decimaal/decimaal dubbel/dubbel |
kleinste gehele getal groter dan of gelijk aan het opgegeven getal |
| Cos | Statische method | dubbel/dubbel | Cosinus van de opgegeven hoek |
| Cosh | Statische method | dubbel/dubbel | Hyperbolische cosinus van de opgegeven hoek |
| Exp | Statische method | dubbel/dubbel | e verhoogd tot de opgegeven macht |
| Floor | Statische method | decimaal/decimaal dubbel/dubbel |
Grootste gehele getal kleiner dan of gelijk aan het opgegeven getal |
| Logboek | Statische method | dubbel/dubbel getal dubbel/dubbel getal, dubbele basis |
Logaritme van getal met basis e of basis |
| Log10 | Statische method | dubbel/dubbel | Base-10 logaritme van een opgegeven getal |
| Max | Statische method | numeriek/numeriek | Groter van twee opgegeven getallen (het retourtype is hetzelfde als het type van de argumenten die worden doorgegeven) |
| Min | Statische method | numeriek/numeriek, numeriek | Kleiner van twee opgegeven getallen (het retourtype is hetzelfde als het type van de argumenten die worden doorgegeven) |
| Pow | Statische method | double/double x, double y | Een opgegeven getal x verhoogd tot de opgegeven macht y |
| Sin | Statische method | dubbel/dubbel | Sinus van de opgegeven hoek |
| Sinh | Statische method | dubbel/dubbel | Hyperbolische sinus van de opgegeven hoek |
| Sqrt | Statische method | dubbel/dubbel | Vierkantswortel van een opgegeven getal |
| Tan | Statische method | dubbel/dubbel | Tangens van de opgegeven hoek |
| Tanh | Statische method | dubbel/dubbel | Hyperbolische tangens van de opgegeven hoek |
Wijs in PowerShell Math toe aan System.Math.
4.3.9 Het besteld type
Type ordered is een pseudotype dat alleen wordt gebruikt voor conversies.
4.3.10 Het type pscustomobject
Type pscustomobject is een pseudotype dat alleen wordt gebruikt voor conversies.
4.4 Algemene typen
Een aantal programmeertalen en omgevingen bieden typen die kunnen worden gespecialiseerd. Veel van deze typen worden containertypen genoemd, omdat exemplaren ervan objecten van een ander type kunnen bevatten. Denk aan een type met de naam Stack dat een stack met waarden kan vertegenwoordigen, die kan worden op- en uitgeschakeld. Normaal gesproken wil de gebruiker van een stack slechts één soort object op die stack opslaan. Als de taal of omgeving echter geen ondersteuning biedt voor typespecialisatie, moeten meerdere afzonderlijke varianten van het type Stack worden geïmplementeerd, zelfs als ze allemaal dezelfde taak uitvoeren, alleen met verschillende typeelementen.
Met typespecialisatie kan een algemeen type zo worden geïmplementeerd dat het kan worden beperkt tot het verwerken van bepaalde subsets van typen wanneer het wordt gebruikt. Bijvoorbeeld:
- Een algemeen stacktype dat speciaal is voor het houden van tekenreeksen, kan worden geschreven als
Stack[string]. - Een algemeen woordenlijsttype dat speciaal is voor het bevatten van int-sleutels met gekoppelde tekenreekswaarden, kan worden geschreven als
Dictionary[int,string]. - Een stack met tekenreeksen kan worden geschreven als
Stack[Stack[string]].
Hoewel PowerShell geen ingebouwde algemene typen definieert, kunnen dergelijke typen worden gebruikt als ze worden geleverd door de hostomgeving. Zie de syntaxis in :7.1.10.
De volledige naam voor het hierboven voorgestelde type Stack[string] is System.Collections.Generic.Stack[string]. De volledige naam voor het hierboven voorgestelde type Dictionary[int,string] is System.Collections.Generic.Dictionary[int,string].
4.5 Anonieme typen
In sommige gevallen maakt een implementatie van PowerShell objecten van een bepaald type, en die objecten hebben leden die toegankelijk zijn voor scripts. De werkelijke naam van deze typen hoeft echter niet te worden opgegeven, zolang de toegankelijke leden voldoende zijn opgegeven om ze te kunnen gebruiken. Dat wil zeggen dat scripts objecten van deze typen kunnen opslaan en toegang hebben tot hun leden zonder daadwerkelijk de namen van deze typen te kennen. In de volgende subsecties worden deze typen opgegeven.
4.5.1 Type providerbeschrijving
Dit type kapselt de status van een provider in. Deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Aandrijfeenheden | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.2) | Een verzameling beschrijvingsobjecten van het station |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de provider |
In PowerShell is dit type System.Management.Automation.ProviderInfo.
4.5.2 Type beschrijving van station
Dit type ingekapseld de status van een station. Deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| CurrentLocation | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De huidige werklocatie (3.1.4) van het station |
| Description | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De beschrijving van het station |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van het station |
| Hoofdmap | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van het station |
In PowerShell is dit type System.Management.Automation.PSDriveInfo.
4.5.3 Type beschrijving van variabele
Dit type kapselt de status van een variabele in. Deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Kenmerken | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Een verzameling kenmerken |
| Description | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De beschrijving die is toegewezen aan de variabele via de cmdlets New-Variable of Set-Variable . |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module van waaruit deze variabele is geëxporteerd |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De module waarin deze variabele is gedefinieerd |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam die is toegewezen aan de variabele toen deze werd gemaakt in de PowerShell-taal of via de New-Variable cmdlets en Set-Variable . |
| Opties | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De opties die zijn toegewezen aan de variabele via de New-Variable cmdlets en Set-Variable . |
| Waarde | Instantie-eigenschap (lezen/schrijven) | object | De waarde die aan de variabele is toegewezen toen deze werd toegewezen in de PowerShell-taal of via de New-Variable cmdlets en Set-Variable . |
In PowerShell is dit type System.Management.Automation.PSVariable.
Windows PowerShell: Het type kenmerkverzameling is System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Beschrijvingstype alias
Met dit type wordt de status van een alias ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Commandtype | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Moet gelijk zijn aan 'Alias'. |
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | De opdracht of alias waaraan de alias is toegewezen via de cmdlets New-Alias of Set-Alias . |
| Description | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De beschrijving die aan de alias is toegewezen via de New-Alias cmdlets of Set-Alias . |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module van waaruit deze alias is geëxporteerd |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De module waarin deze alias is gedefinieerd |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam die aan de alias is toegewezen toen deze werd gemaakt via de New-Alias cmdlets of Set-Alias . |
| Opties | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De opties die zijn toegewezen aan de alias via de New-Alias New-Alias of Set-Alias cmdlets. |
| OutputType | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de typen van de waarden uitvoer door de opdracht waarmee de alias verwijst. |
| Parameters | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | De parameters van de opdracht. |
| ParameterSets | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Informatie over de parametersets die zijn gekoppeld aan de opdracht. |
| Waarnaar wordt verwezenCommand | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Informatie over de opdracht waarnaar onmiddellijk wordt verwezen door deze alias. |
| ResolvedCommand | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Informatie over de opdracht waarmee de alias uiteindelijk wordt opgelost. |
In PowerShell is dit type System.Management.Automation.AliasInfo.
4.5.5 Beschrijvingstype werklocatie
Met dit type wordt de status van een werkende locatie ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Station | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.2) | Een beschrijvingsobject voor het station |
| Pad | Instantie-eigenschap (alleen-lezen) | tekenreeks | De werklocatie |
| Provider | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.1) | De provider |
| ProviderPath | Instantie-eigenschap (alleen-lezen) | tekenreeks | Het huidige pad van de provider |
Een stack met werklocaties is een verzameling werklocatieobjecten, zoals hierboven wordt beschreven.
In PowerShell wordt een huidige werklocatie vertegenwoordigd door een object van het type System.Management.Automation.PathInfo. Een stack met werklocaties wordt vertegenwoordigd door een object van het type System.Management.Automation.PathInfoStack, dat een verzameling objecten PathInfo is.
4.5.6 Beschrijvingstype omgevingsvariabele
Met dit type wordt de status van een omgevingsvariabele ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Name | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De naam van de omgevingsvariabele |
| Waarde | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De waarde van de omgevingsvariabele |
In PowerShell is dit type System.Collections.DictionaryEntry. De naam van de variabele is de woordenlijstsleutel. De waarde van de omgevingsvariabele is de woordenlijstwaarde. Naam is een AliasProperty die gelijk is aan Sleutel.
4.5.7 Beschrijvingstype van toepassing
Met dit type wordt de status van een toepassing ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Commandtype | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Moet gelijk zijn aan 'Toepassing'. |
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Een beschrijving van de toepassing. |
| Extensie | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De extensie van het toepassingsbestand. |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module die deze opdracht definieert. |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de module die de opdracht definieert. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de opdracht. |
| OutputType | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de typen van de waarden die worden uitgevoerd door de opdracht. |
| Parameters | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | De parameters van de opdracht. |
| ParameterSets | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Informatie over de parametersets die zijn gekoppeld aan de opdracht. |
| Pad | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt het pad van het toepassingsbestand op. |
In PowerShell is dit type System.Management.Automation.ApplicationInfo.
Beschrijvingstype 4.5.8-cmdlet
Met dit type wordt de status van een cmdlet ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Commandtype | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Moet gelijk zijn aan 'Cmdlet'. |
| DefaultParameterSet | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | De standaardparameterset die wordt gebruikt als PowerShell niet kan bepalen welke parameterset moet worden gebruikt op basis van de opgegeven argumenten. |
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Een beschrijving van de cmdlet. |
| Helpfile | Instantie-eigenschap (lezen/schrijven) | tekenreeks | Het pad naar het Help-bestand voor de cmdlet. |
| ImplementingType | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd | Het type dat de cmdlet implementeert. |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module die deze cmdlet definieert. |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de module die de cmdlet definieert. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de cmdlet. |
| Zelfstandig naamwoord | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van het zelfstandig naamwoord van de cmdlet. |
| OutputType | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de typen van de waarden die worden uitgevoerd door de cmdlet. |
| Parameters | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | De parameters van de cmdlet. |
| ParameterSets | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Informatie over de parametersets die zijn gekoppeld aan de cmdlet. |
| Verb | Instantie-eigenschap (alleen-lezen) | tekenreeks | De werkwoordnaam van de cmdlet. |
| PSSnapIn | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Windows PowerShell: informatie over de powershell-module Windows wordt gebruikt om de cmdlet te registreren. |
In PowerShell is dit type System.Management.Automation.CmdletInfo.
4.5.9 Beschrijvingstype extern script
Dit type kapselt de status van een extern script in (een script dat rechtstreeks kan worden uitgevoerd door PowerShell, maar niet is ingebouwd). Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Commandtype | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Moet gelijk zijn aan 'ExternalScript'. |
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Een definitie van het script. |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module die dit script definieert. |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de module die het script definieert. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van het script. |
| OriginalEncoding | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | De oorspronkelijke codering die wordt gebruikt om de tekens van het script te converteren naar bytes. |
| OutputType | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de typen waarden op die door het script worden uitgevoerd. |
| Parameters | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | De parameters van het script. |
| ParameterSets | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Informatie over de parametersets die aan het script zijn gekoppeld. |
| Pad | Instantie-eigenschap (alleen-lezen) | tekenreeks | Het pad naar het scriptbestand. |
| ScriptBlock | Instantie-eigenschap (alleen-lezen) | scriptblock | Het externe script. |
| ScriptContents | Instantie-eigenschap (alleen-lezen) | tekenreeks | De oorspronkelijke inhoud van het script. |
In PowerShell is dit type System.Management.Automation.ExternalScriptInfo.
4.5.10 Functiebeschrijvingstype
Met dit type wordt de status van een functie ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| CmdletBinding | Instantie-eigenschap (alleen-lezen) | booleaans | Geeft aan of de functie dezelfde parameterbinding gebruikt die voor gecompileerde cmdlets wordt gebruikt (zie [].12.3.5]§12.3.5). |
| Commandtype | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Kan worden vergeleken met gelijkheid met 'Functie' of 'Filter' om te zien welke van deze objecten dit object vertegenwoordigt. |
| DefaultParameterSet | Instantie-eigenschap (alleen-lezen) | tekenreeks | Hiermee geeft u de parameterset op die moet worden gebruikt als dat niet kan worden bepaald op basis van de argumenten (zie [].12.3.5]§12.3.5). |
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Een tekenreeksversie van ScriptBlock |
| Description | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De beschrijving van de functie. |
| Module | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd (4.5.12) | De module van waaruit deze functie is geëxporteerd |
| ModuleName | Instantie-eigenschap (alleen-lezen) | tekenreeks | De module waarin deze functie is gedefinieerd |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de functie |
| Opties | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd | De bereikopties voor de functie (3.5.4). |
| OutputType | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de typen van de waarden uitvoer in volgorde ( [zie ].12.3.6]§12.3.6). |
| Parameters | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Hiermee geeft u de parameternamen in volgorde. Als de functie fungeert als een cmdlet (zie CmdletBinding hierboven), worden de algemene parameters aan het einde van de verzameling opgenomen. |
| ParameterSets | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Informatie over de parametersets die zijn gekoppeld aan de opdracht. Voor elke parameter toont het resultaat de parameternaam en het type en geeft het aan of de parameter verplicht is, op positie of een switchparameter. Als de functie fungeert als een cmdlet (zie CmdletBinding hierboven), worden de algemene parameters aan het einde van de verzameling opgenomen. |
| ScriptBlock | Instantie-eigenschap (alleen-lezen) | scriptblock (*4.3.6) | De body van de functie |
In PowerShell is dit type System.Management.Automation.FunctionInfo.
CommandTypeheeft het typeSystem.Management.Automation.CommandTypes.Optionsheeft het typeSystem.Management.Automation.ScopedItemOptions.OutputTypeheeft het typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]].Parametersheeft het typeSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]].ParameterSetsheeft het typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]].- Zichtbaarheid heeft het type
System.Management.Automation.SessionStateEntryVisibility. - PowerShell heeft ook een eigenschap met de naam Zichtbaarheid.
4.5.11 Filterbeschrijvingstype
Met dit type wordt de status van een filter ingekapseld. Deze heeft dezelfde set toegankelijke leden als het type functiebeschrijving (4.5.10).
In PowerShell is dit type System.Management.Automation.FilterInfo. Deze heeft dezelfde set eigenschappen als System.Management.Automation.FunctionInfo (4.5.11).
4.5.12 Modulebeschrijvingstype
Dit type bevat de status van een module. Deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Description | Instantie-eigenschap (lezen/schrijven) | tekenreeks | De beschrijving van de module (ingesteld door het manifest) |
| ModuleType | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Het type module (manifest, script of binair) |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | De naam van de module |
| Pad | Instantie-eigenschap (alleen-lezen) | tekenreeks | Het pad van de module |
In PowerShell is dit type System.Management.Automation.PSModuleInfo. Het type is ModuleType System.Management.Automation.ModuleType.
4.5.13 Type aangepaste objectbeschrijving
Dit type kapselt de status van een aangepast object in. Het heeft geen toegankelijke leden.
In PowerShell is dit type System.Management.Automation.PSCustomObject. De cmdlets en Import-Module New-Object kunnen een object van dit type genereren.
4.5.14 Beschrijvingstype opdracht
De automatische variabele $PsCmdlet is een object dat de cmdlet of functie vertegenwoordigt die wordt uitgevoerd. Het type van dit object is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| ParameterSetName | Instantie-eigenschap (alleen-lezen) | tekenreeks | Naam van de huidige parameterset (zie ParameterSetName) |
| ShouldContinue | Instantiemethode | Overbelast /bool |
Vraagt om bevestiging van een bewerking van de gebruiker. |
| ShouldProcess | Instantiemethode | Overbelast /bool |
Vraagt om bevestiging van de gebruiker voordat een bewerking wordt uitgevoerd. |
In PowerShell is dit type System.Management.Automation.PSScriptCmdlet.
4.5.15 Beschrijvingstype foutrecord
De automatische variabele $Error bevat een verzameling foutrecords die recente fouten vertegenwoordigen (3,12). Hoewel het type van deze verzameling niet is gespecificeerd, ondersteunt deze wel subscripting om toegang te krijgen tot afzonderlijke foutrecords.
In PowerShell is het verzamelingstype System.Collections.ArrayList. Het type van een afzonderlijke foutrecord in de verzameling is System.Management.Automation.ErrorRecord. Dit type heeft de volgende openbare eigenschappen:
- CategoryInfo: haalt informatie op over de categorie van de fout.
- ErrorDetails: haalt gedetailleerdere foutinformatie op en stelt deze in, zoals een vervangend foutbericht.
- Uitzondering: haalt de uitzondering op die is gekoppeld aan deze foutrecord.
- FullyQualifiedErrorId: haalt de volledig gekwalificeerde fout-id voor deze foutrecord op.
- InvocationInfo: haalt informatie op over de opdracht die is aangeroepen toen de fout zich voordeed.
- PipelineIterationInfo: haalt de status van de pijplijn op toen deze foutrecord werd gemaakt
- TargetObject: haalt het object op dat werd verwerkt toen de fout zich voordeed.
4.5.16 Beschrijvingstype enumerator
Een aantal variabelen zijn enumerators voor verzamelingen (*4). De automatische variabele $foreach is de enumerator die is gemaakt voor een instructie foreach . De automatische variabele $input is de enumerator voor een verzameling die vanuit de pijplijn aan een functie wordt geleverd. De automatische variabele $switch is de enumerator die is gemaakt voor een instructie switch .
Het type van een enumerator is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Huidig | Instantie-eigenschap (alleen-lezen) | object | Haalt het huidige element in de verzameling op. Als de enumerator momenteel niet op een element van de verzameling is geplaatst, wordt het gedrag implementatie gedefinieerd. |
| Movenext | Instantiemethode | Geen/bool | De enumerator wordt naar het volgende element van de verzameling geüpverd. Retourneert $true of de enumerator is door geavanceerd naar het volgende element; $false of de enumerator het einde van de verzameling heeft doorgegeven. |
In PowerShell worden deze leden gedefinieerd in de interface System.IEnumerator, die wordt geïmplementeerd door de onderstaande typen. Als de enumerator momenteel niet op een element van de verzameling is geplaatst, teert een uitzondering van het type InvalidOperationException . Voor $foreachis System.Array+SZArrayEnumeratordit type . Voor $inputis System.Collections.ArrayList+ArrayListEnumeratorSimpledit type . Voor $switchis System.Array+SZArrayEnumeratordit type .
4.5.17 Type directorybeschrijving
De cmdlet New-Item kan items van verschillende soorten maken, waaronder Bestandssysteemdirecties. Het type van een mapbeschrijvingsobject is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Kenmerken | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.2.6.3) | Hiermee haalt of stelt u een of meer van de kenmerken van het mapobject. |
| CreationTime | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.5.19) | Hiermee haalt en stelt u de aanmaaktijd van het mapobject in. |
| Extensie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt het extensiegedeelte van de mapnaam op. |
| FullName | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt het volledige pad van de map op. |
| LastWriteTime | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.5.19) | Hiermee wordt de tijd waarop de map voor het laatst is geschreven, op tijd van en instellen. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam van de map op. |
In PowerShell is dit type System.IO.DirectoryInfo. Het type van de eigenschap Kenmerken is System.IO.FileAttributes.
4.5.18 Type bestandsbeschrijving
De cmdlet kan New-Item items van verschillende soorten maken, waaronder FileSystem-bestanden. Het type van een bestandsbeschrijvingsobject is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Kenmerken | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.2.6.3) | Hiermee haalt of een of meer van de kenmerken van het bestandsobject. |
| BaseName | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam van het bestand met uitzondering van de extensie. |
| CreationTime | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.5.19) | Hiermee wordt de aanmaaktijd van het bestandsobject opgeslagen en instellen. |
| Extensie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt het extensiegedeelte van de bestandsnaam op. |
| FullName | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt het volledige pad van het bestand op. |
| LastWriteTime | Instantie-eigenschap (lezen/schrijven) | Implementatie gedefinieerd (4.5.19) | Hiermee wordt de tijd waarop het bestand voor het laatst is geschreven, opgeslagen. |
| Lengte | Instantie-eigenschap (alleen-lezen) | long | Haalt de grootte van het bestand in bytes. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam van het bestand. |
| VersionInfo | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Windows PowerShell: Deze ScriptProperty retourneert een System.Diagnostics.FileVersionInfo voor het bestand. |
In PowerShell is dit type System.IO.FileInfo.
4.5.19 Date-Time beschrijvingstype
Het type van een beschrijvingsobject voor datum/tijd is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Dag | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het dagonderdeel van de maand op dat wordt vertegenwoordigd door dit exemplaar. |
| Uur | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het uuronderdeel op van de datum die wordt vertegenwoordigd door dit exemplaar. |
| Minuut | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het minuutonderdeel op van de datum die wordt vertegenwoordigd door dit exemplaar. |
| Maand | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het maandonderdeel op van de datum die wordt vertegenwoordigd door dit exemplaar. |
| Seconde | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het secondenonderdeel op van de datum die wordt vertegenwoordigd door dit exemplaar. |
| Year | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het jaaronderdeel op van de datum die wordt vertegenwoordigd door dit exemplaar. |
Een object van dit type kan worden gemaakt door cmdlet Get-Date.
In PowerShell is dit type System.DateTime.
4.5.20 Group-Info beschrijvingstype
Het type van een beschrijvingsobject voor groepsgegevens is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Count | Instantie-eigenschap (alleen-lezen) | int | Haalt het aantal elementen in de groep. |
| Groep | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Haalt de elementen van de groep op. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam van de groep op. |
| Waarden | Instantie-eigenschap (alleen-lezen) | Door implementatie gedefinieerde verzameling | Haalt de waarden van de elementen van de groep op. |
Een object van dit type kan worden gemaakt door cmdlet Group-Object.
In PowerShell is dit type Microsoft.PowerShell.Commands.GroupInfo.
4.5.21 Algemeen beschrijvingstype Meetgegevens
Het type van een object generic-measure-info description is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Gemiddeld | Instantie-eigenschap (alleen-lezen) | double | Haalt het gemiddelde op van de waarden van de eigenschappen die worden gemeten. |
| Count | Instantie-eigenschap (alleen-lezen) | int | Hiermee haalt u het aantal objecten met de opgegeven eigenschappen. |
| Maximum | Instantie-eigenschap (alleen-lezen) | double | Hiermee haalt u de maximumwaarde van de opgegeven eigenschappen. |
| Minimum | Instantie-eigenschap (alleen-lezen) | double | Hiermee haalt u de minimumwaarde van de opgegeven eigenschappen. |
| Eigenschap | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de eigenschap op die moet worden gemeten. |
| Sum | Instantie-eigenschap (alleen-lezen) | double | Hiermee haalt u de som van de waarden van de opgegeven eigenschappen. |
Een object van dit type kan worden gemaakt met de cmdlet Measure-Object.
In PowerShell is dit type Microsoft.PowerShell.Commands.GenericMeasureInfo.
4.5.22 Beschrijvingstype Tekstmeting-Info
Het type van een beschrijvingsobject voor tekstgegevens is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Tekens | Instantie-eigenschap (alleen-lezen) | int | Haalt het aantal tekens in het doelobject op. |
| Lijnen | Instantie-eigenschap (alleen-lezen) | int | Haalt het aantal regels in het doelobject op. |
| Eigenschap | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de eigenschap op die moet worden gemeten. |
| Woorden | Instantie-eigenschap (alleen-lezen) | int | Haalt het aantal woorden in het doelobject op. |
Een object van dit type kan worden gemaakt met de cmdlet Measure-Object.
In PowerShell is dit type Microsoft.PowerShell.Commands.TextMeasureInfo.
4.5.23 Referentietype
Een referentieobject kan vervolgens worden gebruikt in verschillende beveiligingsbewerkingen. Het type referentieobject is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Wachtwoord | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Haalt het wachtwoord op. |
| UserName | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de gebruikersnaam op. |
Een object van dit type kan worden gemaakt door cmdlet Get-Credential.
In PowerShell is dit type System.Management.Automation.PSCredential.
4.5.24 Methodeontwerptype
Het type van een methode-ontwerpator is implementatie gedefinieerd; deze heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Aanroepen | Instantiemethode | object/variabelenummer en -type | Neemt een variabel aantal argumenten en roept indirect de methode aan die wordt aangeduid door de ontwerpator van de bovenliggende methode, waarbij de argumenten worden doorgeven. |
Een object van dit type kan worden gemaakt met een aanroepexpressie (7.1.3).
In PowerShell is dit type System.Management.Automation.PSMethod.
4.5.25 Type liddefinitie
Met dit type wordt de definitie van een lid ingekapseld. Het heeft de volgende toegankelijke leden:
| Lid | Soort lid | Type | Doel |
|---|---|---|---|
| Definitie | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de definitie van het lid op. |
| MemberType | Instantie-eigenschap (alleen-lezen) | Implementatie gedefinieerd | Haalt het PowerShell-type van het lid op. |
| Name | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de naam van het lid op. |
| Typename | Instantie-eigenschap (alleen-lezen) | tekenreeks | Haalt de typenaam van het lid op. |
In PowerShell is dit type Microsoft.PowerShell.Commands.MemberDefinition.
4.6 Type-extensie en aanpassing
Een PowerShell-implementatie bevat een reeks kerntypen (die in dit hoofdstuk worden beschreven) die elk hun eigen set basisleden bevatten. Deze leden kunnen methoden of eigenschappen zijn en kunnen instantie- of statische leden zijn. De basisleden van het type tekenreeks (4.3.1) zijn bijvoorbeeld de instantie-eigenschap Length en de instantiemethoden ToLower en ToUpper.
Wanneer een object wordt gemaakt, bevat het alle exemplaareigenschappen van het type van dat object en kunnen de instantiemethoden van dat type worden aangeroepen voor dat object. Een object kan tijdens runtime worden aangepast via de toevoeging van exemplaarleden. Het resultaat wordt een aangepast object genoemd. Leden die aan een exemplaar worden toegevoegd, bestaan alleen voor de levensduur van dat exemplaar; andere exemplaren van hetzelfde kerntype worden niet beïnvloed.
De basislidset van een type kan worden uitgebreid met de toevoeging van de volgende soorten leden:
- aangepaste leden, via het Extended Type System (ETS), waarvan de meeste details niet zijn gespecificeerd.
- uitgebreide leden, via de cmdlet Add-Member.
In PowerShell kunnen uitgebreide leden ook worden toegevoegd via types.ps1xml bestanden. Aangepaste en uitgebreide leden worden gezamenlijk synthetische leden genoemd.
De ETS voegt de volgende leden toe aan alle PowerShell-objecten: psbase, psadapted, psextended en pstypenames. Zie de parameters Force en View in de cmdlet Get-Member voor meer informatie over deze leden.
Een exemplaarlid kan een uitgebreid en/of aangepast lid van dezelfde naam verbergen en een uitgebreid lid kan een aangepast lid verbergen. In dergelijke gevallen kan het lid psadapted en psextended gebruiken om toegang te krijgen tot deze verborgen leden.
Als een types.ps1xml een lid met de naam Ondersteunt op geeft, obj.psextended biedt alleen toegang tot dat lid en niet aan een lid dat is toegevoegd via Add-Member.
Er zijn drie manieren om een aangepast object met een nieuw lid M te maken:
Deze methode kan worden gebruikt om een of meer NoteProperty-leden toe te voegen.
$x = New-Object PsObject -Property @{M = 123}`Deze methode kan worden gebruikt om NoteProperty- of ScriptMethod-leden toe te voegen.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}`Deze aanpak kan worden gebruikt om elk soort lid toe te voegen.
$x = New-Object PsObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PsObject is het basistype van alle PowerShell-typen.
Feedback
Feedback verzenden en weergeven voor