Delen via


4. Typen

Redactionele notitie

Belangrijk

De Windows PowerShell Language Specification 3.0 is gepubliceerd in december 2012 en is gebaseerd op Windows PowerShell 3.0. Deze specificatie geeft niet de huidige status van PowerShell weer. Er is geen plan om deze documentatie bij te werken om de huidige status weer te geven. Deze documentatie wordt hier gepresenteerd voor historische naslaginformatie.

Het specificatiedocument is beschikbaar als een Microsoft Word-document in het Microsoft Downloadcentrum op: https://www.microsoft.com/download/details.aspx?id=36389 Dat Word-document hier is geconverteerd voor presentatie in Microsoft Learn. Tijdens de conversie zijn enkele redactionele wijzigingen aangebracht om opmaak voor het Docs-platform mogelijk te maken. Sommige typfouten en kleine fouten zijn gecorrigeerd.

In PowerShell heeft elke waarde een type en typen vallen in een van de twee hoofdcategorieën: waardetypen en verwijzingstypen. Houd rekening met het type int, wat typisch is voor waardetypen. Een waarde van het type int is volledig zelfstandig; alle bits die nodig zijn om die waarde te vertegenwoordigen, worden opgeslagen in die waarde en elk bitpatroon in die waarde vertegenwoordigt een geldige waarde voor het type. Overweeg nu het matrixtype int[], wat typisch is voor verwijzingstypen. Een zogenaamde waarde van een matrixtype kan een verwijzing bevatten naar een object dat de matrixelementen daadwerkelijk bevat, of de null-verwijzing waarvan de waarde is $null. Het belangrijkste 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 ondiepe kopie; dat wil gezegd, een kopie van de verwijzing naar het object in plaats van de werkelijke waarde. Een deep copy daarentegen vereist ook een kopie van het object.

Een numeriek type is een type waarmee gehele getallen of breukwaarden kunnen worden weergegeven en waarmee rekenkundige bewerkingen op deze waarden worden ondersteund. De reeks numerieke typen bevat het gehele getal (§4.2.3) en reëel getal (§4.2.4) maar bevat geen bool (§4.2.1) of teken (§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 hebben. Voorbeelden van verzamelingstypen zijn matrices, stacks, wachtrijen, lijsten en hash-tabellen. Een programma kan elementen in een verzameling opsommen (of herhalen), zodat elk element één voor één toegankelijk is. Veelvoorkomende manieren om dit te doen, zijn met de foreach-instructie (§8.4.4) en de cmdlet ForEach-Object. 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 de Type geschreven met het volgende formulier: returnType/argumentTypeList. Als de lijst met argumenttypen 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 System.

Veel verzamelingsklassen worden gedefinieerd als onderdeel van de System.Collections of System.Collections.Generic naamruimten. De meeste verzamelingsklassen implementeren de interfaces ICollection, IComparer, IEnumerable, IList, IDictionaryen IDictionaryEnumerator en hun algemene equivalenten.

U kunt ook verkorte namen voor sommige typen gebruiken. Zie about_Type_Acceleratorsvoor meer informatie.

4.1 Speciale typen

4.1.1 Het ongeldige type

Dit type kan niet worden geïnstantieerd. Het biedt een manier om een waarde expliciet te verwijderen met behulp van de cast-operator (§7.2.9).

4.1.2 Het null-type

Het null-type heeft één exemplaar, de automatische variabele $null (§2.3.2.2), ook wel de null-waarde genoemd. Deze waarde biedt een middel voor het uitdrukken van 'nietsheid' in referentiecontexten. De kenmerken van dit type zijn niet opgegeven.

4.1.3 Het objecttype

Elk type in PowerShell, met uitzondering van het null-type (§4.1.2) wordt rechtstreeks of indirect afgeleid van het typeobject, dus het object is het ultieme basistype van alle niet-null-typen. Een variabele beperkt tot type object (§5.3) is eigenlijk helemaal niet beperkt, omdat deze een waarde van eender welk type kan bevatten.

4.2 Waardetypen

4.2.1 Booleaanse waarde

Het Booleaanse type is bool. Er zijn slechts twee waarden van dit type, respectievelijk False en True, vertegenwoordigd door de automatische variabelen $false en $true(§2.3.2.2).

In PowerShell wordt bool toegewezen aan System.Boolean.

4.2.2 Karakter

Een tekenwaarde heeft een type char, dat geschikt is voor het opslaan van een UTF-16-gecodeerd 16-bits Unicode-codepunt.

Het type char heeft de volgende toegankelijke elementen:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) teken De grootst mogelijke waarde van het type 'char'
Minimumwaarde Statische eigenschap (alleen-lezen) teken De kleinste mogelijke waarde van het char-type
IsControl Statische methode bool/char Test of het teken een controlekarakter is
IsDigit Statische methode bool/char Test of het teken een decimaal cijfer is
IsLetter Statische methode bool/char Test of het teken een alfabetische letter is
IsLetterOrDigit Statische methode bool/char Hiermee wordt getest of het teken een decimaal cijfer of alfabetische letter is
IsLower Statische methode bool/char Test of het teken een alfabetische letter in kleine letters is
IsPunctuation Statische methode bool/char Test of het teken een leesteken is
IsUpper Statische methode bool/char Test of het teken een alfabetische hoofdletter is
IsWhiteSpace Statische methode bool/char Controleert of het teken een witruimtekarakter is.
ToLower Statische methode teken/tekenreeks Converteert het teken naar kleine letters
ToUpper Statische methode teken/tekenreeks Converteert het teken naar hoofdletters

Windows PowerShell: char komt overeen met System.Char.

4.2.3 Geheel getal

Er zijn twee ondertekende geheel getaltypen, beide maken gebruik van twee complementweergaven voor negatieve waarden:

  • Typ int, dat 32 bits gebruikt, waardoor het een inclusief bereik heeft van -2147483648 tot +2147483647.
  • Typ long, dat 64 bits gebruikt, waardoor het een bereik heeft van -9223372036854775808 tot +9223372036854775807, inclusief is.

Type int heeft de volgende toegankelijke leden:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) Integer De grootst mogelijke waarde van het type int
Minimumwaarde Statische eigenschap (alleen-lezen) Integer De kleinste mogelijke waarde van het type int

