4. Typer

Redaktionell anteckning

Viktigt!

Windows PowerShell Language Specification 3.0 publicerades i december 2012 och baseras på Windows PowerShell 3.0. Den här specifikationen återspeglar inte det aktuella tillståndet för PowerShell. Det finns ingen plan för att uppdatera den här dokumentationen för att återspegla det aktuella tillståndet. Den här dokumentationen presenteras här för historisk referens.

Specifikationsdokumentet är tillgängligt som ett Microsoft Word dokument från Microsoft Download Center på: https://www.microsoft.com/download/details.aspx?id=36389 Det Word dokumentet har konverterats för presentation här på Microsoft Learn. Under konverteringen har vissa redaktionella ändringar gjorts för att anpassa formateringen för Docs-plattformen. Vissa stavfel och mindre fel har korrigerats.

I PowerShell har varje värde en typ och typerna hamnar i någon av två huvudkategorier: värdetyper och referenstyper. Överväg typen int, vilket är typiskt för värdetyper. Ett värde av typen int är helt fristående. alla bitar som behövs för att representera det värdet lagras i det värdet, och varje bitmönster i det värdet representerar ett giltigt värde för dess typ. Överväg nu matristypen int[], vilket är typiskt för referenstyper. Ett så kallat värde av en matristyp kan innehålla antingen en referens till ett objekt som faktiskt innehåller matriselementen eller null-referens vars värde är $null. Den viktiga skillnaden mellan de två typkategorierna framgår bäst av skillnaderna i deras semantik under tilldelningen. Ett exempel:

$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

Som vi kan se omfattar tilldelningen av ett referenstypsvärde en ytlig kopia; en kopia av referensen till objektet snarare än dess faktiska värde. En djupkopiering kräver däremot att även en kopia av objektet skapas.

En numerisk typ är en som tillåter representation av heltals- eller bråkvärden och som stöder aritmetiska åtgärder på dessa värden. I uppsättningen numeriska typer ingår heltal (§4.2.3) och realnummer (§4.2.4) typer, men inkluderar inte bool (§4.2.1) eller tecken (§4.2.2). En implementering kan ge andra numeriska typer (till exempel signerade byte, osignerat heltal och heltal av andra storlekar).

En samling är en grupp med ett eller flera relaterade objekt som inte behöver ha samma typ. Exempel på samlingstyper är matriser, staplar, köer, listor och hash-tabeller. Ett program kan räkna upp (eller iterera) över elementen i en samling och få åtkomst till varje element en i taget. Vanliga sätt att göra detta är med foreach -instruktionen (§8.4.4) och cmdleten ForEach-Object. Typen av ett objekt som representerar en uppräknare beskrivs i §4.5.16.

I det här kapitlet finns det tabeller som visar tillgängliga medlemmar för en viss typ. När det gäller metoder skrivs Type med följande format: returnType/argumentTypeList. Om argumenttypslistan är för lång för att få plats i kolumnen visas den i kolumnen Purpose i stället.

Andra heltalstyper är SByte, Int16, UInt16, UInt32och UInt64, allt i namnområdet System.

Många samlingsklasser definieras som en del av System.Collections eller System.Collections.Generic namnområden. De flesta samlingsklasser implementerar gränssnitten ICollection, IComparer, IEnumerable, IList, IDictionaryoch IDictionaryEnumerator och deras generiska motsvarigheter.

Du kan också använda kortnamn för vissa typer. Mer information finns i about_Type_Accelerators.

4.1 Specialtyper

4.1.1 Typ av tomrum

Det går inte att instansiera den här typen. Det möjliggör att man kan förkasta ett värde explicit med hjälp av kastoperatorn (§7.2.9).

4.1.2 Null-typen

Den null-typen har en instans, den automatiska variabeln $null (§2.3.2.2), även kallat null-värdet. Det här värdet ger ett sätt att uttrycka "ingenting" i referenskontexter. Egenskaperna för den här typen är ospecificerade.

4.1.3 Objekttypen

Varje typ i PowerShell förutom null-typen (§4.1.2) härleds direkt eller indirekt från typobjektet, så objektet är den ultimata bastypen för alla typer som inte är null. En variabel som är begränsad (§5.3) för att skriva objekt är egentligen inte begränsad alls, eftersom den kan innehålla ett värde av vilken typ som helst.

4.2 Värdetyper

4.2.1 Booleskt värde

Den booleska typen är bool. Det finns bara två värden av den här typen, False och True, som representeras av de automatiska variablerna $false respektive $true(§2.3.2.2).

I PowerShell mappar bool till System.Boolean.

4.2.2 Tecken

Ett teckenvärde har typtecken, som kan lagra alla UTF-16-kodade 16-bitars Unicode-kodpunkter.

Typen char har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) röding Det största möjliga värdet av char-datatypen
Minimumvärde Statisk egenskap (skrivskyddad) röding Det minsta möjliga värdet för teckentyp
IsControl Statisk metod bool/char Testar om tecknet är ett kontrolltecken
IsDigit Statisk metod bool/char Testar om tecknet är en decimalsiffra
IsLetter Statisk metod bool/char Testar om tecknet är en alfabetisk bokstav
ÄrBokstavEllerSiffra Statisk metod bool/char Testar om tecknet är en decimalsiffra eller alfabetisk bokstav
IsLower Statisk metod bool/char Testar om tecknet är en alfabetisk gemen bokstav
IsPunctuation Statisk metod bool/char Testar om tecknet är ett skiljetecken
IsUpper Statisk metod bool/char Testar om tecknet är en alfabetisk stor bokstav
IsWhiteSpace Statisk metod bool/char Testar om tecknet är ett blankstegstecken.
ToLower Statisk metod tecken/sträng Konverterar tecknet till gemener
ToUpper Statisk metod tecken/sträng Konverterar tecknet till versaler

Windows PowerShell: char maps to System.Char.

4.2.3 Heltal

Det finns två signerade heltalstyper som båda använder tvåkomplementsrepresentation för negativa värden.

  • Skriv int, vilken använder 32 bitar och ger ett intervall från -2147483648 till +2147483647, inklusive.
  • Skriv long, vilket använder 64 bitar och ger den ett intervall från -9223372036854775808 till +9223372036854775807, inklusive.

Type int har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) Int Det största möjliga värdet för typ-int
Minimumvärde Statisk egenskap (skrivskyddad) Int Det minsta möjliga värdet för typ-int

