Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota editoriale
Importante
La specifica del linguaggio Windows PowerShell 3.0 è stata pubblicata nel dicembre 2012 ed è basata su Windows PowerShell 3.0. Questa specifica non riflette lo stato corrente di PowerShell. Non è previsto l'aggiornamento di questa documentazione per riflettere lo stato corrente. Questa documentazione è presentata qui per riferimento cronologico.
Il documento delle specifiche è disponibile come documento di Microsoft Word dall'Area download Microsoft: https://www.microsoft.com/download/details.aspx?id=36389 Il documento di Word è stato convertito per la presentazione qui su Microsoft Learn. Durante la conversione sono state apportate alcune modifiche editoriali per supportare la formattazione per la piattaforma Docs. Sono stati corretti alcuni errori di digitazioni e errori secondari.
In PowerShell ogni valore ha un tipo e i tipi rientrano in una delle due categorie principali: tipi valore e tipi riferimento. Si consideri il tipo int
, che è tipico dei tipi di valore. Un valore di tipo int
è completamente indipendente; tutti i bit necessari per rappresentare tale valore vengono archiviati in tale valore e ogni criterio di bit in tale valore rappresenta un valore valido per il relativo tipo. Si consideri ora il tipo di matrice int[]
, che è tipico dei tipi riferimento. Un cosiddetto valore di un tipo di matrice può contenere un riferimento a un oggetto che contiene effettivamente gli elementi della matrice oppure l'riferimento Null il cui valore è $null
. La distinzione importante tra i due tipi di categorie è illustrata al meglio dalle differenze nella loro semantica durante l'assegnazione. Per esempio
$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
Come si può notare, l’assegnazione di un valore di tipo riferimento implica una copia superficiale; ovvero una copia del riferimento dell'oggetto piuttosto che del suo valore effettivo. Al contrario, una copia profonda richiede la creazione anche di una copia dell'oggetto.
Un tipo numerico è uno che consente la rappresentazione di valori interi o frazionari e che supporta operazioni aritmetiche su tali valori. Il set di tipi numerici include i tipi integer (§4.2.3) e il numero reale (§4.2.4), ma non include bool (§4.2.1) o char (§4.2.2). Un'implementazione può fornire altri tipi numerici, ad esempio byte con segno, integer senza segno e interi di altre dimensioni.
Una raccolta è un gruppo di uno o più elementi correlati, che non devono avere lo stesso tipo.
Esempi di tipi di raccolta sono matrici, pile, code, elenchi e tabelle hash. Un programma può enumerare (o eseguire l'iterazione) sugli elementi di una raccolta, ottenendo l'accesso a ogni elemento uno alla volta. I modi comuni per eseguire questa operazione sono l'istruzione foreach
(§8.4.4) e il cmdlet ForEach-Object . Il tipo di un oggetto che rappresenta un enumeratore è descritto in §4.5.16.
In questo capitolo sono presenti tabelle che elencano i membri accessibili per un determinato tipo. Per i metodi, il Tipo è scritto con il seguente formato: returnType/argumentTypeList. Se l'elenco dei tipi di argomento è troppo lungo da inserire in quella colonna, viene visualizzato nella colonna Scopo.
Altri tipi integer sono SByte
, Int16
, UInt16
, UInt32
e UInt64
, tutti nello spazio dei nomi System.
Molte classi di raccolta sono definite nei namespace System.Collections o System.Collections.Generic. La maggior parte delle classi di raccolta implementa le interfacce ICollection
, IComparer
, IEnumerable
, IList
, IDictionary
e IDictionaryEnumerator
e i relativi equivalenti generici.
È anche possibile usare nomi abbreviati per alcuni tipi. Per ulteriori informazioni, consultare about_Type_Accelerators.
4.1 Tipi speciali
Il tipo void
Impossibile creare un'istanza di questo tipo. Fornisce un mezzo per rimuovere un valore in modo esplicito usando l'operatore cast (§7.2.9).
4.1.2 Tipo Null
Il tipo null ha un'istanza, la variabile automatica $null (§2.3.2.2), nota anche come valore null. Questo valore offre un modo per esprimere il "nulla" nei contesti di riferimento. Le caratteristiche di questo tipo non sono specificate.
4.1.3 Tipo di oggetto
Ogni tipo in PowerShell tranne il tipo null (§4.1.2) è derivato direttamente o indirettamente dall'oggetto di tipo, pertanto l'oggetto è il tipo di base finale di tutti i tipi non Null. Una variabile vincolata (§5.3) a un oggetto di tipo non è affatto vincolata, perché può contenere un valore di qualsiasi tipo.
4.2 Tipi valore
4.2.1 Boolean
Il tipo booleano è bool
. Esistono solo due valori di questo tipo, False e True, rappresentati rispettivamente dalle variabili automatiche $false
e $true
(§2.3.2.2).
In PowerShell, bool
mappa su System.Boolean
.
4.2.2 Carattere
Un valore di carattere è di tipo char, capace di archiviare qualsiasi punto di codice Unicode a 16 bit codificato in UTF-16.
Il tipo char ha i seguenti membri accessibili:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | Char | Il valore massimo possibile di tipo char |
MinValue | Proprietà statica (sola lettura) | Char | Valore più piccolo possibile di tipo char |
IsControl | Metodo statico | bool/char | Verifica se il carattere è un carattere di controllo |
IsDigit | Metodo statico | bool/char | Verifica se il carattere è una cifra decimale |
IsLetter | Metodo statico | bool/char | Verifica se il carattere è una lettera alfabetica |
IsLetterOrDigit | Metodo statico | bool/char | Verifica se il carattere è una cifra decimale o una lettera alfabetica |
IsLower | Metodo statico | bool/char | Verifica se il carattere è una lettera alfabetica minuscola |
IsPunctuation | Metodo statico | bool/char | Verifica se il carattere è un segno di punteggiatura |
IsUpper | Metodo statico | bool/char | Verifica se il carattere è una lettera alfabetica maiuscola |
IsWhiteSpace | Metodo statico | bool/char | Verifica se il carattere è uno spazio bianco. |
ToLower | Metodo statico | char/string | Converte il carattere in minuscolo |
ToUpper | Metodo statico | char/string | Converte il carattere in lettere maiuscole |
Windows PowerShell: char mappa a System.Char.
4.2.3 Intero
Esistono due tipi di interi con segno, entrambi utilizzano la rappresentazione in complemento a due per i valori negativi.
- Tipo
int
, che usa 32 bit e ha un intervallo da -2147483648 a +2147483647, inclusivo. - Tipo
long
, che usa 64 bit con un intervallo da -9223372036854775808 a +9223372036854775807.
Il tipo int ha i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | Int | Valore massimo possibile di tipo int |
MinValue | Proprietà statica (sola lettura) | Int | Il valore minimo possibile per il tipo di dato intero (int) |
Il tipo long include i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | lungo | Il valore più grande possibile per il tipo long |
MinValue | Proprietà statica (sola lettura) | lungo | Il valore più piccolo possibile del tipo long |
Esiste un tipo intero senza segno:
- Tipo
byte
, che utilizza 8 bit, assegnandogli un intervallo che va da 0 a 255, inclusivo.
Il tipo byte
include i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | byte | Il valore massimo possibile di tipo byte |
MinValue | Proprietà statica (sola lettura) | byte | Il valore più piccolo possibile del tipo byte |
In PowerShell, byte
, int
e long
mappa rispettivamente a System.Byte
, System.Int32
e System.Int64
.
4.2.4 Numero reale
4.2.4.1 float e double
Esistono due tipi reali (o a virgola mobile):
- Il tipo
float
usa la rappresentazione a precisione singola IEEE a 32 bit. - Il tipo
double
usa la rappresentazione a precisione doppia IEEE a 64 bit.
Un terzo nome di tipo, single
, è un sinonimo di tipo float
; float
viene usato in tutta questa specifica.
Sebbene le dimensioni e la rappresentazione dei tipi float
e double
siano definite da questa specifica, un'implementazione può usare la precisione estesa per i risultati intermedi.
Il tipo float ha i seguenti membri accessibili:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | galleggiare | Il valore massimo possibile di tipo float |
Valore Minimo | Proprietà statica (sola lettura) | galleggiare | Il valore più piccolo possibile del tipo float |
NaN | Proprietà statica (sola lettura) | galleggiare | Valore costante Non un Numero |
NegativeInfinity | Proprietà statica (sola lettura) | galleggiare | Valore costante infinito negativo |
PositiveInfinity | Proprietà statica (sola lettura) | galleggiare | Valore costante infinito positivo |
Il tipo double ha i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | doppio | Valore massimo possibile di tipo double |
MinValue | Proprietà statica (sola lettura) | doppio | Il valore più piccolo possibile del tipo double |
NaN | Proprietà statica (sola lettura) | doppio | Valore costante Non un Numero |
NegativeInfinity | Proprietà statica (sola lettura) | doppio | Il valore costante dell'infinito negativo |
PositiveInfinity | Proprietà statica (sola lettura) | doppio | Il valore costante dell'infinito positivo |
In PowerShell, float
e double
vengono mappati rispettivamente su System.Single
e System.Double
.
4.2.4.2 decimale
Il tipo decimal usa una rappresentazione a 128 bit. Deve supportare almeno una scala in modo che 0 <= <s = almeno 28 e un intervallo di valori -79228162514264337593543950335 da 79228162514264337593543950335. La rappresentazione effettiva di decimale è definita dall'implementazione.
Il tipo decimal ha i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
ValoreMassimo | Proprietà statica (sola lettura) | decimale | Il valore massimo possibile di tipo decimale |
MinValue | Proprietà statica (sola lettura) | decimale | Il valore più piccolo possibile di tipo decimale |
Nota
I numeri reali decimali hanno una caratteristica denominata scala, che rappresenta il numero di cifre che seguono il punto decimale. Ad esempio, il valore 2,340 ha una scala pari a 3 dove gli zeri finali sono significativi. Quando vengono aggiunti o sottratti due numeri reali decimali, la scala del risultato è maggiore delle due scale. Ad esempio, 1.0 + 2.000 è 3.000, mentre 5.0 - 2.00 è 3.00. Quando vengono moltiplicati due numeri reali decimali, la scala del risultato è la somma delle due scale. Ad esempio, 1.0 * 2.000 è 2.0000. Quando due numeri reali decimali sono divisi, la scala del risultato è la scala del primo meno la scala del secondo. Ad esempio, 4.00000/2.000 è 2.00. Tuttavia, una scala non può essere inferiore a quella necessaria per mantenere il risultato corretto. Ad esempio, 3.000/2.000, 3.00/2.000, 3.0/2.000 e 3/2 sono tutti 1,5.
In PowerShell, decimal
mappa su System.Decimal
. La rappresentazione di decimale è la seguente:
- Se considerato come matrice di quattro valori
int
contiene gli elementi seguenti:- L'indice 0 (bit 0-31) contiene i 32 bit meno significativi del coefficiente decimale.
- L'indice 1 (bit 32-63) contiene i 32 bit centrali del coefficiente decimale.
- L'indice 2 (bit 64-95) contiene i 32 bit più significativi del coefficiente decimale.
- L'indice 3 (bit 96-127) contiene il bit e la scala del segno, come indicato di seguito:
- I bit da 0 a 15 sono zero.
- bit 16-23 contengono la scala come valore da 0 a 28
- bit 24-30 sono zero
- bit 31 è il segno (0 per positivo, 1 per negativo)
4.2.5 Tipo di interruttore
Questo tipo viene usato per vincolare il tipo di un parametro in un comando (§8.10.5). Se è presente un argomento con il nome del parametro corrispondente, il parametro viene valutato come $true; altrimenti, viene valutato come $false
.
In PowerShell, switch
mappa su System.Management.Automation.SwitchParameter
.
4.2.6 Tipi di enumerazione
Un tipo di enumerazione è uno che definisce un set di costanti denominate che rappresentano tutti i valori possibili che possono essere assegnati a un oggetto di tale tipo di enumerazione. In alcuni casi, il set di valori è tale che un solo valore può essere rappresentato alla volta. In altri casi, il set di valori è costituito da poteri distinti di due e usando l'operatore -bor (§7.8.5), è possibile codificare più valori nello stesso oggetto.
L'ambiente PowerShell fornisce diversi tipi di enumerazione, come descritto nelle sezioni seguenti.
4.2.6.1 Tipo di Preferenza d'Azione
Questo tipo definito dall'implementazione ha i seguenti membri accessibili con valori mutuamente esclusivi.
membro | tipologia di membro | Scopo |
---|---|---|
Continuare | Costante di enumerazione | Il runtime di PowerShell continuerà l'elaborazione e informerà l'utente che si è verificata un'azione. |
Informarsi | Costante di enumerazione | Il runtime di PowerShell interromperà l'elaborazione e chiederà all'utente come procedere. |
SilentlyContinue (continua silenziosamente) | Costante di enumerazione | Il runtime di PowerShell continuerà l'elaborazione senza notificare all'utente che si è verificata un'azione. |
Fermati | Costante di enumerazione | Il runtime di PowerShell interromperà l'elaborazione quando si verifica un'azione. |
In PowerShell questo tipo è System.Management.Automation.ActionPreference
.
4.2.6.2 tipo di Confirm-Impact
Questo tipo definito dall'implementazione ha i seguenti membri accessibili con valori mutuamente esclusivi.
membro | tipologia di membro | Scopo |
---|---|---|
Alto | Costante di enumerazione | L'azione eseguita ha un rischio elevato di perdita di dati, ad esempio la riformattazione di un disco rigido. |
Basso | Costante di enumerazione | L'azione eseguita ha un basso rischio di perdita dei dati. |
Medio | Costante di enumerazione | L'azione eseguita ha un rischio medio di perdita di dati. |
Nessuno | Costante di enumerazione | Non confermare alcuna azione (eliminare tutte le richieste di conferma). |
In PowerShell questo tipo è System.Management.Automation.ConfirmImpact
.
4.2.6.3 tipo di attributi di file
Questo tipo definito dall'implementazione include i membri accessibili seguenti, che possono essere combinati:
Membro | tipologia di membro | Scopo |
---|---|---|
Archivio | Costante di enumerazione | Stato dell'archivio del file. Le applicazioni usano questo attributo per contrassegnare i file per il backup o la rimozione. |
Compresso | Costante di enumerazione | Il file è compresso. |
Dispositivo | Riservato per uso futuro. | |
Directory | Costante di enumerazione | Il file è una directory. |
Criptato | Costante di enumerazione | Il file o la directory è crittografato. Per un file, ciò significa che tutti i dati nel file vengono crittografati. Per una directory, significa che la crittografia è l'impostazione predefinita per i file e le directory appena creati. |
Nascosto | Costante di enumerazione | Il file è nascosto e pertanto non è incluso in un elenco di directory normale. |
Normale | Costante di enumerazione | Il file è normale e non ha altri attributi impostati. Questo attributo è valido solo se usato da solo. |
Non indicizzato nel contenuto | Costante di enumerazione | Il file non verrà indicizzato dal servizio di indicizzazione del contenuto del sistema operativo. |
Offline | Costante di enumerazione | Il file è offline. I dati del file non sono immediatamente disponibili. |
ReadOnly | Costante di enumerazione | Il file è di sola lettura. |
ReparsePoint | Costante di enumerazione | Il file contiene un reparse point, ovvero un blocco di dati definiti dall'utente associati a un file o a una directory. |
SparseFile | Costante di enumerazione | Il file è un file sparse. I file di tipo sparse sono in genere file di grandi dimensioni i cui dati sono principalmente zeri. |
Sistema | Costante di enumerazione | Il file è un file di sistema. Il file fa parte del sistema operativo o viene utilizzato esclusivamente dal sistema operativo. |
Provvisorio | Costante di enumerazione | Il file è temporaneo. I file system tentano di mantenere tutti i dati in memoria per un accesso più rapido, invece di scrivere i dati nuovamente sull'archiviazione di massa. Un file temporaneo deve essere eliminato dall'applicazione non appena non è più necessario. |
In PowerShell questo tipo è System.IO.FileAttributes con l'attributo FlagsAttribute.
4.2.6.4 Tipo regolare-Expression-Option
Questo tipo definito dall'implementazione include i membri accessibili seguenti, che possono essere combinati:
membro | tipologia di membro | Scopo |
---|---|---|
IgnoreCase | Costante di enumerazione | Specifica che la corrispondenza è insensibile alle maiuscole e minuscole. |
Nessuno | Costante di enumerazione | Specifica che non sono impostate opzioni. |
Un'implementazione può fornire altri valori.
In PowerShell, questo tipo è System.Text.RegularExpressions.RegexOptions
con attributo FlagsAttribute
. Sono definiti i valori aggiuntivi seguenti: Compiled
, CultureInvariant
, ECMAScript
, ExplicitCapture
, IgnorePatternWhitespace
, Multiline
, RightToLeft
, Singleline
.
4.3 Tipi di riferimento
4.3.1 Stringhe
Un valore stringa è di tipo string e rappresenta una sequenza immutabile di zero o più caratteri di tipo char, ognuno contenente un punto di codice Unicode a 16 bit, codificato in UTF-16.
I membri accessibili del tipo stringa sono i seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Lunghezza | Proprietà di istanza | int (sola lettura) | Ottiene il numero di caratteri nella stringa |
ToLower | Metodo di istanza | corda | Crea una nuova stringa contenente l'equivalente minuscolo |
ToUpper | Metodo di istanza | corda | Crea una nuova stringa contenente l'equivalente maiuscolo |
In PowerShell, string
mappa su System.String
.
4.3.2 Matrici
Tutti i tipi di matrice sono derivati dal tipo array
. Questo tipo ha i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Lunghezza | Proprietà Instance (sola lettura) | Int | Numero di elementi nella matrice |
Grado | Proprietà di istanza (sola lettura) | Int | Numero di dimensioni nella matrice |
Copiare | Metodo statico | vuoto/vedi colonna Scopo | Copia un intervallo di elementi da una matrice a un'altra. Esistono quattro versioni, dove source è la matrice di origine, destination è la matrice di destinazione, count è il numero di elementi da copiare, e sourceIndex e destinationIndex sono le posizioni iniziali nelle rispettive matrici: Copia(sorgente, destinazione, int conteggio) |
GetLength | Metodo Instance (sola lettura) | int/nessuno | Numero di elementi in una determinata dimensione GetLength(int dimensione) |
Per altre informazioni sulle matrici, vedere §9.
In PowerShell, array
mappa su System.Array
.
4.3.3 Tabelle hash
Il tipo Hashtable include i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Contare | Proprietà di istanza | Int | Ottiene il numero di coppie chiave/valore nella tabella Hash |
Chiavi | Proprietà di istanza | Definito dall'implementazione | Ottiene una raccolta di tutte le chiavi |
Valori | Proprietà di istanza | Definito dall'implementazione | Ottiene una raccolta di tutti i valori |
Togliere | Metodo di istanza | vuoto/nessuno | Rimuove la chiave/valore designata |
Per altre informazioni sulle tabelle Hash, vedere §10.
In PowerShell, Hashtable
mappa su System.Collections.Hashtable
.
Hashtable
gli elementi vengono archiviati in un oggetto di tipo DictionaryEntry
e le raccolte restituite da Keys and Values hanno tipo ICollection
.
4.3.4 Tipo xml
Il tipo xml implementa il core DOM (Document Object Model) W3C Level 1 e il Core DOM Level 2. Il DOM è una rappresentazione ad albero in memoria (cache) di un documento XML e consente la navigazione e la modifica di questo documento. Questo tipo supporta l'operatore indice [] (§7.1.4.4).
In PowerShell, xml
mappa su System.Xml.XmlDocument
.
4.3.5 Tipo regex
Il tipo regex
fornisce macchinari per supportare l'elaborazione di espressioni regolari. Viene usato per vincolare il tipo di un parametro (§5.3) il cui argomento corrispondente potrebbe contenere un'espressione regolare.
In PowerShell, regex
mappa su System.Text.RegularExpressions.Regex
.
4.3.6 Tipo di riferimento
In genere, gli argomenti vengono passati ai comandi per valore. Nel caso in cui un argomento abbia un certo tipo di valore, viene passata una copia del valore. Nel caso di un argomento con un tipo di riferimento, si passa una copia del riferimento.
Type ref fornisce un meccanismo per consentire il passaggio degli argomenti ai comandi per riferimento, in modo che i comandi possano modificare il valore dell'argomento. Type ref ha i membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Valore | Proprietà di istanza (lettura/scrittura) | Tipo del valore a cui si fa riferimento. | Ottiene/imposta il valore a cui si fa riferimento. |
Si consideri la definizione e la chiamata di funzione seguenti:
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
Si consideri il caso in cui $number è vincolato dal tipo:
[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
Come illustrato, sia l'argomento che il parametro corrispondente devono essere dichiarati ref
.
In PowerShell, ref
mappa su System.Management.Automation.PSReference
.
4.3.7 Tipo di scriptblock
Il tipo scriptblock
rappresenta un blocco precompilato di testo script (§7.1.8) che può essere usato come singola unità. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Attributi | Proprietà di istanza (sola lettura) | Raccolta di attributi | Ottiene gli attributi del blocco di codice script. |
File | Proprietà di istanza (sola lettura) | corda | Ottiene il nome del file in cui è definito il blocco di script. |
Modulo | Proprietà di istanza (sola lettura) | implementazione definita ([§4.5.12][§4.5.12]) | Ottiene informazioni sul modulo in cui è definito il blocco di script. |
GetNewClosure | Metodo dell'istanza | blocco di script /nessuno |
Recupera un blocco di script associato a un modulo. Tutte le variabili locali presenti nel contesto del chiamante verranno copiate nel modulo. |
Invocare | Metodo dell'istanza | Raccolta di oggetto/oggetti[] | Richiama il blocco di script con gli argomenti specificati e restituisce i risultati. |
InvokeReturnAsIs | Metodo dell'istanza | oggetto/oggetto[] | Richiama il blocco di script con gli argomenti specificati e restituisce tutti gli oggetti generati. |
Creare | Metodo statico | blocco di script /stringa |
Crea un nuovo oggetto scriptblock che contiene lo script specificato. |
In PowerShell, scriptblock
mappa su System.Management.Automation.ScriptBlock
.
Invoke
restituisce una raccolta di PSObject
.
4.3.8 Tipo matematico
Il tipo math
fornisce l'accesso ad alcune costanti e metodi utili nei calcoli matematici. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
E | Proprietà statica (sola lettura) | doppio | Base logaritmica naturale |
Pi greco | Proprietà statica (sola lettura) | doppio | Rapporto della circonferenza di un cerchio al suo diametro |
Addominali | Metodo statico | numerico/numerico | Valore assoluto (il tipo restituito corrisponde al tipo dell'argomento passato) |
Acos | Metodo statico | doppia doppia | Angolo il cui coseno è il numero specificato |
Asin | Metodo statico | doppia doppia | Angolo il cui seno è il numero specificato |
Atan | Metodo statico | doppia doppia | Angolo la cui tangente è il numero specificato |
Atan2 | Metodo statico | doppio/doppio y, doppio x | Angolo la cui tangente è il quoziente di due numeri specificati x e y |
Soffitto | Metodo statico | decimale/decimale doppia doppia |
numero intero più piccolo maggiore o uguale al numero specificato |
Perché | Metodo statico | doppia doppia | Coseno dell'angolo specificato |
Manganello | Metodo statico | doppia doppia | Coseno iperbolico dell'angolo specificato |
Scad. | Metodo statico | doppia doppia | e elevato alla potenza specificata |
Pavimento | Metodo statico | decimale/decimale doppia doppia |
Intero più grande minore o uguale al numero specificato |
Registro | Metodo statico | double/double numero doppio/doppio numero, doppio base |
Logaritmo di un numero usando la base e, la base o la base |
Log10 | Metodo statico | doppia doppia | Logaritmo in base 10 di un numero specificato |
Max | Metodo statico | numerico/numerico | Il maggiore fra due numeri specificati (il tipo restituito è lo stesso degli argomenti forniti) |
Minuti | Metodo statico | numerico/numerico, numerico | Minore di due numeri specificati (il tipo restituito è identico al tipo degli argomenti) |
Pum | Metodo statico | doppio/doppio x, doppio y | Numero specificato x elevato alla potenza specificata y |
Peccato | Metodo statico | doppia doppia | Seno dell'angolo specificato |
Sinh | Metodo statico | doppia doppia | Seno iperbolico dell'angolo specificato |
Sqrt | Metodo statico | doppia doppia | Radice quadrata di un numero specificato |
Abbronzatura | Metodo statico | doppia doppia | Tangente dell'angolo specificato |
Tanh | Metodo statico | doppia doppia | Tangente iperbolica dell'angolo specificato |
In PowerShell, Math
mappa su System.Math
.
4.3.9 Tipo ordinato
Il tipo ordered
è uno pseudotipo utilizzato solo per le conversioni.
4.3.10 Tipo pscustomobject
Il tipo pscustomobject
è uno pseudotipo utilizzato solo per le conversioni.
4.4 Tipi generici
Diversi linguaggi e ambienti di programmazione forniscono tipi che possono essere specializzati. Molti di questi tipi sono denominati tipi di contenitore, perché le istanze di tali tipi sono in grado di contenere oggetti di un tipo diverso. Si consideri un tipo chiamato Stack che può rappresentare uno stack di valori, ai quali si possono aggiungere o dai quali si possono eliminare elementi. In genere, l'utente di uno stack vuole archiviare un solo tipo di oggetto nello stack. Tuttavia, se il linguaggio o l'ambiente non supporta la specializzazione dei tipi, è necessario implementare più varianti distinte del tipo Stack anche se eseguono tutte la stessa attività, solo con elementi di tipo diversi.
La specializzazione dei tipi consente di implementare un tipo generico in modo che possa essere vincolato alla gestione di alcuni subset di tipi quando viene usato. Per esempio
- Un tipo di stack generico specializzato per contenere stringhe può essere scritto come
Stack[string]
. - Un tipo di dizionario generico specializzato per contenere chiavi int con valori stringa associati può essere scritto come
Dictionary[int,string]
. - Uno stack di stack di stringhe può essere scritto come
Stack[Stack[string]]
.
Anche se PowerShell non definisce tipi generici predefiniti, può usare tali tipi se forniti dall'ambiente host. Vedere la sintassi in §7.1.10.
Il nome completo per il tipo Stack[string]
suggerito in precedenza è System.Collections.Generic.Stack[string]
. Il nome completo per il tipo Dictionary[int,string]
suggerito in precedenza è System.Collections.Generic.Dictionary[int,string]
.
4.5 Tipi anonimi
In alcune circostanze, un'implementazione di PowerShell crea oggetti di un tipo e tali oggetti hanno membri accessibili allo script. Tuttavia, non è necessario specificare il nome reale di tali tipi, purché i membri accessibili vengano specificati in modo sufficiente per essere utilizzati. Ovvero, gli script possono salvare oggetti di tali tipi e accedere ai relativi membri senza conoscere effettivamente i nomi di tali tipi. Le sottosezioni seguenti specificano questi tipi.
Tipo di descrizione del provider
Questo tipo incapsula lo stato di un provider. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Unità | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.2) | Raccolta di oggetti descrittivi delle unità |
Nome | Proprietà di istanza (sola lettura) | corda | Nome del provider |
In PowerShell questo tipo è System.Management.Automation.ProviderInfo
.
Tipo di descrizione del disco
Questo tipo incapsula lo stato di un disco. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
PosizioneAttuale | Proprietà di istanza (lettura/scrittura) | corda | Posizione di lavoro corrente (§3.1.4) dell'unità |
Descrizione | Proprietà di istanza (lettura/scrittura) | corda | Descrizione dell'unità |
Nome | Proprietà di istanza (sola lettura) | corda | Nome del drive |
Radice | Proprietà di istanza (sola lettura) | corda | Nome del drive |
In PowerShell questo tipo è System.Management.Automation.PSDriveInfo
.
4.5.3 Tipo di descrizione variabile
Questo tipo incapsula lo stato di una variabile. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Attributi | Proprietà di istanza (sola lettura) | Implementazione definita | Raccolta di attributi |
Descrizione | Proprietà di istanza (lettura/scrittura) | corda | Alla variabile viene assegnata una descrizione tramite i cmdlet New-Variable |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo da cui è stata esportata questa variabile |
ModuleName | Proprietà di istanza (sola lettura) | corda | Modulo in cui è stata definita questa variabile |
Nome | Proprietà di istanza (sola lettura) | corda | Nome assegnato alla variabile al momento della creazione nel linguaggio di PowerShell o tramite i cmdlet New-Variable e Set-Variable . |
Opzioni | Proprietà di istanza (lettura/scrittura) | corda | Opzioni assegnate alla variabile tramite i cmdlet New-Variable e Set-Variable . |
Valore | Proprietà di istanza (lettura/scrittura) | oggetto | Valore assegnato alla variabile quando è stato assegnato nel linguaggio di PowerShell o tramite i cmdlet New-Variable e Set-Variable . |
In PowerShell questo tipo è System.Management.Automation.PSVariable
.
Windows PowerShell: il tipo della raccolta di attributi è System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Tipo di descrizione alias
Questo tipo incapsula lo stato di un alias. Dispone dei membri accessibili seguenti:
Membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
TipoDiComando | Proprietà di istanza (sola lettura) | Implementazione definita | Dovrebbe corrispondere a "Alias". |
Definizione | Proprietà di istanza (sola lettura) | corda | Il comando o alias a cui era assegnato l'alias tramite i cmdlet New-Alias o Set-Alias. |
Descrizione | Proprietà di istanza (lettura/scrittura) | corda | Descrizione assegnata all'alias tramite i cmdlet New-Alias o Set-Alias . |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo da cui è stato esportato questo alias |
ModuleName | Proprietà di istanza (sola lettura) | corda | Modulo in cui è stato definito questo alias |
Nome | Proprietà di istanza (sola lettura) | corda | Nome assegnato all'alias quando è stato creato tramite i cmdlet New-Alias o Set-Alias . |
Opzioni | Proprietà di istanza (lettura/scrittura) | corda | Opzioni assegnate all'alias tramite i cmdlet New-Alias New-Alias o Set-Alias . |
TipoDiOutput | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i tipi dei valori restituiti dal comando a cui fa riferimento l'alias. |
Parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Parametri del comando. |
ParameterSets | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Informazioni sui set di parametri associati al comando. |
ComandoReferenziato | Proprietà di istanza (sola lettura) | Implementazione definita | Informazioni sul comando a cui fa immediatamente riferimento questo alias. |
ComandoRisolto | Proprietà di istanza (sola lettura) | Implementazione definita | Informazioni sul comando a cui si risolve l'alias. |
In PowerShell questo tipo è System.Management.Automation.AliasInfo
.
4.5.5 Tipo di descrizione della posizione lavorativa
Questo tipo incapsula lo stato di una posizione di lavoro. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Guida | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.2) | Oggetto di descrizione dell'unità |
Percorso | Proprietà di istanza (sola lettura) | corda | Posizione di lavoro |
Fornitore | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.1) | Il provider |
ProviderPath | Proprietà di istanza (sola lettura) | corda | Il percorso attuale del provider |
Un insieme di posizioni di lavoro è una raccolta di oggetti di posizione di lavoro, come descritto in precedenza.
In PowerShell una posizione di lavoro corrente è rappresentata da un oggetto di tipo System.Management.Automation.PathInfo
. Uno stack di posizioni di lavoro è rappresentato da un oggetto di tipo System.Management.Automation.PathInfoStack
, che è una raccolta di oggetti PathInfo
.
4.5.6 Tipo di descrizione della variabile di ambiente
Questo tipo incapsula lo stato di una variabile di ambiente. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Nome | Proprietà di istanza (lettura/scrittura) | corda | Nome della variabile di ambiente |
Valore | Proprietà di istanza (lettura/scrittura) | corda | Valore della variabile di ambiente |
In PowerShell questo tipo è System.Collections.DictionaryEntry
. Il nome della variabile è la chiave del dizionario. Il valore della variabile di ambiente è il valore del dizionario.
Name è un AliasProperty
che equivale a Chiave.
4.5.7 Tipo di descrizione dell'applicazione
Questo tipo incapsula lo stato di un'applicazione. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Tipo di Comando | Proprietà di istanza (sola lettura) | Implementazione definita | Dovrebbe essere uguale a "Application". |
Definizione | Proprietà di istanza (sola lettura) | corda | Descrizione dell'applicazione. |
Estensione | Proprietà di istanza (lettura/scrittura) | corda | Estensione del file dell'applicazione. |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo che definisce questo comando. |
ModuleName | Proprietà di istanza (sola lettura) | corda | Nome del modulo che definisce il comando. |
Nome | Proprietà di istanza (sola lettura) | corda | Nome del comando. |
TipoDiOutput | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i tipi dei valori restituiti dal comando . |
Parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Parametri del comando. |
ParameterSets | Proprietà di istanza (sola lettura) | Collezione definita dall'implementazione | Informazioni sui set di parametri associati al comando. |
Percorso | Proprietà di istanza (sola lettura) | corda | Ottiene il percorso del file dell'applicazione. |
In PowerShell questo tipo è System.Management.Automation.ApplicationInfo
.
4.5.8 Tipo di descrizione del cmdlet
Questo tipo incapsula lo stato di un cmdlet. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Tipo di Comando | Proprietà di istanza (sola lettura) | Implementazione definita | Dovrebbe risultare uguale a "Cmdlet" nel confronto. |
DefaultParameterSet (ParametroPredefinitoSet) | Proprietà di istanza (sola lettura) | Implementazione definita | Set di parametri predefinito utilizzato se PowerShell non può determinare quale set di parametri usare in base agli argomenti forniti. |
Definizione | Proprietà di istanza (sola lettura) | corda | Descrizione del cmdlet. |
File di Aiuto | Proprietà di istanza (lettura/scrittura) | corda | Percorso del file della Guida per il cmdlet. |
TipoImplementazione | Proprietà di istanza (lettura/scrittura) | Implementazione definita | Il tipo che implementa il cmdlet. |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo che definisce questo cmdlet. |
ModuleName | Proprietà di istanza (sola lettura) | corda | Nome del modulo che definisce il cmdlet. |
Nome | Proprietà di istanza (sola lettura) | corda | Nome del cmdlet. |
Sostantivo | Proprietà di istanza (sola lettura) | corda | Nome sostantivo del cmdlet. |
TipoDiOutput | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i tipi dei valori restituiti dal cmdlet . |
Parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Parametri del cmdlet. |
ParameterSets | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Informazioni sui set di parametri associati al cmdlet . |
Verbo | Proprietà di istanza (sola lettura) | corda | Nome del verbo del cmdlet. |
PSSnapIn | Proprietà di istanza (sola lettura) | Implementazione definita | Windows PowerShell: informazioni sullo snap-in di Windows PowerShell utilizzato per la registrazione del cmdlet. |
In PowerShell questo tipo è System.Management.Automation.CmdletInfo
.
4.5.9 Tipo di descrizione dello script esterno
Questo tipo incapsula lo stato di uno script esterno (uno che è direttamente eseguibile da PowerShell, ma non è integrato). Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
CommandType | Proprietà di istanza (sola lettura) | Implementazione definita | Dovrebbe risultare uguale a "ExternalScript". |
Definizione | Proprietà di istanza (sola lettura) | corda | Definizione dello script. |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo che definisce questo script. |
NomeModulo | Proprietà di istanza (sola lettura) | corda | Nome del modulo che definisce lo script. |
Nome | Proprietà di istanza (sola lettura) | corda | Nome dello script. |
CodificaOriginale | Proprietà di istanza (sola lettura) | Implementazione definita | Codifica originale utilizzata per convertire i caratteri dello script in byte. |
TipoDiOutput | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i tipi dei valori restituiti dallo script. |
Parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Parametri dello script. |
ParameterSets | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Informazioni sui set di parametri associati allo script. |
Percorso | Proprietà di istanza (sola lettura) | corda | Percorso del file di script. |
ScriptBlock | Proprietà di istanza (sola lettura) | blocco di script | Script esterno. |
ScriptContents | Proprietà di istanza (sola lettura) | corda | Contenuto originale dello script. |
In PowerShell questo tipo è System.Management.Automation.ExternalScriptInfo
.
4.5.10 Tipo di descrizione della funzione
Questo tipo incapsula lo stato di una funzione. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
CmdletBinding | Proprietà di istanza (sola lettura) | bool | Indica se la funzione usa la stessa associazione di parametri usata dai cmdlet compilati (vedere §12.3.5). |
Tipo di Comando | Proprietà di istanza (sola lettura) | Implementazione definita | È possibile confrontare per uguaglianza con "Function" o "Filter" per determinare quale di questi oggetti rappresenta. |
DefaultParameterSet (ParametroPredefinitoSet) | Proprietà di istanza (sola lettura) | corda | Specifica il set di parametri da utilizzare se non è possibile determinare dagli argomenti (vedere §12.3.5). |
Definizione | Proprietà di istanza (sola lettura) | corda | Versione stringa di ScriptBlock |
Descrizione | Proprietà di istanza (lettura/scrittura) | corda | Descrizione della funzione. |
Modulo | Proprietà di istanza (sola lettura) | Implementazione definita (§4.5.12) | Modulo da cui questa funzione è stata esportata |
ModuleName | Proprietà di istanza (sola lettura) | corda | Modulo in cui è stata definita questa funzione |
Nome | Proprietà di istanza (sola lettura) | corda | Nome della funzione |
Opzioni | Proprietà di istanza (lettura/scrittura) | Implementazione definita | Opzioni di ambito per la funzione (§3.5.4). |
TipoDiOutput | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i tipi dei valori di output in ordine (vedere §12.3.6). |
Parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Specifica i nomi dei parametri, in ordine. Se la funzione si comporta come un cmdlet (vedere il CmdletBinding sopra), i parametri comuni sono inclusi alla fine della raccolta. |
Raggruppamenti di parametri | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Informazioni sui set di parametri associati al comando. Per ogni parametro, il risultato mostra il nome e il tipo del parametro e indica se il parametro è obbligatorio, in base alla posizione o a un parametro switch. Se la funzione si comporta come un cmdlet (vedere il CmdletBinding sopra), i parametri comuni sono inclusi alla fine della raccolta. |
ScriptBlock | Proprietà di istanza (sola lettura) | scriptblock (§4.3.6) | Corpo della funzione |
In PowerShell questo tipo è System.Management.Automation.FunctionInfo
.
-
CommandType
ha il tipoSystem.Management.Automation.CommandTypes
. -
Options
è di tipoSystem.Management.Automation.ScopedItemOptions
. -
OutputType
è di tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]
. -
Parameters
è di tipoSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]
. -
ParameterSets
è di tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]
. - La visibilità ha il tipo
System.Management.Automation.SessionStateEntryVisibility
. - PowerShell ha anche una proprietà denominata Visibility.
4.5.11 Tipo di descrizione filtro
Questo tipo incapsula lo stato di un filtro. Dispone dello stesso set di membri accessibili del tipo di descrizione della funzione (§4.5.10).
In PowerShell questo tipo è System.Management.Automation.FilterInfo
. Ha lo stesso set di proprietà di System.Management.Automation.FunctionInfo
(§4.5.11).
4.5.12 Tipo di descrizione del modulo
Questo tipo incapsula lo stato di un modulo. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Descrizione | Proprietà di istanza (lettura/scrittura) | corda | Descrizione del modulo (impostato dal manifesto) |
TipoDiModulo | Proprietà di istanza (sola lettura) | Implementazione definita | Tipo del modulo (Manifesto, Script o Binario) |
Nome | Proprietà di istanza (sola lettura) | corda | Nome del modulo |
Percorso | Proprietà di istanza (sola lettura) | corda | Percorso del modulo |
In PowerShell questo tipo è System.Management.Automation.PSModuleInfo
. Il tipo di ModuleType
è System.Management.Automation.ModuleType
.
4.5.13 Tipo di descrizione oggetto personalizzato
Questo tipo incapsula lo stato di un oggetto personalizzato. Non dispone di membri accessibili.
In PowerShell questo tipo è System.Management.Automation.PSCustomObject
. I cmdlet Import-Module
e New-Object
possono generare un oggetto di questo tipo.
4.5.14 Tipo di descrizione comando
La variabile automatica $PSCmdlet
è un oggetto che rappresenta il cmdlet o la funzione in esecuzione. Il tipo di questo oggetto è definito dall'implementazione; dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Nome del Set di Parametri | Proprietà di istanza (sola lettura) | corda | Nome del set di parametri corrente (vedere ParameterSetName) |
DovrebbeContinuare | Metodo dell'istanza | Sovraccaricato /Bool |
Richiede la conferma di un'operazione da parte dell'utente. |
ShouldProcess | Metodo dell'istanza | Sovraccaricato /bool |
Richiede conferma all'utente prima dell'esecuzione di un'operazione. |
In PowerShell questo tipo è System.Management.Automation.PSScriptCmdlet.
4.5.15 Tipo di descrizione del record di errore
La variabile automatica $Error
contiene una raccolta di record di errore che rappresentano errori recenti (§3.12). Anche se il tipo di questa raccolta non è specificato, supporta l'uso della sottoscrizione per accedere ai singoli record di errore.
In PowerShell il tipo di raccolta è System.Collections.ArrayList
. Il tipo di un record di errore individuale nella raccolta è System.Management.Automation.ErrorRecord
. Questo tipo ha le proprietà pubbliche seguenti:
- CategoryInfo: ottiene informazioni sulla categoria dell'errore.
- ErrorDetails: ottiene e imposta informazioni più dettagliate sull'errore, ad esempio un messaggio di errore di sostituzione.
- Eccezione: ottiene l'eccezione associata a questo record di errore.
- FullyQualifiedErrorId: ottiene l'identificatore di errore completo per questo record di errore.
- InvocationInfo: ottiene informazioni sul comando richiamato quando si è verificato l'errore.
- PipelineIterationInfo: ottiene lo stato della pipeline quando è stato creato questo record di errore
- TargetObject: ottiene l'oggetto in fase di elaborazione quando si è verificato l'errore.
4.5.16 Tipo di descrittore enumeratore
Una serie di variabili sono enumeratori per le raccolte (§4). La variabile automatica $foreach
è l'enumeratore creato per qualsiasi istruzione foreach
. La variabile automatica $input
è l'enumeratore per una raccolta recapitata a una funzione dalla pipeline. La variabile automatica $switch
è l'enumeratore creato per qualsiasi istruzione switch
.
Il tipo di enumeratore è definito dall'implementazione; dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Corrente | Proprietà di istanza (sola lettura) | oggetto | Ottiene l'elemento corrente nella raccolta. Se l'enumeratore non è attualmente posizionato in corrispondenza di un elemento della raccolta, il comportamento è definito dall'implementazione. |
MoveNext | Metodo dell'istanza | Nessuno/bool | Sposta l'enumeratore all'elemento successivo della raccolta. Restituisce $true se l'enumeratore è stato avanzato correttamente all'elemento successivo; $false se l'enumeratore ha oltrepassato la fine della raccolta. |
In PowerShell questi membri vengono definiti nell'interfaccia System.IEnumerator
, implementato dai tipi identificati di seguito. Se l'enumeratore non è attualmente posizionato in corrispondenza di un elemento della raccolta, viene generata un'eccezione di tipo InvalidOperationException
. Per $foreach
, questo tipo è System.Array+SZArrayEnumerator
. Per $input
, questo tipo è System.Collections.ArrayList+ArrayListEnumeratorSimple
. Per $switch
, questo tipo è System.Array+SZArrayEnumerator
.
4.5.17 Tipo di descrizione della directory
Il cmdlet New-Item può creare elementi di vari tipi, incluse le directory del FileSystem. Il tipo di un oggetto di descrizione della directory è definito dall'implementazione; dispone dei seguenti membri accessibili:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Attributi | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.2.6.3) | Ottiene o imposta uno o più attributi dell'oggetto di directory. |
Orario di creazione | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.5.19) | Ottiene e imposta l'ora di creazione dell'oggetto directory. |
Estensione | Proprietà dell'istanza (sola lettura) | corda | Ottiene la parte di estensione del nome della directory. |
NomeCompleto | Proprietà di istanza (sola lettura) | corda | Ottiene il percorso completo della directory. |
LastWriteTime (data e ora dell'ultima modifica) | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.5.19) | Ottiene e imposta l'ora dell'ultima modifica della directory. |
Nome | Proprietà dell'istanza (sola lettura) | corda | Ottiene il nome della directory. |
In PowerShell questo tipo è System.IO.DirectoryInfo
. Il tipo di Attributes proprietà è System.IO.FileAttributes
.
4.5.18 Tipo di descrizione file
Il cmdlet New-Item
può creare elementi di vari tipi, inclusi i file FileSystem. Il tipo di un oggetto descrizione file è definito dall'implementazione; dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Attributi | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.2.6.3) | Ottiene o imposta uno o più attributi dell'oggetto file. |
Basename | Proprietà dell'istanza (sola lettura) | corda | Ottiene il nome del file escluso l'estensione. |
Orario di creazione | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.5.19) | Ottiene e imposta l'ora di creazione dell'oggetto file. |
Estensione | Proprietà dell'istanza (sola lettura) | corda | Ottiene la parte di estensione del nome del file. |
NomeCompleto | Proprietà di istanza (sola lettura) | corda | Ottiene il percorso completo del file. |
LastWriteTime | Proprietà di istanza (lettura/scrittura) | Implementazione definita (§4.5.19) | Ottiene e imposta l'ora dell'ultima scrittura del file. |
Lunghezza | Proprietà dell'istanza (sola lettura) | lungo | Ottiene la dimensione del file, in byte. |
Nome | Proprietà dell'istanza (sola lettura) | corda | Ottiene il nome del file. |
Informazioni sulla versione | Proprietà dell'istanza (sola lettura) | Implementazione definita | Windows PowerShell: Questa ScriptProperty restituisce un oggetto System.Diagnostics.FileVersionInfo per il file. |
In PowerShell questo tipo è System.IO.FileInfo
.
4.5.19 Tipo di descrizione di data e ora
Il tipo di un oggetto descrizione data/ora è definito dall'implementazione; dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Giorno | Proprietà di istanza (sola lettura) | Int | Ottiene il componente giorno del mese rappresentato da questa istanza. |
Ora | Proprietà di istanza (sola lettura) | Int | Ottiene il componente dell'ora della data rappresentata da questa istanza. |
Minuto | Proprietà di istanza (sola lettura) | Int | Ottiene il componente minuto della data rappresentata da questa istanza. |
Mese | Proprietà di istanza (sola lettura) | Int | Ottiene il componente mese della data rappresentata da questa istanza. |
Secondo | Proprietà di istanza (sola lettura) | Int | Ottiene la componente dei secondi della data rappresentata da questa istanza. |
Anno | Proprietà di istanza (sola lettura) | Int | Ottiene il componente anno della data di cui questa istanza è rappresentata. |
Un oggetto di questo tipo può essere creato tramite il cmdlet Get-Date.
In PowerShell questo tipo è System.DateTime
.
4.5.20 Group-Info tipo di descrizione
Il tipo di un oggetto gruppo-info descrizione è definito dall'implementazione; dispone dei seguenti membri accessibili:
Membro | Tipo membro | Digitare | Scopo |
---|---|---|---|
Contare | Proprietà di istanza (sola lettura) | Int | Ottiene il numero di elementi nel gruppo. |
Gruppo | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Ottiene gli elementi del gruppo. |
Nome | Proprietà di istanza (sola lettura) | corda | Ottiene il nome del gruppo. |
Valori | Proprietà di istanza (sola lettura) | Raccolta definita dall'implementazione | Ottiene i valori degli elementi del gruppo. |
Un oggetto di questo tipo può essere creato dal cmdlet Group-Object.
In PowerShell questo tipo è Microsoft.PowerShell.Commands.GroupInfo
.
4.5.21 Generic-Measure-Info tipo di descrizione
Il tipo di un oggetto di descrizione di tipo generic-measure-info è definito dall'implementazione; ha i seguenti membri accessibili:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Medio | Proprietà di istanza (sola lettura) | doppio | Ottiene la media dei valori delle proprietà misurate. |
Contare | Proprietà di istanza (sola lettura) | Int | Ottiene il numero di oggetti con le proprietà specificate. |
Massimo | Proprietà di istanza (sola lettura) | doppio | Ottiene il valore massimo delle proprietà specificate. |
Minimo | Proprietà di istanza (sola lettura) | doppio | Ottiene il valore minimo delle proprietà specificate. |
Proprietà | Proprietà di istanza (sola lettura) | corda | Ottiene la proprietà da misurare. |
Somma | Proprietà di istanza (sola lettura) | doppio | Ottiene la somma dei valori delle proprietà specificate. |
Un oggetto di questo tipo può essere creato dal cmdlet Measure-Object.
In PowerShell questo tipo è Microsoft.PowerShell.Commands.GenericMeasureInfo
.
Tipo di descrizione di testo-Misura-Info
Il tipo di un oggetto descrizione testo è definito dall'implementazione; dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Personaggi | Proprietà di istanza (sola lettura) | Int | Ottiene il numero di caratteri nell'oggetto di destinazione. |
Linee | Proprietà di istanza (sola lettura) | Int | Ottiene il numero di righe nell'oggetto di destinazione. |
Proprietà | Proprietà di istanza (sola lettura) | corda | Ottiene la proprietà da misurare. |
Parole | Proprietà di istanza (sola lettura) | Int | Determina il numero di parole nell'oggetto di destinazione. |
Un oggetto di questo tipo può essere creato dal cmdlet Measure-Object
.
In PowerShell questo tipo è Microsoft.PowerShell.Commands.TextMeasureInfo
.
4.5.23 Tipo di credenziale
Un oggetto credenziale può quindi essere usato in varie operazioni di sicurezza. Il tipo di un oggetto credenziale è definito dall'implementazione; dispone dei membri accessibili seguenti:
Membro | Tipo membro | Digitare | Scopo |
---|---|---|---|
Parola d’ordine | Proprietà di istanza (sola lettura) | Implementazione definita | Ottiene la password. |
Nome utente | Proprietà di istanza (sola lettura) | corda | Ottiene il nome utente. |
Un oggetto di questo tipo può essere creato dal cmdlet Get-Credential.
In PowerShell questo tipo è System.Management.Automation.PSCredential
.
4.5.24 Tipo di designatore del metodo
Il tipo di designatore di metodo è definito dall'implementazione; ha i seguenti membri accessibili:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Invocare | Metodo dell'istanza | numero e tipo di oggetti/variabili | Accetta un numero variabile di argomenti e chiama indirettamente il metodo a cui fa riferimento il designatore del metodo principale, passando gli argomenti. |
Un oggetto di questo tipo può essere creato da un'espressione di chiamata (§7.1.3).
In PowerShell questo tipo è System.Management.Automation.PSMethod.
4.5.25 Tipo di definizione membro
Questo tipo incapsula la definizione di un membro. Dispone dei membri accessibili seguenti:
membro | tipologia di membro | tipo | Scopo |
---|---|---|---|
Definizione | Proprietà di istanza (sola lettura) | corda | Ottiene la definizione del membro. |
TipoDiMembro | Proprietà di istanza (sola lettura) | Implementazione definita | Ottiene il tipo di PowerShell del membro. |
Nome | Proprietà di istanza (sola lettura) | corda | Ottiene il nome del membro. |
NomeTipo | Proprietà di istanza (sola lettura) | corda | Ottiene il nome del tipo del membro. |
In PowerShell questo tipo è Microsoft.PowerShell.Commands.MemberDefinition
.
4.6 Estensione e adattamento dei tipi
Un'implementazione di PowerShell include una famiglia di tipi fondamentali (documentati in questo capitolo), ciascuno dei quali contiene il proprio insieme di membri di base . Quei membri possono essere metodi o proprietà e possono essere membri di istanza o statici. Ad esempio, i membri di base della stringa di tipo (§4.3.1) sono la proprietà dell'istanza Length e i metodi di istanza ToLower e ToUpper.
Quando viene creato un oggetto, contiene tutte le proprietà dell'istanza del tipo dell'oggetto e i metodi di istanza di tale tipo possono essere chiamati su tale oggetto. Un oggetto può essere personalizzato tramite l'aggiunta di membri dell'istanza in fase di esecuzione. Il risultato è denominato oggetto personalizzato . Tutti i membri aggiunti a un'istanza esistono solo per la durata di quest'ultima; le altre istanze dello stesso tipo principale non ne risentono.
Il set di membri di base di un tipo può essere incrementato mediante l'aggiunta dei tipi di membri seguenti:
- membri adattati, tramite il Sistema Tipizzato Esteso (ETS), la maggior parte dei quali non è specificata.
- membri estesi, tramite il cmdlet Add-Member.
In PowerShell i membri estesi possono essere aggiunti anche tramite types.ps1xml
file. I membri adattati ed estesi sono collettivamente denominati membri sintetici .
L'ETS aggiunge i membri seguenti a tutti gli oggetti di PowerShell: psbase, psadapted, psextendede pstypenames. Per altre informazioni su questi membri, vedere i parametri Force e View nel cmdlet Get-Member.
Un membro dell'istanza può nascondere un membro esteso e/o adattato con lo stesso nome e un membro esteso può nascondere un membro adattato. In questi casi, i set di membri psadapted e psextended possono essere usati per accedere a tali membri nascosti.
Se un types.ps1xml
specifica un membro denominato Supports, obj.psextended
fornisce l'accesso solo a tale membro e non a un membro aggiunto tramite Add-Member
.
Esistono tre modi per creare un oggetto personalizzato con un nuovo membro M:
Questo approccio può essere usato per aggiungere uno o più membri NoteProperty.
$x = New-Object PSObject -Property @{M = 123}
Questo approccio può essere usato per aggiungere membri NoteProperty o ScriptMethod.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}
Questo approccio può essere usato per aggiungere qualsiasi tipo di membro.
$x = New-Object PSObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PSObject
è il tipo di base di tutti i tipi di PowerShell.