Het type lang heeft de volgende toegankelijke leden:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) lang De grootst mogelijke waarde van het gegevenstype 'long'
Minimumwaarde Statische eigenschap (alleen-lezen) lang De kleinste mogelijke waarde van het type long

Er is één ongetekend integer type.

  • Typ byte, die 8 bits gebruikt en waardoor het een bereik van 0 tot en met 255 heeft, inclusief.

Typ byte de volgende toegankelijke leden heeft:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) byte De grootst mogelijke waarde van type byte
Minimumwaarde Statische eigenschap (alleen-lezen) byte De kleinste mogelijke waarde van type byte

In PowerShell byte, inten long respectievelijk worden toegewezen aan System.Byte, System.Int32en System.Int64.

4.2.4 Reëel getal

4.2.4.1 float en dubbel

Er zijn twee echte typen (of drijvende komma):

  • Type float maakt gebruik van de 32-bit IEEE-weergave met enkelvoudige precisie.
  • Type double maakt gebruik van de 64-bits IEEE-weergave met dubbele precisie.

Een derde typenaam, single, is een synoniem voor het type float; float wordt in deze specificatie gebruikt.

Hoewel de grootte en weergave van de typen float en double worden gedefinieerd door deze specificatie, kan een implementatie uitgebreide precisie gebruiken voor tussenliggende resultaten.

Type float heeft de volgende toegankelijke leden:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) zweven De grootst mogelijke waarde van het type float
Minimumwaarde Statische eigenschap (alleen-lezen) zweven De kleinste mogelijke waarde van het type float
NaN Statische eigenschap (alleen-lezen) zweven De constante waarde 'Not-a-Number'
Negatieve Oneindigheid Statische eigenschap (alleen-lezen) zweven De constante waarde negatieve oneindigheid
PositiveInfinity Statische eigenschap (alleen-lezen) zweven De constante waarde van positieve oneindigheid

Type double heeft de volgende toegankelijke leden:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) dubbel De grootst mogelijke waarde van het type double
Minimumwaarde Statische eigenschap (alleen-lezen) dubbel De kleinste mogelijke waarde van het type double
NaN Statische eigenschap (alleen-lezen) dubbel De constante waarde 'Not-a-Number'
Negatieve Oneindigheid Statische eigenschap (alleen-lezen) dubbel De constante waarde negatieve oneindigheid
PositiveInfinity Statische eigenschap (alleen-lezen) dubbel De constante waarde van positieve oneindigheid

In PowerShell worden float en double respectievelijk toegewezen aan System.Single en System.Double.

4.2.4.2 decimaal

Type decimaal gebruikt een 128-bits weergave. Het moet minimaal een schaal ondersteunen, zodat 0 <= <= ten minste 28 en een waardebereik -79228162514264337593543950335 tot 79228162514264337593543950335. De werkelijke weergave van decimaal is gedefinieerd.

Type decimaal heeft de volgende toegankelijke leden:

Lid soort Typ doel
MaximaalWaarde Statische eigenschap (alleen-lezen) decimaal De grootst mogelijke waarde van het type decimaal
Minimumwaarde Statische eigenschap (alleen-lezen) decimaal De kleinste mogelijke waarde van het type decimaal

Notitie

Decimale reële getallen hebben een kenmerk schaal, dat het aantal cijfers rechts van het decimaalteken aangeeft. De waarde 2,340 heeft bijvoorbeeld een schaal van 3, waarbij volgnullen significant zijn. Wanneer twee decimale reële getallen worden opgeteld of afgetrokken, is de schaal van het resultaat de grotere van de twee schalen. Bijvoorbeeld: 1.0 + 2.000 is 3.000, terwijl 5.0 - 2.00 3.00 is. Wanneer twee decimale reële 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 reële getallen worden gedeeld, is de schaal van het resultaat de schaal van de eerste minder de schaal van de tweede. 4.00000/2.000 is bijvoorbeeld 2,00. Een schaal kan echter niet kleiner zijn dan dat nodig is om het juiste resultaat te behouden. Bijvoorbeeld: 3.000/2.000, 3.00/2.000, 3.0/2.000 en 3/2 zijn allemaal 1,5.

In PowerShell wordt decimal toegewezen aan System.Decimal. De weergave van decimaal 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 de lage volgorde 32 bits van de decimaalcoëfficiënt.
    • Index 1 (bits 32-63) bevat de middelste 32 bits van de decimaalcoëfficiënt.
    • Index 2 (bits 64-95) bevat de hoogste 32 bits van de decimale coëfficiënt.
    • Index 3 (bits 96-127) bevat als volgt de teken-bit en schaal:
      • bits 0--15 zijn nul
      • bits 16-23 bevat de schaal als waarde 0--28
      • bits 24-30 zijn nul
      • bit 31 is het teken (0 voor positief, 1 voor negatief)

4.2.5 Het schakeltype

Dit type wordt gebruikt om het type parameter in een opdracht te beperken (§8.10.5). Als een argument met de bijbehorende parameternaam aanwezig is, wordt de parameter op $true getest; anders wordt de parameter op $falsegetest.

In PowerShell wordt switch toegewezen aan System.Management.Automation.SwitchParameter.

4.2.6 Opsommingstypen

Een opsommingstype is een type dat een set benoemde constanten definieert die alle mogelijke waarden vertegenwoordigen die kunnen worden toegewezen aan een object van dat opsommingstype. In sommige gevallen is de set waarden zodanig dat slechts één waarde tegelijk kan worden weergegeven. In andere gevallen zijn de reeks waarden 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 opsommingstypen, zoals beschreven in de volgende secties.

4.2.6.1 Action-Preference soort

Dit door de implementatie gedefinieerde type heeft de volgende, wederzijds exclusieve, toegankelijke leden:

Lid soort doel
Doorgaan Opsommingsconstante De PowerShell-runtime blijft verwerken en informeert de gebruiker dat er een actie is opgetreden.
Navraag doen Opsommingsconstante De PowerShell-runtime stopt de verwerking en vraagt de gebruiker hoe het moet worden voortgezet.
SilentlyContinue Opsommingsconstante De PowerShell-runtime blijft verwerken zonder de gebruiker op de hoogte te stellen dat er een actie is opgetreden.
Stoppen Opsommingsconstante De PowerShell-runtime stopt de verwerking wanneer er een actie plaatsvindt.

Het type is in PowerShell System.Management.Automation.ActionPreference.

4.2.6.2 Confirm-Impact soort