Type long har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) lång Det största möjliga värdet av typen long
Minimumvärde Statisk egenskap (skrivskyddad) lång Det minsta möjliga värdet för typen long

Det finns en osignerad heltalstyp:

  • Skriv byte, som använder 8 bitar som ger det ett intervall på 0 till 255, inklusive.

Typ byte har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) byte Största möjliga värde av typen byte
Minimumvärde Statisk egenskap (skrivskyddad) byte Minsta möjliga värde av typen byte

I PowerShell mappar byte, intoch long till System.Byte, System.Int32och System.Int64.

4.2.4 Verkligt tal

4.2.4.1 float och dubbel

Det finns två verkliga typer (eller flyttalstyper):

  • Typ float använder en 32-bitars IEEE-representation med enkel precision.
  • Typ double använder 64-bitars IEEE-representation med dubbel precision.

Ett tredje typnamn, single, är en synonym för typen float; float används i den här specifikationen.

Även om storleken och representationen av de typer som float och double definieras av den här specifikationen, kan en implementering använda utökad precision för mellanliggande resultat.

Typen float har följande tillgängliga attribut:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) flyta/sväva Det största möjliga värdet av datatypen float
Minimumvärde Statisk egenskap (skrivskyddad) flyta/sväva Det minsta möjliga värdet av typen float
NaN Statisk egenskap (skrivskyddad) flyta/sväva Konstantvärdet Not-a-Number
NegativeInfinity Statisk egenskap (skrivskyddad) flyta/sväva Det konstanta värdet negativ oändlighet
PositiveInfinity Statisk egenskap (skrivskyddad) flyta/sväva Den konstanta värdet positiv oändlighet

Datatypen double har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) dubbel Det största möjliga värdet av typen double
Minimumvärde Statisk egenskap (skrivskyddad) dubbel Det minsta möjliga värdet av datatypen double
NaN Statisk egenskap (skrivskyddad) dubbel Konstantvärdet Not-a-Number
NegativeInfinity Statisk egenskap (skrivskyddad) dubbel Det konstanta värdet negativ oändlighet
PositiveInfinity Statisk egenskap (skrivskyddad) dubbel Den konstanta värdet positiv oändlighet

I PowerShell mappar float och double till System.Single respektive System.Double.

4.2.4.2 decimal

Typ decimal använder en 128-bitars representation. Den måste minst stödja en skalning s så att 0 <= s<= minst 28 och ett värdeintervall från -79228162514264337593543950335 till 79228162514264337593543950335. Den faktiska representationen av decimaler är beroende av implementeringen.

Typ decimal har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Maxvärde Statisk egenskap (skrivskyddad) decimal Det största möjliga värdet av typen decimal
Minimumvärde Statisk egenskap (skrivskyddad) decimal Det minsta möjliga värdet av typen decimal

Anmärkning

Decimaltal har en egenskap som kallas skala, som representerar antalet siffror till höger om decimaltecknet. Till exempel har värdet 2,340 en skala på 3 där avslutande nollor är betydande. När två decimaltal läggs till eller subtraheras blir resultatets skala den större av de två skalorna. Till exempel är 1.0 + 2.000 3.000, medan 5.0-2.00 är 3.00. När två decimaltal multipliceras är resultatets skala summan av de två skalorna. Till exempel är 1,0 * 2 000 2 0000. När två decimaltal delas är resultatets skala skalan för den första mindre skalan för den andra. Till exempel är 4.00000/2.000 2.00. En skalning får dock inte vara mindre än den som behövs för att bevara rätt resultat. Till exempel är 3.000/2.000, 3.00/2.000, 3.0/2.000 och 3/2 alla 1.5.

I PowerShell mappar decimal till System.Decimal. Representationen av decimaler är följande:

  • När den betraktas som en matris med fyra int värden innehåller den följande element:
    • Index 0 (bitar 0–31) innehåller 32 bitar i låg ordning av decimalkoefficienten.
    • Index 1 (bitar 32–63) innehåller de mellersta 32 bitarna av decimalkoefficienten.
    • Index 2 (bitar 64–95) innehåller 32 bitar i hög ordning av decimalkoefficienten.
    • Index 3 (bitar 96–127) innehåller teckenbiten och skalan enligt följande:
      • bitar 0--15 är noll
      • bitar 16-23 innehåller skalan som ett värde 0--28
      • bitar 24-30 är noll
      • bit 31 är tecknet (0 för positivt, 1 för negativt)

4.2.5 Växeltypen

Den här typen används för att begränsa typen av en parameter i ett kommando (§8.10.5). Om det finns ett argument med det motsvarande parameternamnet, testas parametern som $true; annars testas den som $false.

I PowerShell mappar switch till System.Management.Automation.SwitchParameter.

4.2.6 Uppräkningstyper

En uppräkningstyp är en som definierar en uppsättning namngivna konstanter som representerar alla möjliga värden som kan tilldelas till ett objekt av den uppräkningstypen. I vissa fall är uppsättningen med värden sådana att endast ett värde kan representeras i taget. I andra fall är uppsättningen med värden distinkta krafter av två, och genom att använda -bor operatorn (§7.8.5) kan flera värden kodas i samma objekt.

PowerShell-miljön innehåller ett antal uppräkningstyper enligt beskrivningen i följande avsnitt.

4.2.6.1 Action-Preference typ

Den här implementeringsdefinierade typen har följande tillgängliga medlemmar med ömsesidigt uteslutande värden:

Medlem Medlemstyp Syfte
Fortsätta Uppräkningskonstant PowerShell-körningen fortsätter bearbetningen och meddelar användaren att en åtgärd har inträffat.
Förfrågan Uppräkningskonstant PowerShell-körningen slutar bearbeta och frågar användaren hur den ska fortsätta.
TystKontinuera Uppräkningskonstant PowerShell-körningen fortsätter bearbetningen utan att meddela användaren om att en åtgärd har inträffat.
Stoppa Uppräkningskonstant PowerShell-körningen kommer att sluta sin bearbetning när en åtgärd inträffar.

I PowerShell är den här typen System.Management.Automation.ActionPreference.

4.2.6.2 Confirm-Impact typ

Den här implementeringsdefinierade typen har följande tillgängliga medlemmar med ömsesidigt uteslutande värden:

Medlem Medlemstyp Syfte
Högt Uppräkningskonstant Åtgärden som utförs har en hög risk att förlora data, till exempel att formatera om en hårddisk.
Låg Uppräkningskonstant Den utförda åtgärden har en låg risk att förlora data.
Medel Uppräkningskonstant Åtgärden som utförs har en medelhög risk att förlora data.
Ingen Uppräkningskonstant Bekräfta inte några åtgärder (utelämna alla begäranden om bekräftelse).

