Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
floatmaakt gebruik van de 32-bit IEEE-weergave met enkelvoudige precisie. - Type
doublemaakt 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
intwaarden, 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) |
| 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.
-
CommandTypeheeft het typeSystem.Management.Automation.CommandTypes. -
Optionsheeft het typeSystem.Management.Automation.ScopedItemOptions. -
OutputTypeheeft het typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parametersheeft het typeSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetsheeft het typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]. - Zichtbaarheid heeft het type
System.Management.Automation.SessionStateEntryVisibility. - PowerShell heeft ook een eigenschap 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:
Deze methode kan worden gebruikt om een of meer NoteProperty-leden toe te voegen.
$x = New-Object PSObject -Property @{M = 123}Deze methode kan worden gebruikt om Leden van NoteProperty of ScriptMethod toe te voegen.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}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.