Dit door de implementatie gedefinieerde type heeft de volgende, wederzijds exclusieve, toegankelijke leden:

Lid soort doel
Hoog Opsommingsconstante De uitgevoerde actie heeft een hoog risico op het verliezen van gegevens, zoals het opnieuw formatteren van een harde schijf.
Laag Opsommingsconstante De uitgevoerde actie heeft een laag risico dat gegevens verloren gaan.
Gemiddeld Opsommingsconstante De uitgevoerde actie heeft een gemiddeld risico dat gegevens verloren gaan.
Geen Opsommingsconstante Bevestig geen acties (alle aanvragen voor bevestiging onderdrukken).

Het type is in PowerShell System.Management.Automation.ConfirmImpact.

4.2.6.3 File-Attributes type

Dit door de implementatie gedefinieerde type heeft de volgende toegankelijke leden, die kunnen worden gecombineerd:

Lid soort doel
Archief Opsommingsconstante De archiefstatus van het bestand. Toepassingen gebruiken dit kenmerk om bestanden te markeren voor back-up of verwijdering.
Gecomprimeerd Opsommingsconstante Het bestand wordt gecomprimeerd.
Apparaat Gereserveerd voor toekomstig gebruik.
Adreslijst Opsommingsconstante Het bestand is een map.
Gecodeerde Opsommingsconstante Het bestand of de map is versleuteld. Voor een bestand betekent dit dat alle gegevens in het bestand zijn versleuteld. Voor een map betekent dit dat versleuteling de standaardinstelling is voor nieuw gemaakte bestanden en mappen.
Verborgen Opsommingsconstante Het bestand is verborgen en is dus niet opgenomen in een gewone mapvermelding.
Normaal Opsommingsconstante Het bestand is normaal en heeft geen andere kenmerken ingesteld. Dit kenmerk is alleen geldig als dit alleen wordt gebruikt.
Niet-geïndexeerd-op-inhoud Opsommingsconstante Het bestand wordt niet geïndexeerd door de inhoudsindexeringsservice van het besturingssysteem.
Offline Opsommingsconstante Het bestand is offline. De gegevens van het bestand zijn niet onmiddellijk beschikbaar.
ReadOnly Opsommingsconstante Het bestand heeft het kenmerk Alleen-lezen.
ReparsePoint Opsommingsconstante Het bestand bevat een reparsepunt, een blok met door de gebruiker gedefinieerde gegevens die zijn gekoppeld aan een bestand of map.
SparseFile Opsommingsconstante Het bestand is een sparse-bestand. Sparse-bestanden zijn meestal grote bestanden waarvan de gegevens meestal nullen zijn.
Systeem Opsommingsconstante Het bestand is een systeembestand. Het bestand maakt deel uit van het besturingssysteem of wordt uitsluitend door het besturingssysteem gebruikt.
Tijdelijk Opsommingsconstante Het bestand is tijdelijk. Bestandssystemen proberen alle gegevens in het geheugen te bewaren voor snellere toegang in plaats van de gegevens terug te spoelen naar massaopslag. Een tijdelijk bestand moet door de toepassing worden verwijderd zodra het niet meer nodig is.

In PowerShell is dit type System.IO.FileAttributes met kenmerk FlagsAttribute.

4.2.6.4 Normaal-Expression-Option type

Dit door de implementatie gedefinieerde type heeft de volgende toegankelijke leden, die kunnen worden gecombineerd:

Lid soort doel
IgnoreCase Opsommingsconstante Hiermee wordt aangegeven dat de overeenkomst niet hoofdlettergevoelig is.
Geen Opsommingsconstante Hiermee geeft u op dat er geen opties zijn ingesteld.

Een implementatie kan andere waarden bieden.

In PowerShell is dit type System.Text.RegularExpressions.RegexOptions met kenmerk FlagsAttribute. De volgende extra waarden worden gedefinieerd: Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.

4.3 Referentietypen

4.3.1 Tekenreeksen

Een tekenreekswaarde heeft het type string en is een onveranderbare reeks van nul of meer tekens van het type char, die elk een 16-bits UTF-16-gecodeerd Unicode-codepunt bevatten.

De typetekenreeks heeft de volgende toegankelijke leden:

Lid soort Typ doel
Lengte Instantie-eigenschap int (alleen-lezen) Hiermee haalt u het aantal tekens in de string op
ToLower Instantiemethode touw Hiermee maakt u een nieuwe tekenreeks die het equivalent in kleine letters bevat
ToUpper Instantiemethode touw Hiermee maakt u een nieuwe tekenreeks die het equivalent in hoofdletters bevat

In PowerShell wordt string toegewezen aan System.String.

4.3.2 Matrices

Alle matrixtypen zijn afgeleid van het type array. Dit type heeft de volgende toegankelijke leden:

Lid soort Typ doel
Lengte Instantiekenmerk (alleen-lezen) Integer Aantal elementen in de matrix
Rang Instantiekenmerk (alleen-lezen) Integer Aantal dimensies in de matrix
Kopiëren Statische methode leegte/zie doelkolom

Hiermee kopieert u een bereik van elementen van de ene matrix naar de andere. Er zijn vier versies, waarbij bron de bronmatrix is, doel de doelmatrix is, aantal het aantal elementen is dat moet worden gekopieerd en sourceIndex en destinationIndex de beginlocaties in hun respectieve matrices zijn:

Copy(bron, doel, int aantal)
Copy(bron, doel, lang aantal)
Kopie(bron, bronIndex, doel, doelIndex, int aantal)
Copy(bron, bronIndex, doel, doelIndex, lange telling)

GetLength Instantiemethode (alleen lezen) int/none

Aantal elementen in een bepaalde dimensie

GetLength(int dimensie)

Voor meer informatie over matrices, zie §9.

In PowerShell wordt array toegewezen aan System.Array.

4.3.3 Hashtabellen

Type Hashtable heeft de volgende toegankelijke leden:

Lid soort Typ doel
Aantal Instantie-eigenschap Integer Hiermee haalt u het aantal sleutel-/waardeparen op in de hashtabel
Sleutels Instantie-eigenschap Implementatie gedefinieerd Hiermee haalt u een verzameling van alle sleutels op
Waarden Instantie-eigenschap Implementatie gedefinieerd Hiermee haalt u een verzameling van alle waarden op
Verwijderen Instantiemethode leeg/geen Hiermee verwijdert u de aangewezen sleutel/waarde