I PowerShell är den här typen System.Management.Automation.ConfirmImpact.

4.2.6.3 File-Attributes typ

Den här implementeringsdefinierade typen har följande tillgängliga medlemmar, som kan kombineras:

Medlem Medlemstyp Syfte
Arkiv Uppräkningskonstant Filens arkivstatus. Program använder det här attributet för att markera filer för säkerhetskopiering eller borttagning.
Komprimerad Uppräkningskonstant Filen är komprimerad.
Apparat Reserverad för framtida användning.
Katalog Uppräkningskonstant Filen är en katalog.
Krypterade Uppräkningskonstant Filen eller katalogen är krypterad. För en fil innebär det att alla data i filen är krypterade. För en katalog innebär det att kryptering är standard för nyligen skapade filer och kataloger.
Dold Uppräkningskonstant Filen är dold och ingår därför inte i en vanlig kataloglista.
Normal Uppräkningskonstant Filen är normal och har inga andra attribut inställda. Det här attributet är endast giltigt om det används ensamt.
Inte indexerad i innehåll Uppräkningskonstant Filen indexeras inte av operativsystemets innehållsindexeringstjänst.
Offline Uppräkningskonstant Filen är offline. Data i filen är inte omedelbart tillgängliga.
ReadOnly Uppräkningskonstant Filen är skrivskyddad.
ReparsePoint Uppräkningskonstant Filen innehåller en referenspunkt, vilket är ett block med användardefinierade data som är associerade med en fil eller en katalog.
SparseFile Uppräkningskonstant Filen är en gles fil. Glesa filer är vanligtvis stora filer vars data huvudsakligen är nollor.
Systemet Uppräkningskonstant Filen är en systemfil. Filen är en del av operativsystemet eller används uteslutande av operativsystemet.
Temporär Uppräkningskonstant Filen är tillfällig. Filsystem försöker behålla alla data i minnet för snabbare åtkomst i stället för att tömma data tillbaka till masslagring. En tillfällig fil bör tas bort av programmet så snart den inte längre behövs.

I PowerShell är den här typen System.IO.FileAttributes med attributet FlagsAttribute.

4.2.6.4 VanligExpression-Option typ

Den här implementeringsdefinierade typen har följande tillgängliga medlemmar, som kan kombineras:

Medlem Medlemstyp Syfte
IgnoreCase Uppräkningskonstant Anger att matchningen är skiftlägesokänslig.
Ingen Uppräkningskonstant Anger att inga alternativ har angetts.

En implementering kan ge andra värden.

I PowerShell är den här typen System.Text.RegularExpressions.RegexOptions med attributet FlagsAttribute. Följande extra värden definieras: Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.

4.3 Referenstyper

4.3.1 Strängar

Ett strängvärde har typsträng och är en oföränderlig sekvens med noll eller fler tecken av typen char som var och en innehåller en UTF-16-kodad 16-bitars Unicode-kodpunkt.

Typsträngen har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Längd Instansegenskap int (skrivskyddad) Hämtar antalet tecken i strängen
ToLower Instansmetod sträng Skapar en ny sträng som innehåller motsvarigheten i gemener
ToUpper Instansmetod sträng Skapar en ny sträng som innehåller versalers motsvarighet

I PowerShell mappar string till System.String.

4.3.2 Matriser

Alla matristyper härleds från typen array. Den här typen har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Längd Instansegenskap (skrivskyddad) Int Antal element i matrisen
Rang Instansegenskap (skrivskyddad) Int Antal dimensioner i matrisen
Kopiera Statisk metod ogiltig/se kolumnen Syfte

Kopierar ett område med element från en matris till en annan. Det finns fyra versioner där källa är källmatrisen, mål är målmatrisen, antal är antalet element som ska kopieras och sourceIndex och destinationIndex är startplatserna i respektive matriser:

Copy(källa, destination, int antal)
Kopiera(källa, destination, långt antal)
Copy(source, sourceIndex, destination, destinationIndex, int count)
Kopiera(källa, källindex, destination, destinationsindex, långt antal)

HämtaLängd Instansmetod (endast läsbar) int/none

Antal element i en viss dimension

GetLength(int dimension)

Mer information om matriser finns i §9.

I PowerShell mappar array till System.Array.

4.3.3 Hashtabeller

Typen Hashtable har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Räkna Instansegenskap Int Hämtar antalet nyckel/värde-par i Hashtable
Nycklar Instansegenskap Implementeringsdefinierad Hämtar en samling med alla nycklar
Värden Instansegenskap Implementeringsdefinierad Hämtar en samling med alla värden
Ta bort Instansmetod ogiltig/ingen Tar bort den avsedda nyckeln/värdet

Mer information om Hashtables finns i §10.

I PowerShell mappar Hashtable till System.Collections.Hashtable. Hashtable element lagras i ett objekt av typen DictionaryEntryoch samlingarna som returneras av nycklar och värden har typen ICollection.

4.3.4 Xml-typen

Typ xml implementerar W3C Document Object Model (DOM) Level 1 Core och Core DOM Level 2. DOM är en minnesintern trädrepresentation av ett XML-dokument och möjliggör navigering och redigering av det här dokumentet. Den här typen stöder indexoperatorn [] (§7.1.4.4).

I PowerShell mappar xml till System.Xml.XmlDocument.

4.3.5 Regex-typen

Typ regex tillhandahåller maskiner för bearbetning av reguljära uttryck. Den används för att begränsa typen av en parameter (§5.3) vars motsvarande argument kan innehålla ett reguljärt uttryck.

I PowerShell mappar regex till System.Text.RegularExpressions.Regex.

4.3.6 Referenstypen

Vanligtvis skickas argument till kommandon efter värde. Om ett argument har någon värdetyp skickas en kopia av värdet. Om ett argument har någon referenstyp skickas en kopia av referensen.

Type ref erbjuder mekanismer för att argument ska kunna skickas till kommandon via referens, så att kommandona kan ändra argumentets värde. Typ ref har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Värde Instansegenskap (läs- och skrivbar) Typen av värde som refereras till. Hämtar/anger det hänvisade värdet.

Överväg följande funktionsdefinition och -anrop:

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

Tänk på i vilket fall $number är typbegränsad:

