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 float maakt gebruik van de 32-bits IEEE-weergave met één precisie.
  • Type double maakt 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 int waarden, 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)
Copy(source, destination, long count)
Copy(source, sourceIndex, destination, destinationIndex, int count)
Copy(source, sourceIndex, destination, destinationIndex, long 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.

  • CommandType heeft het type System.Management.Automation.CommandTypes.
  • Options heeft het type System.Management.Automation.ScopedItemOptions.
  • OutputType heeft het type System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]].
  • Parameters heeft het type System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]].
  • ParameterSets heeft het type System.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:

  1. Deze methode kan worden gebruikt om een of meer NoteProperty-leden toe te voegen.

    $x = New-Object PsObject -Property @{M = 123}`
    
  2. Deze methode kan worden gebruikt om NoteProperty- of ScriptMethod-leden toe te voegen.

    $x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}`
    
  3. 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.