Zie §10 voor meer informatie over Hashtables.

In PowerShell wordt Hashtable toegewezen 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 de Core DOM Level 2. De DOM is een structuurweergave in het geheugen (cache) van een XML-document en maakt de navigatie en bewerking van dit document mogelijk. Dit type ondersteunt de subscriptoperator [] (§7.1.4.4).

In PowerShell wordt xml toegewezen aan System.Xml.XmlDocument.

4.3.5 Het regex-type

Type regex biedt machines voor het ondersteunen van reguliere expressieverwerking. Het wordt gebruikt om het type parameter (§5.3) te beperken waarvan het bijbehorende argument een reguliere expressie kan bevatten.

In PowerShell wordt regex toegewezen 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 een mechanisme waarmee argumenten door verwijzing aan opdrachten kunnen worden doorgegeven, zodat de opdrachten de waarde van het argument kunnen wijzigen. Type ref heeft de volgende toegankelijke leden:

Lid soort Typ doel
Waarde Instantie-eigenschap (lezen/schrijven) Het type van de waarde waarnaar wordt verwezen. Hiermee wordt de waarde opgehaald/ingesteld waarnaar wordt verwezen.

Houd rekening met de volgende functiedefinitie en -aanroep:

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 waarin $number een typebeperking heeft:

[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 wordt weergegeven, moeten zowel het argument als de bijbehorende parameter worden gedeclareerd ref.

In PowerShell wordt ref toegewezen aan System.Management.Automation.PSReference.

4.3.7 Het scriptbloktype

Typ 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 Typ doel
Kenmerken Exemplaareigenschap (alleen-lezen) Verzameling kenmerken Haalt de kenmerken van het scriptblok op.
Bestand Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de naam op van het bestand waarin het scriptblok is gedefinieerd.
Moduul Exemplaareigenschap (alleen-lezen) implementatie gedefinieerd ([§4.5.12][§4.5.12]) Hiermee wordt informatie opgehaald over de module waarin het scriptblok is gedefinieerd.
GetNewClosure Instantiemethode scriptblok
/geen
Hiermee wordt een scriptblok opgehaald dat is gebonden aan een module. Lokale variabelen die zich in de context van de aanroeper bevinden, worden gekopieerd naar de module.
Aanroepen Instantiemethode Verzameling van objecten/objecten[] 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.
Maak Statische methode scriptblok
/tekenreeks
Hiermee maakt u een nieuw scriptblock-object dat het opgegeven script bevat.

In PowerShell wordt scriptblock toegewezen 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 in wiskundige berekeningen. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
E Statische eigenschap (alleen-lezen) dubbel Natuurlijke logaritmische basis
Persoonlijke Identificatie (PI) Statische eigenschap (alleen-lezen) dubbel Verhouding van de omtrek van een cirkel tot de diameter
Abs Statische methode numerieke/numerieke Absolute waarde (het retourtype is hetzelfde als het type van het argument dat is doorgegeven)
Acos Statische methode dubbel / dubbel Hoek waarvan de cosinus het opgegeven getal is
Asin Statische methode dubbel / dubbel Hoek waarvan de sinus het opgegeven getal is
Atan Statische methode dubbel / dubbel Hoek waarvan de tangens het opgegeven getal is
Atan2 Statische methode double / double y, double x Hoek waarvan de tangens het quotiënt is van twee opgegeven getallen x en y-
Plafond Statische methode

decimaal/decimaal

dubbel / dubbel

kleinste gehele getal groter dan of gelijk aan het opgegeven getal
Cos Statische methode dubbel / dubbel Cosinus van de opgegeven hoek
Ploertendoder Statische methode dubbel / dubbel Hyperbolische cosinus van de opgegeven hoek
Ervaring Statische methode dubbel / dubbel e verheven tot de opgegeven macht
Etage Statische methode

decimaal/decimaal

dubbel / dubbel

Grootste gehele getal kleiner dan of gelijk aan het opgegeven getal
Logbestand Statische methode

dubbel/dubbel nummer

dubbele/dubbele getal, dubbele

Logaritme van getal met grondtal e of basis basis
Log10 Statische methode dubbel / dubbel Logaritme met grondtal 10 van een opgegeven getal
Max Statische methode numerieke/numerieke Groter dan twee opgegeven getallen (het retourtype is hetzelfde als het type van de argumenten die zijn doorgegeven)
Min Statische methode numeriek/numeriek, numeriek Kleiner dan twee opgegeven getallen (het retourtype is hetzelfde als het type van de argumenten die zijn doorgegeven)
Krijgsgevangene Statische methode Dubbel / dubbel x, dubbel y Een opgegeven getal x verhoogd tot de opgegeven macht y-
Sin Statische methode dubbel / dubbel Sinus van de opgegeven hoek
Sinh Statische methode dubbel / dubbel Hyperbolische sinus van de opgegeven hoek
Sqrt Statische methode dubbel / dubbel Vierkantswortel van een opgegeven getal
Tan Statische methode dubbel / dubbel Tangens van de opgegeven hoek
Tanh Statische methode dubbel / dubbel Hyperbolische tangens van de opgegeven hoek

In PowerShell wordt Math toegewezen aan System.Math.

4.3.9 Het bestelde 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 gespecialiseerde. Veel van deze typen worden containertypengenoemd, omdat exemplaren van deze typen objecten van een ander type kunnen bevatten. Overweeg een type met de naam Stack dat een stapel waarden kan vertegenwoordigen, die kunnen worden gepusht en uitgezet. Normaal gesproken wil de gebruiker van een stack slechts één soort object op die stapel opslaan. Als de taal of omgeving echter geen ondersteuning biedt voor typespecialisatie, moeten meerdere verschillende varianten van het type Stack worden geïmplementeerd, ook al voeren ze allemaal dezelfde taak uit, alleen met verschillende typeelementen.

Met typespecialisatie kan een algemene type worden geïmplementeerd, zodat het kan worden beperkt tot het verwerken van een deelverzameling van typen wanneer deze wordt gebruikt. Bijvoorbeeld

  • Een algemeen stacktype dat speciaal is voor het opslaan van tekenreeksen, kan worden geschreven als Stack[string].
  • Een algemeen woordenlijsttype dat speciaal is bedoeld voor het opslaan van int-sleutels met gekoppelde tekenreekswaarden, kan worden geschreven als Dictionary[int,string].
  • Een stapel tekenreeksen kan worden geschreven als Stack[Stack[string]].

Hoewel PowerShell geen ingebouwde algemene typen definieert, kan het dergelijke typen gebruiken als deze 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 deze objecten hebben leden die toegankelijk zijn voor scripts. De feitelijke namen van deze typen hoeven echter niet te worden gespecificeerd, zolang de toegankelijke leden voldoende zijn gespecificeerd om ze te kunnen gebruiken. Dat wil gezegd, scripts kunnen objecten van deze typen opslaan en toegang krijgen tot hun leden zonder de namen van deze typen daadwerkelijk te kennen. In de volgende subsecties worden deze typen opgegeven.

4.5.1 Provider beschrijvingstype

Met dit type wordt de status van een provider ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Schijven Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.2) Een verzameling schijfbeschrijvingsobjecten
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de provider