[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

Som du ser måste både argumentet och dess motsvarande parameter deklareras ref.

I PowerShell mappar ref till System.Management.Automation.PSReference.

4.3.7 Typ av skriptblockering

Typ scriptblock representerar ett förkompilerat block med skripttext (§7.1.8) som kan användas som en enda enhet. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Egenskaper Instansegenskap (skrivskyddad) Samling av attribut Hämtar attributen för skriptblocket.
Fil Instansegenskap (skrivskyddad) sträng Hämtar namnet på filen där skriptblocket definieras.
Modul Instansegenskap (skrivskyddad) implementering definierad ([§4.5.12][§4.5.12]) Hämtar information om modulen där skriptblocket definieras.
GetNewClosure Instansmetod skriptblock
/ingen
Hämtar ett skriptblock som är bundet till en modul. Alla lokala variabler som finns i kontexten för anroparen kopieras till modulen.
Åkalla Instansmetod Samling av objekt/objekt[] Anropar skriptblocket med de angivna argumenten och returnerar resultatet.
InvokeReturnAsIs Instansmetod objekt/objekt[] Anropar skriptblocket med de angivna argumenten och returnerar alla objekt som genereras.
Skapa Statisk metod skriptblock
/sträng
Skapar ett nytt scriptblock-objekt som innehåller det angivna skriptet.

I PowerShell mappar scriptblock till System.Management.Automation.ScriptBlock. Invoke returnerar en samling PSObject.

4.3.8 Matematiktypen

Typ math ger åtkomst till vissa konstanter och metoder som är användbara i matematiska beräkningar. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
E Statisk egenskap (skrivskyddad) dubbel Naturlig logaritmisk bas
PI Statisk egenskap (skrivskyddad) dubbel Förhållandet mellan en cirkels omkrets och dess diameter
Abs Statisk metod numeriskt/numeriskt Absolut värde (returtypen är samma som typen av argumentet som skickades in)
Acos Statisk metod dubbel/dubbel Vinkel vars cosiné är det angivna talet
Asin Statisk metod dubbel/dubbel Vinkel vars sinus är det angivna talet
Atan Statisk metod dubbel/dubbel Vinkel vars tangent är det angivna talet
Atan2 Statisk metod dubbel/dubbel y, dubbel x Vinkel vars tangent är kvoten för två angivna tal x och y
Tak Statisk metod

decimal/decimal

dubbel/dubbel

minsta heltal större än eller lika med det angivna talet
Cos Statisk metod dubbel/dubbel Cosinus för den angivna vinkeln
Cosh Statisk metod dubbel/dubbel Hyperbolisk cosinus för den angivna vinkeln
Exp Statisk metod dubbel/dubbel e upphöjt till den angivna strömmen
Våning Statisk metod

decimal/decimal

dubbel/dubbel

Största heltal som är mindre än eller lika med det angivna talet
Logg Statisk metod

dubbelt/dubbelt nummer

dubbelt/dubbelt nummer, dubbelt bas

Logaritm av tal med bas e eller bas bas
Log10 Statisk metod dubbel/dubbel Base-10 logaritm för ett angivet tal
Max Statisk metod numeriskt/numeriskt Större av två angivna tal (returtypen är samma som typen av argument som skickas in)
Min Statisk metod numeriskt/numeriskt, numeriskt Mindre av två angivna tal (returtypen är samma som typen av argument som skickas in)
Pang Statisk metod dubbel/dubbel x, dubbel y Ett angivet tal x upphöjt till angiven ström y
Synd Statisk metod dubbel/dubbel Sinus av den angivna vinkeln
Sinh Statisk metod dubbel/dubbel Hyperbolisk sinus för den angivna vinkeln
Sqrt Statisk metod dubbel/dubbel Kvadratrot för ett angivet tal
Tan Statisk metod dubbel/dubbel Tangent för den angivna vinkeln
Tanh Statisk metod dubbel/dubbel Hyperbolisk tangens för den angivna vinkeln

I PowerShell mappar Math till System.Math.

4.3.9 Den beställda typen

Typ ordered är en pseudotyp som endast används för konverteringar.

4.3.10 Typen pscustomobject

Typ pscustomobject är en pseudotyp som endast används för konverteringar.

4.4 Allmänna typer

Ett antal programmeringsspråk och miljöer tillhandahåller typer som kan specialiserade. Många av dessa typer kallas containertypereftersom instanser av dem kan innehålla objekt av någon annan typ. Överväg en typ som heter Stack, som kan representera en stack med värden där element kan läggas till och tas bort från toppen. Vanligtvis vill användaren av en stack bara lagra en typ av objekt på den stacken. Men om språket eller miljön inte stöder typspecialisering måste flera distinkta varianter av typen Stack implementeras trots att de alla utför samma uppgift, bara med olika typelement.

Med typspecialisering kan en generisk typ implementeras så att den kan begränsas till att hantera vissa delmängder av typer när den används. Ett exempel:

  • En allmän stacktyp som är specialiserad på att innehålla strängar kan skrivas som Stack[string].
  • En allmän ordlistetyp som är specialiserad på att lagra int-nycklar med associerade strängvärden kan skrivas som Dictionary[int,string].
  • En stack med strängar kan skrivas som Stack[Stack[string]].

Även om PowerShell inte definierar några inbyggda generiska typer kan det använda sådana typer om de tillhandahålls av värdmiljön. Se syntaxen i §7.1.10.

Det fullständiga namnet på typen Stack[string] som föreslås ovan är System.Collections.Generic.Stack[string]. Det fullständiga namnet på typen Dictionary[int,string] som föreslås ovan är System.Collections.Generic.Dictionary[int,string].

4.5 Anonyma typer

I vissa fall skapar en implementering av PowerShell objekt av någon typ, och dessa objekt har medlemmar som är tillgängliga för skript. Det faktiska namnet på dessa typer behöver dock inte anges, så länge de tillgängliga medlemmarna anges tillräckligt tydligt för att de ska kunna användas. Det vill: skript kan spara objekt av dessa typer och komma åt sina medlemmar utan att känna till dessa typers namn. Följande underavsnitt anger dessa typer.

4.5.1 Providerbeskrivningstyp

Den här typen kapslar in tillståndet för en leverantör. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Drivrutiner Instansegenskap (skrivskyddad) Implementering definierad (§4.5.2) En samling av drivbeskrivningsobjekt
Namn Instansegenskap (skrivskyddad) sträng Namnet på providern

I PowerShell är den här typen System.Management.Automation.ProviderInfo.

4.5.2 Typ av enhetsbeskrivning

Den här typen kapslar in tillståndet för en enhet. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
NuvarandePlats Instansegenskap (läs- och skrivbar) sträng Nuvarande plats för arbete (§3.1.4) för enheten
Beskrivning Instansegenskap (läs- och skrivbar) sträng Beskrivningen av enheten
Namn Instansegenskap (skrivskyddad) sträng Namnet på enheten
Rot Instansegenskap (skrivskyddad) sträng Namnet på enheten

I PowerShell är den här typen System.Management.Automation.PSDriveInfo.

Typ av variabelbeskrivning

Den här typen kapslar in tillståndet för en variabel. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Egenskaper Instansegenskap (skrivskyddad) Implementering definierad En samling attribut
Beskrivning Instansegenskap (läs- och skrivbar) sträng Beskrivningen som tilldelats variabeln via cmdletarna New-Variable eller Set-Variable.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen från vilken den här variabeln exporterades
ModulNamn Instansegenskap (skrivskyddad) sträng Modulen där den här variabeln definierades
Namn Instansegenskap (skrivskyddad) sträng Namnet som tilldelades variabeln när den skapades på PowerShell-språket eller via cmdletarna New-Variable och Set-Variable.
Alternativ Instansegenskap (läs- och skrivbar) sträng De alternativ som tilldelats variabeln via cmdletarna New-Variable och Set-Variable.
Värde Instansegenskap (läs- och skrivbar) objekt Värdet som tilldelades variabeln när den tilldelades på PowerShell-språket eller via cmdletarna New-Variable och Set-Variable.

I PowerShell är den här typen System.Management.Automation.PSVariable.

Windows PowerShell: Typen av attributsamling är System.Management.Automation.PSVariableAttributeCollection.

4.5.4 Aliasbeskrivningstyp

Den här typen kapslar in tillståndet för ett alias. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Kommandotyp Instansegenskap (skrivskyddad) Implementering definierad Ska jämföras som lika med "Alias".
Definition Instansegenskap (skrivskyddad) sträng Kommandot eller aliaset till vilket aliaset tilldelades via cmdletarna New-Alias eller Set-Alias.
Beskrivning Instansegenskap (läs- och skrivbar) sträng Beskrivningen som tilldelats aliaset via cmdletarna New-Alias eller Set-Alias.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen från vilken det här aliaset exporterades
ModulNamn Instansegenskap (skrivskyddad) sträng Modulen där det här aliaset definierades
Namn Instansegenskap (skrivskyddad) sträng Namnet som tilldelades aliaset när det skapades via cmdletarna New-Alias eller Set-Alias.
Alternativ Instansegenskap (läs- och skrivbar) sträng De alternativ som tilldelats aliaset via cmdletarna New-Alias New-Alias eller Set-Alias.
Utmatningstyp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Anger de typer av värden som utdata från kommandot som aliaset refererar till.
Parameterar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Parametrarna för kommandot.
Parameteruppsättningar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Information om de parameteruppsättningar som är associerade med kommandot.
ReferencedCommand Instansegenskap (skrivskyddad) Implementering definierad Information om kommandot som omedelbart refereras till av det här aliaset.
LöstKommando Instansegenskap (skrivskyddad) Implementering definierad Information om kommandot som aliaset slutligen löser.

I PowerShell är den här typen System.Management.Automation.AliasInfo.

4.5.5 Beskrivningstyp för arbetsplats

Den här typen kapslar in tillståndet för en arbetsplats. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Köra Instansegenskap (skrivskyddad) Implementering definierad (§4.5.2) Ett objekt för enhetsbeskrivning
Väg Instansegenskap (skrivskyddad) sträng Arbetsplatsen
Leverantör Instansegenskap (skrivskyddad) Implementering definierad (§4.5.1) Leverantören
ProviderPath Instansegenskap (skrivskyddad) sträng Providerns aktuella sökväg

En stack med arbetsplatslokationer är en samling arbetsplatsobjekt, som beskrivs ovan.

I PowerShell representeras en aktuell arbetsplats av ett objekt av typen System.Management.Automation.PathInfo. En stack med arbetsplatser representeras av ett objekt av typen System.Management.Automation.PathInfoStack, som är en samling PathInfo objekt.

4.5.6 Beskrivningstyp för miljövariabel

Den här typen kapslar in tillståndet för en miljövariabel. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Namn Instansegenskap (läs- och skrivbar) sträng Namnet på miljövariabeln
Värde Instansegenskap (läs- och skrivbar) sträng Värdet för miljövariabeln

I PowerShell är den här typen System.Collections.DictionaryEntry. Namnet på variabeln är ordlistenyckeln. Värdet för miljövariabeln är ordlistevärdet. Namn är en AliasProperty som motsvarar Nyckel.

4.5.7 Programbeskrivningstyp

Den här typen kapslar in tillståndet för ett program. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Kommandotyp Instansegenskap (skrivskyddad) Implementering definierad Ska jämföras som lika med "Applikation".
Definition Instansegenskap (skrivskyddad) sträng En beskrivning av programmet.
Förlängning Instansegenskap (läs- och skrivbar) sträng Filnamnstillägget för programfilen.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen som definierar det här kommandot.
ModulNamn Instansegenskap (skrivskyddad) sträng Namnet på modulen som definierar kommandot.
Namn Instansegenskap (skrivskyddad) sträng Namnet på kommandot.
Utmatningstyp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Ange typerna på de värden som kommandot skickar ut.
Parameterar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Parametrarna för kommandot.
Parameteruppsättningar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Information om de parameteruppsättningar som är associerade med kommandot.
Väg Instansegenskap (skrivskyddad) sträng Hämtar sökvägen till programfilen.

I PowerShell är den här typen System.Management.Automation.ApplicationInfo.

4.5.8 Cmdlet-beskrivningstyp

Den här typen kapslar in tillståndet för en cmdlet. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Kommandotyp Instansegenskap (skrivskyddad) Implementering definierad Ska jämföras med "Cmdlet".
Standardparameteruppsättning Instansegenskap (skrivskyddad) Implementering definierad Standardparameteruppsättningen som används om PowerShell inte kan avgöra vilken parameter som ska användas baserat på de angivna argumenten.
Definition Instansegenskap (skrivskyddad) sträng En beskrivning av cmdleten.
Hjälpfil Instansegenskap (läs- och skrivbar) sträng Sökvägen till hjälpfilen för cmdleten.
ImplementerandeTyp Instansegenskap (läs- och skrivbar) Implementering definierad Den typ som implementerar cmdleten.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen som definierar den här cmdleten.
ModulNamn Instansegenskap (skrivskyddad) sträng Namnet på modulen som definierar cmdleten.
Namn Instansegenskap (skrivskyddad) sträng Namnet på cmdleten.
Substantiv Instansegenskap (skrivskyddad) sträng Cmdletens substantivnamn.
Utmatningstyp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Anger vilka typer av värden som ska matas ut av cmdleten.
Parameterar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Parametrarna för cmdleten.
Parameteruppsättningar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Information om de parameteruppsättningar som är associerade med cmdleten.
Verb Instansegenskap (skrivskyddad) sträng Cmdletens verbnamn.
PSSnapIn Instansegenskap (skrivskyddad) Implementering definierad Windows PowerShell: Information om snapin-modulen Windows PowerShell som används för att registrera cmdleten.

I PowerShell är den här typen System.Management.Automation.CmdletInfo.

4.5.9 Beskrivning av externt skript

Den här typen kapslar in tillståndet för ett externt skript (ett skript som kan köras direkt av PowerShell, men som inte är inbyggt). Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Kommandotyp Instansegenskap (skrivskyddad) Implementering definierad Ska jämföras med "ExternalScript".
Definition Instansegenskap (skrivskyddad) sträng En definition av skriptet.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen som definierar det här skriptet.
ModulNamn Instansegenskap (skrivskyddad) sträng Namnet på modulen som definierar skriptet.
Namn Instansegenskap (skrivskyddad) sträng Namnet på skriptet.
UrsprungligKodning Instansegenskap (skrivskyddad) Implementering definierad Den ursprungliga kodningen som används för att konvertera skriptets tecken till byte.
Utmatningstyp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Anger typerna av de värden som skriptet genererar.
Parameterar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Parametrarna för skriptet.
Parameteruppsättningar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Information om de parameteruppsättningar som är associerade med skriptet.
Väg Instansegenskap (skrivskyddad) sträng Sökvägen till skriptfilen.
ScriptBlock Instansegenskap (skrivskyddad) skriptblock Det externa skriptet.
ScriptContents Instansegenskap (skrivskyddad) sträng Det ursprungliga innehållet i skriptet.

I PowerShell är den här typen System.Management.Automation.ExternalScriptInfo.

4.5.10 Funktionsbeskrivningstyp

Den här typen kapslar in tillståndet för en funktion. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
CmdletBinding Instansegenskap (skrivskyddad) bool Anger om funktionen använder samma parameterbindning som kompilerade cmdletar använder (se §12.3.5).
Kommandotyp Instansegenskap (skrivskyddad) Implementering definierad Kan jämföras för likhet med "Funktion" eller "Filter" för att se vilken av dessa som det här objektet representerar.
Standardparameteruppsättning Instansegenskap (skrivskyddad) sträng Anger vilken parameter som ska användas om det inte kan fastställas utifrån argumenten (se §12.3.5).
Definition Instansegenskap (skrivskyddad) sträng En strängversion av ScriptBlock
Beskrivning Instansegenskap (läs- och skrivbar) sträng Beskrivningen av funktionen.
Modul Instansegenskap (skrivskyddad) Implementering definierad (§4.5.12) Modulen från vilken den här funktionen exporterades
ModulNamn Instansegenskap (skrivskyddad) sträng Modulen där den här funktionen definierades
Namn Instansegenskap (skrivskyddad) sträng Namnet på funktionen
Alternativ Instansegenskap (läs- och skrivbar) Implementering definierad Omfångsalternativen för funktionen (§3.5.4).
Utmatningstyp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Anger typerna av värden i ordning (se §12.3.6).
Parameterar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Anger parameternamnen i ordning. Om funktionen fungerar som en cmdlet (se CmdletBinding ovan) tas de vanliga parametrarna med i slutet av samlingen.
Parameteruppsättningar Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Information om de parameteruppsättningar som är associerade med kommandot. För varje parameter visar resultatet parameternamnet och typen och anger om parametern är obligatorisk, efter position eller parameter [switch] . Om funktionen fungerar som en cmdlet (se CmdletBinding ovan) tas de vanliga parametrarna med i slutet av samlingen.
ScriptBlock Instansegenskap (skrivskyddad) scriptblock (§4.3.6) Funktionens brödtext

I PowerShell är den här typen System.Management.Automation.FunctionInfo.

  • CommandType har typen System.Management.Automation.CommandTypes.
  • Options har typen System.Management.Automation.ScopedItemOptions.
  • OutputType har typen System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]].
  • Parameters har typen System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]].
  • ParameterSets har typen System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]].
  • Synligheten har typen System.Management.Automation.SessionStateEntryVisibility.
  • PowerShell har också en egenskap som heter Visibility.

