Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
floatanvänder en 32-bitars IEEE-representation med enkel precision. - Typ
doubleanvä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
intvä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) |
| 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.
-
CommandTypehar typenSystem.Management.Automation.CommandTypes. -
Optionshar typenSystem.Management.Automation.ScopedItemOptions. -
OutputTypehar typenSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parametershar typenSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetshar typenSystem.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:
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}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}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.