Het type is in PowerShell System.Management.Automation.ProviderInfo.

4.5.2 Type beschrijving schijf

Met dit type wordt de status van een station ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
HuidigeLocatie Instantie-eigenschap (lezen/schrijven) touw De huidige werklocatie (§3.1.4) van de schijf
Beschrijving Instantie-eigenschap (lezen/schrijven) touw De beschrijving van het station
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de schijf
Wortel Exemplaareigenschap (alleen-lezen) touw De naam van de schijf

Het type is in PowerShell System.Management.Automation.PSDriveInfo.

4.5.3 Beschrijvingstype variabele

Met dit type wordt de status van een variabele ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Kenmerken Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Een verzameling kenmerken
Beschrijving Instantie-eigenschap (lezen/schrijven) touw De beschrijving die is toegewezen aan de variabele via de cmdlets New-Variable of Set-Variable.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module waaruit deze variabele is geëxporteerd
Modulenaam Exemplaareigenschap (alleen-lezen) touw De module waarin deze variabele is gedefinieerd
Naam Exemplaareigenschap (alleen-lezen) touw De naam die is toegewezen aan de variabele toen deze is gemaakt in de PowerShell-taal of via de New-Variable en Set-Variable cmdlets.
Opties Instantie-eigenschap (lezen/schrijven) touw De opties die zijn toegewezen aan de variabele via de New-Variable en Set-Variable cmdlets.
Waarde Instantie-eigenschap (lezen/schrijven) Voorwerp De waarde die is toegewezen aan de variabele toen deze werd toegewezen in de PowerShell-taal of via de New-Variable en Set-Variable cmdlets.

Het type is in PowerShell System.Management.Automation.PSVariable.

Windows PowerShell: Het type kenmerkverzameling is System.Management.Automation.PSVariableAttributeCollection.

4.5.4 Aliastypebeschrijving

Met dit type wordt de status van een alias beschreven. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
CommandType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Moet gelijk zijn aan 'Alias'.
Definitie Exemplaareigenschap (alleen-lezen) touw De opdracht of alias waaraan de alias is toegewezen via de cmdlets New-Alias of Set-Alias cmdlets.
Beschrijving Instantie-eigenschap (lezen/schrijven) touw De beschrijving die is toegewezen aan de alias via de cmdlets New-Alias of Set-Alias.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module waaruit deze alias is geëxporteerd
Modulenaam Exemplaareigenschap (alleen-lezen) touw De module waarin deze alias is gedefinieerd
Naam Exemplaareigenschap (alleen-lezen) touw De naam die is toegewezen aan de alias toen deze is gemaakt via de New-Alias of Set-Alias cmdlets.
Opties Instantie-eigenschap (lezen/schrijven) touw De opties die zijn toegewezen aan de alias via de New-Alias New-Alias of Set-Alias cmdlets.
Uitvoertype Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Specificeert de typen van de waarden van de uitvoer van de opdracht waarnaar de alias verwijst.
Parameterwaarden Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling De parameters van de opdracht.
Parametersets Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Informatie over de parametersets die zijn gekoppeld aan de opdracht.
GereferentieerdeOpdracht Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Informatie over de opdracht waarnaar onmiddellijk wordt verwezen door deze alias.
OpgelostCommando Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Informatie over de opdracht waarnaar de alias uiteindelijk verwijst.

Het type is in PowerShell System.Management.Automation.AliasInfo.

4.5.5 Type beschrijving van werklocatie

Met dit type wordt de status van een werklocatie ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Rijden Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.2) Een schijfbeschrijvingsobject
Pad Exemplaareigenschap (alleen-lezen) touw De werklocatie
Aanbieder Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.1) De provider
ProviderPath Exemplaareigenschap (alleen-lezen) touw Het huidige pad van de provider

Een stapel werklocaties is een verzameling werklocatieobjecten, zoals hierboven beschreven.

In PowerShell wordt een huidige werklocatie vertegenwoordigd door een object van het type System.Management.Automation.PathInfo. Een stapel werklocaties wordt vertegenwoordigd door een object van het type System.Management.Automation.PathInfoStack, een verzameling PathInfo objecten.

4.5.6 Beschrijving van omgevingsvariabele

Met dit type wordt de status van een omgevingsvariabele ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Naam Instantie-eigenschap (lezen/schrijven) touw De naam van de omgevingsvariabele
Waarde Instantie-eigenschap (lezen/schrijven) touw De waarde van de omgevingsvariabele

Het type is in PowerShell System.Collections.DictionaryEntry. De naam van de variabele is de woordenlijstsleutel. De waarde van de omgevingsvariabele is de woordenlijstwaarde. Naam is een AliasProperty die gelijkstaat 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 Typ doel
CommandType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Moet gelijk zijn aan 'Toepassing'.
Definitie Exemplaareigenschap (alleen-lezen) touw Een beschrijving van de toepassing.
Uitbreiding Instantie-eigenschap (lezen/schrijven) touw De extensie van het toepassingsbestand.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module die deze opdracht definieert.
Modulenaam Exemplaareigenschap (alleen-lezen) touw De naam van de module die de opdracht definieert.
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de opdracht.
Uitvoertype Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Bepaalt de typen van de waarden die door de opdracht worden uitgevoerd.
Parameterwaarden Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling De parameters van de opdracht.
Parametersets Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Informatie over de parametersets die zijn gekoppeld aan de opdracht.
Pad Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u het pad van het toepassingsbestand op.