4.5.11 Filterbeskrivningstyp

Den här typen kapslar in tillståndet för ett filter. Den har samma uppsättning tillgängliga medlemmar som funktionsbeskrivningstypen (§4.5.10).

I PowerShell är den här typen System.Management.Automation.FilterInfo. Den har samma uppsättning egenskaper som System.Management.Automation.FunctionInfo (§4.5.11).

4.5.12 Modulbeskrivningstyp

Den här typen kapslar in tillståndet för en modul. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Beskrivning Instansegenskap (läs- och skrivbar) sträng Beskrivningen av modulen (som anges av manifestet)
Modultyp Instansegenskap (skrivskyddad) Implementering definierad Typ av modul (manifest, skript eller binär)
Namn Instansegenskap (skrivskyddad) sträng Namnet på modulen
Väg Instansegenskap (skrivskyddad) sträng Modulens sökväg

I PowerShell är den här typen System.Management.Automation.PSModuleInfo. Typen av ModuleType är System.Management.Automation.ModuleType.

4.5.13 Beskrivningstyp för anpassat objekt

Den här typen kapslar in tillståndet för ett anpassat objekt. Den har inga tillgängliga medlemmar.

I PowerShell är den här typen System.Management.Automation.PSCustomObject. Cmdletarna Import-Module och New-Object kan generera ett objekt av den här typen.