Het type is in PowerShell System.Management.Automation.ApplicationInfo.

Typ Beschrijving van cmdlet 4.5.8

Met dit type wordt de status van een cmdlet ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
CommandType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Moet gelijk zijn aan 'Cmdlet'.
StandaardParameterset Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd De standaardparameterset die wordt gebruikt als PowerShell niet kan bepalen welke parameter moet worden gebruikt op basis van de opgegeven argumenten.
Definitie Exemplaareigenschap (alleen-lezen) touw Een beschrijving van de cmdlet.
HelpFile Instantie-eigenschap (lezen/schrijven) touw Het pad naar het Help-bestand voor de cmdlet.
Implementatietype Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd Het type waarmee de cmdlet wordt geïmplementeerd.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module die deze cmdlet definieert.
Modulenaam Exemplaareigenschap (alleen-lezen) touw De naam van de module die de cmdlet definieert.
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de cmdlet.
Zelfstandig naamwoord Exemplaareigenschap (alleen-lezen) touw De naam van het zelfstandig naamwoord van de cmdlet.
Uitvoertype Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Hiermee specificeert u de typen van de waarden die door de cmdlet worden uitgevoerd.
Parameterwaarden Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling De parameters van de cmdlet.
Parametersets Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Informatie over de parametersets die zijn gekoppeld aan de cmdlet.
Werkwoord Exemplaareigenschap (alleen-lezen) touw De werkwoordnaam van de cmdlet.
PSSnapIn Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Windows PowerShell: Informatie over de Windows PowerShell-snap-in die wordt gebruikt om de cmdlet te registreren.

Het type is in PowerShell System.Management.Automation.CmdletInfo.

4.5.9 Beschrijving van extern script

Met dit type wordt de status van een extern script ingekapseld (een script dat rechtstreeks uitvoerbaar is door PowerShell, maar niet ingebouwd). Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
CommandType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Moet gelijk zijn aan 'ExternalScript'.
Definitie Exemplaareigenschap (alleen-lezen) touw Een definitie van het script.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module die dit script definieert.
Modulenaam Exemplaareigenschap (alleen-lezen) touw De naam van de module die het script definieert.
Naam Exemplaareigenschap (alleen-lezen) touw De naam van het script.
OriginalEncoding Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd De oorspronkelijke codering die wordt gebruikt om de tekens van het script te converteren naar bytes.
Uitvoertype Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Hiermee geeft u de typen van de waarden die door het script worden uitgevoerd.
Parameterwaarden Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling De parameters van het script.
Parametersets Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Informatie over de parametersets die zijn gekoppeld aan het script.
Pad Exemplaareigenschap (alleen-lezen) touw Het pad naar het scriptbestand.
ScriptBlock Exemplaareigenschap (alleen-lezen) scriptblok Het externe script.
ScriptContents Exemplaareigenschap (alleen-lezen) touw De oorspronkelijke inhoud van het script.

Het type is in PowerShell System.Management.Automation.ExternalScriptInfo.

4.5.10 Type functiebeschrijving

Met dit type wordt de status van een functie ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
CmdletBinding Exemplaareigenschap (alleen-lezen) bool Geeft aan of de functie dezelfde parameterbinding gebruikt die gecompileerde cmdlets gebruiken (zie §12.3.5).
CommandType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Kan worden vergeleken voor gelijkheid met 'Functie' of 'Filter' om te zien welke van deze objecten dit object vertegenwoordigt.
StandaardParameterset Exemplaareigenschap (alleen-lezen) touw Hiermee geeft u de parameter die moet worden gebruikt als die niet kan worden bepaald op basis van de argumenten (zie §12.3.5).
Definitie Exemplaareigenschap (alleen-lezen) touw Een tekenreeksversie van ScriptBlock
Beschrijving Instantie-eigenschap (lezen/schrijven) touw De beschrijving van de functie.
Moduul Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd (§4.5.12) De module waaruit deze functie is geëxporteerd
Modulenaam Exemplaareigenschap (alleen-lezen) touw De module waarin deze functie is gedefinieerd
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de functie
Opties Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd De bereikopties voor de functie (§3.5.4).
Uitvoertype Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Hiermee geeft u de typen van de waardenuitvoer, in volgorde (zie §12.3.6).
Parameterwaarden Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Hiermee worden de parameternamen in volgorde gespecificeerd. Als de functie fungeert als een cmdlet (zie CmdletBinding hierboven), worden de algemene parameters opgenomen aan het einde van de verzameling.
Parametersets Exemplaareigenschap (alleen-lezen) Door de implementatie gedefinieerde verzameling Informatie over de parametersets die zijn gekoppeld aan de opdracht. Voor elke parameter wordt in het resultaat de parameternaam en het type weergegeven, en wordt aangegeven of de parameter verplicht is, hetzij door positie of als switchparameter. Als de functie fungeert als een cmdlet (zie CmdletBinding hierboven), worden de algemene parameters opgenomen aan het einde van de verzameling.
ScriptBlock Exemplaareigenschap (alleen-lezen) scriptblock (§4.3.6) De inhoud van de functie

Het type is in PowerShell 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 die Zichtbaarheidheet.

4.5.11 Filterbeschrijvingstype

Dit type kapselt de status van een filter in. Het heeft dezelfde set toegankelijke leden als het type functiebeschrijving (§4.5.10).

Het type is in PowerShell System.Management.Automation.FilterInfo. Het heeft dezelfde set eigenschappen als System.Management.Automation.FunctionInfo (§4.5.11).

4.5.12 Beschrijving van moduletype

Met dit type wordt de status van een module ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Beschrijving Instantie-eigenschap (lezen/schrijven) touw De beschrijving van de module (ingesteld door het manifest)
ModuleType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Het type van het module (Manifest, Script of Binary)
Naam Exemplaareigenschap (alleen-lezen) touw De naam van de module
Pad Exemplaareigenschap (alleen-lezen) touw Het pad van de module

Het type is in PowerShell System.Management.Automation.PSModuleInfo. Het type ModuleType is System.Management.Automation.ModuleType.

4.5.13 Aangepast objectbeschrijvingstype

Met dit type wordt de status van een aangepast object ingekapseld. Het heeft geen toegankelijke leden.

Het type is in PowerShell System.Management.Automation.PSCustomObject. De cmdlets Import-Module en New-Object kunnen een object van dit type genereren.

4.5.14 Type opdrachtbeschrijving