4.5.14 Kommandobeskrivningstyp

Den automatiska variabeln $PSCmdlet är ett objekt som representerar cmdleten eller funktionen som körs. Typen av det här objektet är implementering definierad. den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
ParameterSetName Instansegenskap (skrivskyddad) sträng Namnet på den aktuella parameteruppsättningen (se ParameterSetName)
ShouldContinue Instansmetod

Överbelastad

/Bool

Begär bekräftelse av en åtgärd från användaren.
ShouldProcess Instansmetod

Överbelastad

/Bool

Begär bekräftelse från användaren innan en åtgärd utförs.

I PowerShell är den här typen System.Management.Automation.PSScriptCmdlet.

4.5.15 Typ av beskrivning av felpost

Den automatiska variabeln $Error innehåller en samling felposter som representerar de senaste felen (§3.12). Även om typen av den här samlingen är ospecificerad, har den stöd för att använda abonnemang för att få åtkomst till individuella felposter.

I PowerShell är samlingstypen System.Collections.ArrayList. Typen av en enskild felpost i samlingen är System.Management.Automation.ErrorRecord. Den här typen har följande offentliga egenskaper:

  • CategoryInfo – Hämtar information om felkategorin.
  • ErrorDetails – Hämtar och anger mer detaljerad felinformation, till exempel ett ersättningsfelmeddelande.
  • Undantag – Hämtar undantaget som är associerat med den här felposten.
  • FullyQualifiedErrorId – Hämtar den fullständigt kvalificerade felidentifieraren för den här felposten.
  • InvocationInfo – Hämtar information om kommandot som anropades när felet inträffade.
  • PipelineIterationInfo – Hämtar status för pipelinen när den här felposten skapades
  • TargetObject – Hämtar objektet som bearbetades när felet inträffade.