De automatische variabele $PSCmdlet is een object dat de cmdlet of functie vertegenwoordigt die wordt uitgevoerd. Het type van dit object is implementatie-gedefinieerd; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
ParameterSetName Exemplaareigenschap (alleen-lezen) touw Naam van de huidige parameterset (zie ParameterSetName)
MoetVerderGaan 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 Type beschrijving van foutrecord

De automatische variabele $Error bevat een verzameling foutrecords die recente fouten vertegenwoordigen (§3.12). Hoewel het type van deze verzameling niet is opgegeven, biedt deze wel ondersteuning voor subscripting om toegang te krijgen tot afzonderlijke foutrecords.

In PowerShell is het verzamelingstype System.Collections.ArrayList. Het type 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: hiermee wordt gedetailleerdere foutinformatie opgehaald en ingesteld, zoals een vervangend foutbericht.
  • Uitzondering: hiermee haalt u de uitzondering op die aan deze foutrecord is gekoppeld.
  • FullyQualifiedErrorId: haalt de volledig gekwalificeerde fout-id voor deze foutrecord op.
  • InvocationInfo : haalt informatie op over de opdracht die is aangeroepen toen de fout optrad.
  • PipelineIterationInfo - Haalt de status van de pijplijn op toen deze foutmelding werd aangemaakt
  • TargetObject: haalt het object op dat werd verwerkt toen de fout optrad.

4.5.16 Beschrijvingstype enumerator

Een aantal variabelen zijn enumerators voor verzamelingen (§4). De automatische variabele $foreach is de enumerator die is gemaakt voor elke foreach instructie. De automatische variabele $input is de opsommingsfunctie voor een verzameling die vanuit de pijplijn aan een functie wordt geleverd. De automatische variabele $switch is de enumerator die is gemaakt voor elke switch instructie.

Het type enumerator is gedefinieerd; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Actueel Exemplaareigenschap (alleen-lezen) Voorwerp Haalt het huidige element in de verzameling op. Als de enumerator momenteel niet op een element van de verzameling geplaatst is, is het gedrag afhankelijk van de implementatie.
MoveNext Instantiemethode Geen/bool Voert de enumerator naar het volgende element van de verzameling. Retourneert $true als de enumerator succesvol naar het volgende element is verplaatst; $false als de enumerator het einde van de verzameling is gepasseerd.

In PowerShell worden deze leden gedefinieerd in de interface System.IEnumerator, die wordt geïmplementeerd door de onderstaande typen. Als de opsommingsfunctie momenteel niet in een element van de verzameling wordt weergegeven, wordt er een uitzondering van het type InvalidOperationException gegenereerd. Voor $foreachis dit type System.Array+SZArrayEnumerator. Voor $inputis dit type System.Collections.ArrayList+ArrayListEnumeratorSimple. Voor $switchis dit type System.Array+SZArrayEnumerator.

4.5.17 Directorybeschrijvingstype

Met de cmdlet New-Item kunt u items van verschillende soorten maken, waaronder bestandssysteemmappen. Het type van een mapbeschrijvingsobject is implementatie-afhankelijk; het heeft de volgende toegankelijke attributen:

Lid soort Typ doel
Kenmerken Instantie-eigenschap (lezen/schrijven) Tenuitvoerlegging gedefinieerd (§4.2.6.3) Hiermee haalt u een of meer van de kenmerken van het mapobject op of stelt u deze in.
Aanmaaktijd Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd (§4.5.19) Hiermee wordt de aanmaaktijd van het mapobject opgehaald en ingesteld.
Uitbreiding Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u het extensiegedeelte van de mapnaam op.
Volledige naam Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u het volledige pad van de map op.
LaatsteSchrijfTijd Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd (§4.5.19) Deze functie haalt de tijd op en stelt de tijd in waarop de map voor het laatst is gewijzigd.
Naam Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de naam van de map op.

Het type is in PowerShell System.IO.DirectoryInfo. Het type van de eigenschap Kenmerken is System.IO.FileAttributes.

4.5.18 Bestandsbeschrijvingstype

Met de cmdlet New-Item items van verschillende soorten kunnen worden gemaakt, waaronder bestandssysteembestanden. Het type van een bestandsbeschrijvingsobject is implementatie-gedefinieerd; het heeft de volgende toegankelijke elementen:

Lid soort Typ doel
Kenmerken Instantie-eigenschap (lezen/schrijven) Tenuitvoerlegging gedefinieerd (§4.2.6.3) Hiermee haalt u een of meer van de kenmerken van het bestandsobject op of stelt u deze in.
BaseName Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de naam op van het bestand met uitzondering van de extensie.
Aanmaaktijd Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd (§4.5.19) Hiermee haalt u de aanmaaktijd van het bestandsobject op en stelt u deze in.
Uitbreiding Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u het extensiegedeelte van de bestandsnaam op.
Volledige naam Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u het volledige pad van het bestand op.
LaatsteSchrijfTijd Instantie-eigenschap (lezen/schrijven) Implementatie gedefinieerd (§4.5.19) Hiermee wordt de tijd opgehaald en ingesteld waarop het bestand voor het laatst is geschreven.
Lengte Exemplaareigenschap (alleen-lezen) lang Geeft de grootte van het bestand in bytes.
Naam Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de naam van het bestand op.
VersieInfo Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Windows PowerShell: Deze ScriptProperty retourneert een System.Diagnostics.FileVersionInfo voor het bestand.

Het type is in PowerShell System.IO.FileInfo.

4.5.19 Date-Time beschrijvingstype

Het type van een beschrijvingsobject voor datum/tijd is gedefinieerd; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Dag Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het dagonderdeel op van de maand die wordt vertegenwoordigd door dit exemplaar.
Uur Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het uuronderdeel van de datum op die wordt vertegenwoordigd door dit exemplaar.
Minuut Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het minuutgedeelte van de datum op die wordt voorgesteld door deze instantie.
Maand Exemplaareigenschap (alleen-lezen) Integer Haalt de maandcomponent op van de datum die wordt weergegeven door dit object.
Tweede Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u de secondencomponent van de datum op die door dit object wordt vertegenwoordigd.
Jaar Exemplaareigenschap (alleen-lezen) Integer Haalt het jaargedeelte van de datum op die wordt vertegenwoordigd door deze instantie.

Een object van dit type kan worden gemaakt door cmdlet Get-Date.