4.5.16 Uppräkningsbeskrivningstyp

Ett antal variabler är uppräknare för samlingar (§4). Den automatiska variabeln $foreach är uppräknaren som skapats för alla foreach-instruktioner. Den automatiska variabeln $input är uppräknaren för en samling som levereras till en funktion från pipelinen. Den automatiska variabeln $switch är uppräknaren som skapats för alla switch-instruktioner.

Typen av en uppräknare är implementeringsdefinierad; den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Ström Instansegenskap (skrivskyddad) objekt Hämtar det aktuella elementet i samlingen. Om räknaren för närvarande inte är placerad vid något element i samlingen är beteendet implementeringsdefinierat.
FlyttaNästa Instansmetod Ingen/bool Avancerar uppräknaren till nästa element i samlingen. Returnerar $true om uppräknaren har avancerat till nästa element. $false om uppräknaren har passerat slutet av samlingen.

I PowerShell definieras dessa medlemmar i gränssnittet System.IEnumerator, som implementeras av de typer som identifieras nedan. Om uppräknaren för närvarande inte är placerad på ett element i samlingen utlöses ett undantag av typen InvalidOperationException. För $foreachär den här typen System.Array+SZArrayEnumerator. För $inputär den här typen System.Collections.ArrayList+ArrayListEnumeratorSimple. För $switchär den här typen System.Array+SZArrayEnumerator.

4.5.17 Katalogbeskrivningstyp

Cmdleten New-Item kan skapa objekt av olika slag, inklusive FileSystem-kataloger. Typen av ett katalogbeskrivningsobjekt är implementeringsdefinierad. den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Egenskaper Instansegenskap (läs- och skrivbar) Implementering definierad (§4.2.6.3) Hämtar eller anger ett eller flera av attributen för katalogobjektet.
Skapandetid Instansegenskap (läs- och skrivbar) Implementering definierad (§4.5.19) Hämtar och anger skapandetiden för katalogobjektet.
Förlängning Instansegenskap (skrivskyddad) sträng Hämtar tilläggsdelen av katalognamnet.
Fullständigt namn Instansegenskap (skrivskyddad) sträng Hämtar den fullständiga sökvägen till katalogen.
Senaste skrivtid Instansegenskap (läs- och skrivbar) Implementering definierad (§4.5.19) Hämtar och anger den tid då katalogen senast skrevs till.
Namn Instansegenskap (skrivskyddad) sträng Hämtar namnet på katalogen.

I PowerShell är den här typen System.IO.DirectoryInfo. Typen på egenskapen Attribut är System.IO.FileAttributes.

4.5.18 Filbeskrivningstyp

Cmdleten New-Item kan skapa objekt av olika slag, inklusive FileSystem-filer. Typen av ett filbeskrivningsobjekt är implementering definierad. den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Egenskaper Instansegenskap (läs- och skrivbar) Implementering definierad (§4.2.6.3) Hämtar eller anger ett eller flera av attributen för filobjektet.
Basnamn Instansegenskap (skrivskyddad) sträng Hämtar namnet på filen exklusive tillägget.
Skapandetid Instansegenskap (läs- och skrivbar) Implementering definierad (§4.5.19) Hämtar och anger skapandetiden för filobjektet.
Förlängning Instansegenskap (skrivskyddad) sträng Hämtar filnamnets tilläggsdel.
Fullständigt namn Instansegenskap (skrivskyddad) sträng Hämtar filens fullständiga sökväg.
Senaste skrivtid Instansegenskap (läs- och skrivbar) Implementering definierad (§4.5.19) Hämtar och anger den tid då filen senast skrevs till.
Längd Instansegenskap (skrivskyddad) lång Hämtar filens storlek i byte.
Namn Instansegenskap (skrivskyddad) sträng Hämtar namnet på filen.
Versionsinformation Instansegenskap (skrivskyddad) Implementering definierad Windows PowerShell: Det här ScriptProperty returnerar filen System.Diagnostics.FileVersionInfo.

I PowerShell är den här typen System.IO.FileInfo.

4.5.19 Date-Time beskrivningstyp

Typen av ett datum-tid-beskrivningsobjekt är implementationsdefinierad; den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Dag Instansegenskap (skrivskyddad) Int Hämtar dagskomponenten för månaden som representeras av den här instansen.
Timme Instansegenskap (skrivskyddad) Int Hämtar timkomponenten för det datum som representeras av den här instansen.
Minut Instansegenskap (skrivskyddad) Int Hämtar minutkomponenten för det datum som representeras av den här instansen.
Månad Instansegenskap (skrivskyddad) Int Hämtar månadskomponenten för det datum som representeras av den här instansen.
Sekund Instansegenskap (skrivskyddad) Int Hämtar sekundkomponenten för det datum som representeras av den här instansen.
År Instansegenskap (skrivskyddad) Int Hämtar årskomponenten för det datum som representeras av den här instansen.

Ett objekt av den här typen kan skapas av cmdleten Get-Date.

I PowerShell är den här typen System.DateTime.

4.5.20 Group-Info beskrivningstyp