Het type is in PowerShell System.DateTime.

4.5.20 Group-Info beschrijvingstype

Het type van een groepsinformatie beschrijvingsobject is implementatiebepaald; het heeft de volgende toegankelijke elementen:

Lid Lidsoort Typ Doel
Aantal Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het aantal elementen in de groep op.
Groep Exemplaareigenschap (alleen-lezen) Door implementatie gedefinieerde verzameling Haalt de elementen van de groep op.
Naam Exemplaareigenschap (alleen-lezen) touw Haalt de naam van de groep op.
Waarden Exemplaareigenschap (alleen-lezen) Door implementatie gedefinieerde verzameling Haalt de waarden op van de elementen van de groep.

Een object van dit type kan worden gemaakt door cmdlet Group-Object.

Het type is in PowerShell Microsoft.PowerShell.Commands.GroupInfo.

4.5.21 Generic-Measure-Info beschrijvingstype

Het type van een generic-measure-info beschrijvingsobject is implementatie-gedefinieerd; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Gemiddeld Exemplaareigenschap (alleen-lezen) dubbel Hiermee haalt u het gemiddelde op van de waarden van de eigenschappen die worden gemeten.
Aantal Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het aantal objecten op met de opgegeven eigenschappen.
Maximaal Exemplaareigenschap (alleen-lezen) dubbel Hiermee haalt u de maximumwaarde van de opgegeven eigenschappen op.
Minimaal Exemplaareigenschap (alleen-lezen) dubbel Hiermee haalt u de minimumwaarde van de opgegeven eigenschappen op.
Vastgoed Exemplaareigenschap (alleen-lezen) touw Hiermee wordt de eigenschap opgehaald die moet worden gemeten.
Som Exemplaareigenschap (alleen-lezen) dubbel Hiermee haalt u de som van de waarden van de opgegeven eigenschappen op.

Een object van dit type kan worden gemaakt door cmdlet Measure-Object.

Het type is in PowerShell Microsoft.PowerShell.Commands.GenericMeasureInfo.

4.5.22 Tekst -Measure-Info beschrijvingstype

Het type van een beschrijvingsobject voor tekstinformatie is door de implementatie bepaald; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Karakters Exemplaareigenschap (alleen-lezen) Integer Haalt het aantal tekens in het doelobject op.
Lijnen Exemplaareigenschap (alleen-lezen) Integer Hiermee haalt u het aantal regels van het doelobject op.
Vastgoed Exemplaareigenschap (alleen-lezen) touw Hiermee wordt de eigenschap opgehaald die moet worden gemeten.
Woorden Exemplaareigenschap (alleen-lezen) Integer Hiermee wordt het aantal woorden in het doelobject opgehaald.

Een object van dit type kan worden gemaakt door cmdlet Measure-Object.

Het type is in PowerShell Microsoft.PowerShell.Commands.TextMeasureInfo.

4.5.23 Referentietype

Een referentieobject kan vervolgens worden gebruikt in verschillende beveiligingsbewerkingen. Het type van een referentie-object is gedefinieerd door de implementatie; het heeft de volgende toegankelijke onderdelen:

Lid Lidsoort Typ Doel
Wachtwoord Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Hiermee haal je het wachtwoord op.
Gebruikersnaam Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de gebruikersnaam op.

Een object van dit type kan worden gemaakt door cmdlet Get-Credential.

Het type is in PowerShell System.Management.Automation.PSCredential.

4.5.24 Methodeaanduidertype

Het type van een methodeaanduiding is afhankelijk van de implementatie; het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Aanroepen Instantiemethode object/variabele nummer en type Neemt een variabel aantal argumenten en roept indirect de methode aan waarnaar wordt verwezen door de bovenliggende methodeontwerper, waarbij de argumenten worden doorgegeven.

Een object van dit type kan worden gemaakt door een aanroepexpressie (§7.1.3).

In PowerShell is dit type System.Management.Automation.PSMethod.

4.5.25 Definitie van lid-type

Met dit type wordt de definitie van een lid ingekapseld. Het heeft de volgende toegankelijke leden:

Lid soort Typ doel
Definitie Exemplaareigenschap (alleen-lezen) touw Hiermee haalt u de definitie van het lid op.
MemberType Exemplaareigenschap (alleen-lezen) Implementatie gedefinieerd Hiermee haalt u het PowerShell-type van het lid op.
Naam Exemplaareigenschap (alleen-lezen) touw Haalt de naam van het lid op.
TypeName Exemplaareigenschap (alleen-lezen) touw Haalt de typenaam van het lid op.

Het type is in PowerShell Microsoft.PowerShell.Commands.MemberDefinition.

4.6 Type uitbreiding en aanpassing

Een PowerShell-implementatie bevat een reeks kerntypen (die in dit hoofdstuk worden beschreven) die elk hun eigen set basisledenbevatten. Deze leden kunnen methoden of eigenschappen zijn en kunnen exemplaren of statische leden zijn. De basisleden van het type string (§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 exemplaarmethoden van dat type worden aangeroepen op dat object. Een object kan tijdens runtime worden aangepast via het toevoegen van exemplaarleden. Het resultaat wordt een aangepast objectgenoemd. Alle leden die aan een exemplaar zijn toegevoegd, bestaan alleen gedurende 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 uitgebreide type systeem (ETS), waarvan de meeste details niet zijn gespecificeerd.
  • heeft leden uitgebreidvia de cmdlet Add-Member.

In PowerShell kunnen uitgebreide leden ook worden toegevoegd via types.ps1xml bestanden. Aangepaste en uitgebreide leden worden gezamenlijk synthetischeledengenoemd.

De ETS voegt de volgende leden toe aan alle PowerShell-objecten: psbase, psadapted, psextendeden pstypenames. Zie de parameters Force en View in de cmdlet Get-Member voor meer informatie over deze parameters.

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 kunnen de ledensets psadapted en psextended worden gebruikt om toegang te krijgen tot deze verborgen leden.

Als een types.ps1xml een lid met de naam Ondersteuntspecificeert, biedt obj.psextended alleen toegang tot dat lid en niet tot een lid dat via Add-Memberis toegevoegd.

Er zijn drie manieren om een aangepast object te maken met een nieuw lid M:

  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 Leden van NoteProperty of ScriptMethod toe te voegen.

    $x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}
    
  3. Deze methode kan worden gebruikt om elk type 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.