Typen av en gruppinformation beskrivningsobjekt är implementeringsdefinierad; den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Avsikt
Räkna Instansegenskap (skrivskyddad) Int Hämtar antalet element i gruppen.
Grupp Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Hämtar elementen i gruppen.
Namn Instansegenskap (skrivskyddad) sträng Hämtar namnet på gruppen.
Värden Instansegenskap (skrivskyddad) Implementeringsdefinierad samling Hämtar värdena för elementen i gruppen.

Ett objekt av den här typen kan skapas med cmdleten gruppobjekt.

I PowerShell är den här typen Microsoft.PowerShell.Commands.GroupInfo.

4.5.21 GeneriskMeasure-Info beskrivningstyp

Typen av ett generic-measure-info objekt för beskrivning är implementeringsdefinierad. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Genomsnitt Instansegenskap (skrivskyddad) dubbel Hämtar medelvärdet av värdena för de egenskaper som mäts.
Räkna Instansegenskap (skrivskyddad) Int Hämtar antalet objekt med de angivna egenskaperna.
Högsta Instansegenskap (skrivskyddad) dubbel Hämtar det maximala värdet för de angivna egenskaperna.
Lägsta Instansegenskap (skrivskyddad) dubbel Hämtar det minsta värdet för de angivna egenskaperna.
Fastighet Instansegenskap (skrivskyddad) sträng Hämtar egenskapen som ska mätas.
Summa Instansegenskap (skrivskyddad) dubbel Hämtar summan av värdena för de angivna egenskaperna.

Ett objekt av den här typen kan skapas med cmdleten Measure-Object.

I PowerShell är den här typen Microsoft.PowerShell.Commands.GenericMeasureInfo.

4.5.22 Text–Measure-Info beskrivningstyp

Typen av ett text-info-beskrivningsobjekt är implementeringsdefinierad; den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Tecken Instansegenskap (skrivskyddad) Int Hämtar antalet tecken i målobjektet.
Linjer Instansegenskap (skrivskyddad) Int Hämtar antalet rader i målobjektet.
Fastighet Instansegenskap (skrivskyddad) sträng Hämtar egenskapen som ska mätas.
Ord Instansegenskap (skrivskyddad) Int Hämtar antalet ord i målobjektet.

Ett objekt av den här typen kan skapas av cmdleten Measure-Object.

I PowerShell är den här typen Microsoft.PowerShell.Commands.TextMeasureInfo.

4.5.23 Typ av autentiseringsuppgifter

Ett autentiseringsobjekt kan sedan användas i olika säkerhetsåtgärder. Typen av ett autentiseringsobjekt är implementeringsdefinierad. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Avsikt
Lösenord Instansegenskap (skrivskyddad) Implementering definierad Hämtar lösenordet.
Användarnamn Instansegenskap (skrivskyddad) sträng Hämtar användarnamnet.

Ett objekt av den här typen kan skapas med cmdleten Get-Credential.

I PowerShell är den här typen System.Management.Automation.PSCredential.

4.5.24 Typ av metodbeteckning

Typen av metoddesignator är implementeringsdefinierad; Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Åkalla Instansmetod objekt/variabelnummer och typ Tar ett variabelt antal argument och anropar indirekt den metod som refereras till av den överordnade metoddesignatorn och skickar argumenten.

Ett objekt av den här typen kan skapas av ett anropsuttryck (§7.1.3).

I PowerShell är den här typen System.Management.Automation.PSMethod.

4.5.25 Medlemsdefinitionstyp

Den här typen kapslar in definitionen av en medlem. Den har följande tillgängliga medlemmar:

Medlem Medlemstyp Typ Syfte
Definition Instansegenskap (skrivskyddad) sträng Hämtar definitionen av medlemmen.
Medlemstyp Instansegenskap (skrivskyddad) Implementering definierad Hämtar PowerShell-typen för medlemmen.
Namn Instansegenskap (skrivskyddad) sträng Hämtar namnet på medlemmen.
Typnamn Instansegenskap (skrivskyddad) sträng Hämtar medlemmens typnamn.

I PowerShell är den här typen Microsoft.PowerShell.Commands.MemberDefinition.

4.6 Typtillägg och anpassning

En PowerShell-implementering innehåller en familj av kärntyper (som beskrivs i det här kapitlet) som var och en innehåller sin egen uppsättning basmedlemmar. Dessa medlemmar kan vara metoder eller egenskaper, och de kan vara instanser eller statiska medlemmar. Till exempel är basmedlemmarna i typsträngen (§4.3.1) instansegenskapen Längd och instansmetoderna ToLower och ToUpper.

När ett objekt skapas innehåller det alla instansegenskaper för objektets typ, och instansmetoderna av den typen kan anropas för objektet. Ett objekt kan anpassas genom att lägga till instansmedlemmar vid körning. Resultatet kallas för ett anpassat objekt. Alla medlemmar som läggs till i en instans finns bara under den instansens livslängd. andra instanser av samma kärntyp påverkas inte.

Basmedlemsuppsättningen av en typ kan utökas genom tillägg av följande typer av medlemmar:

  • anpassade medlemmar, via Extended Type System (ETS), där de flesta detaljerna är ospecificerade.
  • utökade medlemmar, via kommandot Add-Member.

I PowerShell kan utökade medlemmar också läggas till via types.ps1xml filer. Anpassade och utökade medlemmar kallas tillsammans syntetiskamedlemmar.

ETS lägger till följande medlemmar i alla PowerShell-objekt: psbase, psadapted, psextendedoch pstypenames. Mer information om dessa medlemmar finns i parametrarna Force och View i cmdleten Get-Member.

En instansmedlem kan dölja en utökad och/eller anpassad medlem med samma namn och en utökad medlem kan dölja en anpassad medlem. I sådana fall kan medlemsuppsättningarna psadapted och psextended användas för att komma åt de dolda medlemmarna.

Om en types.ps1xml anger en medlem med namnet Stöderger obj.psextended åtkomst till just den medlemmen och inte till en medlem som har lagts till via Add-Member.

Det finns tre sätt att skapa ett anpassat objekt med en ny medlem M:

  1. Den här metoden kan användas för att lägga till en eller flera NoteProperty-medlemmar.

    $x = New-Object PSObject -Property @{M = 123}
    
  2. Den här metoden kan användas för att lägga till NoteProperty- eller ScriptMethod-medlemmar.

    $x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}
    
  3. Den här metoden kan användas för att lägga till alla typer av medlemmar.

    $x = New-Object PSObject
    Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
    

PSObject är bastypen för alla PowerShell-typer.