4. Types
Dans PowerShell, chaque valeur a un type, et les types appartiennent à l’une des deux catégories principales : types valeur et types référence. Par exemple, le type int
est caractéristique des types valeur. Une valeur de type int
est entièrement autonome. Tous les bits nécessaires pour représenter cette valeur sont stockés dans cette valeur, et chaque modèle binaire dans cette valeur représente une valeur valide pour son type. Le type de tableau int[]
est quant à lui caractéristique des types référence. Les valeurs de type tableau peuvent inclure une référence à un objet qui contient en réalité les éléments du tableau, ou la référence null dont la valeur est $null
. La distinction importante entre les deux catégories de types est mieux illustrée par les différences liées à leur sémantique lors de leur affectation. Par exemple,
$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
Comme nous pouvons le voir, l’affectation d’une valeur de type référence implique une copie superficielle (une copie de la référence à l’objet au lieu de sa valeur réelle). Une copie complète, en revanche, requiert également de créer une copie de l’objet.
Un type numérique permet la représentation de valeurs entières ou fractionnaires, et prend en charge les opérations arithmétiques sur ces valeurs. L’ensemble de types numériques inclut les types entier (§ 4.2.3) et nombre réel (§ 4.2.4), mais n’inclut pas les types booléen (§ 4.2.1) ou caractère (§ 4.2.2). Une implémentation peut fournir d’autres types numériques (tels que des octets signés, des entiers non signés et des entiers d’autres tailles).
Une collection est un groupe d’un ou plusieurs éléments connexes, qui n’ont pas besoin d’avoir le même type. Les tableaux, les piles, les files d’attente, les listes et les tables de hachage sont des exemples de types de collection. Un programme peut énumérer (ou itérer) les éléments d’une collection, en accédant à chaque élément individuel à la fois. Il est courant d’utiliser l’instruction foreach (§ 8.4.4) et l’applet de commande ForEach-Object pour ce faire. Le type d’un objet qui représente un énumérateur est décrit dans § 4.5.16.
Ce chapitre présente des tables qui répertorient les membres accessibles pour un type donné. Pour les méthodes, le Type est écrit au format suivant : ReturnType/argumentTypeList. Si la liste des types d’arguments est trop longue pour tenir dans cette colonne, elle est affichée dans la colonne Objectif à la place.
Les autres types d’entier sont SByte
, Int16
, UInt16
, UInt32
et UInt64
. Tous figurent dans l’espace de noms System.
De nombreuses classes de collection sont définies dans le cadre des espaces de noms System.Collections et System.Collections.Generic. La plupart des classes de collection implémentent les interfaces ICollection
, IComparer
, IEnumerable
, IList
, IDictionary
et IDictionaryEnumerator
, et leurs équivalents génériques.
4.1 Types spéciaux
4.1.1 Type void
Ce type ne peut pas être instancié. Il fournit un moyen de supprimer une valeur explicitement à l’aide de l’opérateur de conversion (§ 7.2.9).
4.1.2 Type null
Le type null a une instance, la variable automatique $null (§ 2.3.2.2), également appelée valeur null. Cette valeur fournit un moyen d’exprimer le « néant » dans les contextes de référence. Les caractéristiques de ce type ne sont pas spécifiées.
4.1.3 Type object
Chaque type dans PowerShell, à l’exception du type null (§ 4.1.2), étant dérivé directement ou indirectement du type object, ce dernier est le type de base ultime de tous les types non null. Une variable restreinte (§ 5.3) au type object n’est en réalité pas restreinte du tout, car elle peut contenir une valeur de n’importe quel type.
4.2 Types valeur
4.2.1 Booléen
Le type booléen est bool
. Il n’y a que deux valeurs de ce type, False et True, représentées par les variables automatiques $false
et $true
respectivement (§ 2.3.2.2).
Dans PowerShell, bool
correspond à System.Boolean
.
4.2.2 Caractère
Une valeur de caractère a le type char. Celui-ci peut stocker n’importe quel point de code Unicode 16 bits encodé en UTF-16.
Le type char contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | char | Plus grande valeur possible du type char |
MinValue | Propriété statique (lecture seule) | char | Plus petite valeur possible du type char |
IsControl | Méthode statique | bool/char | Teste si le caractère est un caractère de contrôle |
IsDigit | Méthode statique | bool/char | Teste si le caractère est un chiffre décimal |
IsLetter | Méthode statique | bool/char | Teste si le caractère est une lettre de l’alphabet |
IsLetterOrDigit | Méthode statique | bool/char | Teste si le caractère est un chiffre décimal ou une lettre de l’alphabet |
IsLower | Méthode statique | bool/char | Teste si le caractère est une lettre de l’alphabet minuscule |
IsPunctuation | Méthode statique | bool/char | Teste si le caractère est un signe de ponctuation |
IsUpper | Méthode statique | bool/char | Teste si le caractère est une lettre de l’alphabet majuscule |
IsWhiteSpace | Méthode statique | bool/char | Teste si le caractère est un espace blanc. |
ToLower | Méthode statique | char/string | Convertit le caractère en minuscule |
ToUpper | Méthode statique | char/string | Convertit le caractère en majuscule |
Windows PowerShell : char correspond à System.Char.
4.2.3 Entier
Il existe deux types d’entiers signés, qui utilisent tous deux la représentation de complément à 2 pour les valeurs négatives :
- le type
int
, qui utilise 32 bits avec une plage comprise entre -2147483648 et +2147483647 inclus ; - le type
long
, qui utilise 64 bits avec une plage comprise entre -9223372036854775808 et +9223372036854775807 inclus.
Le type int contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | int | Plus grande valeur possible du type int |
MinValue | Propriété statique (lecture seule) | int | Plus petite valeur possible du type int |
Le type long contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | long | Plus grande valeur possible du type long |
MinValue | Propriété statique (lecture seule) | long | Plus petite valeur possible du type long |
Il existe un type d’entier non signé :
- le type
byte
, qui utilise 8 bits avec une plage comprise entre 0 et 255 inclus.
Le type byte
contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | byte | Plus grande valeur possible du type byte |
MinValue | Propriété statique (lecture seule) | byte | Plus petite valeur possible du type byte |
Dans PowerShell, byte
, int
et long
correspondent à System.Byte
, System.Int32
et System.Int64
respectivement.
4.2.4 Nombre réel
4.2.4.1 float et double
Il existe deux types de nombres réels (ou à virgule flottante) :
- le type
float
utilise la représentation simple précision IEEE 32 bits. - le type
double
utilise la représentation simple précision IEEE 64 bits.
Un troisième nom de type, single
, est un synonyme pour le type float
. float
est utilisé tout au long de cette spécification.
Bien que la taille et la représentation des types float
et double
soient définies par cette spécification, une implémentation peut utiliser la précision étendue pour les résultats intermédiaires.
Le type float contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | float | Plus grande valeur possible du type float |
MinValue | Propriété statique (lecture seule) | float | Plus petite valeur possible du type float |
NaN | Propriété statique (lecture seule) | float | Valeur constante Not-a-Number |
NegativeInfinity | Propriété statique (lecture seule) | float | Valeur constante de l’infini négatif |
PositiveInfinity | Propriété statique (lecture seule) | float | Valeur constante de l’infini positif |
Le type double contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | double | Plus grande valeur possible du type double |
MinValue | Propriété statique (lecture seule) | double | Plus petite valeur possible du type double |
NaN | Propriété statique (lecture seule) | double | Valeur constante Not-a-Number |
NegativeInfinity | Propriété statique (lecture seule) | double | Valeur constante de l’infini négatif |
PositiveInfinity | Propriété statique (lecture seule) | double | Valeur constante de l’infini positif |
Dans PowerShell, float
et double
correspondent à System.Single
et System.Double
, respectivement.
4.2.4.2 decimal
Le type decimal utilise une représentation 128 bits. Au minimum, il doit prendre en charge une échelle (scale) s telle que 0 <= s <= au minimum 28, et une plage de valeurs de -79228162514264337593543950335 à 79228162514264337593543950335. 79228162514264337593543950335. La représentation réelle du type decimal est définie par l’implémentation.
Le type decimal contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
MaxValue | Propriété statique (lecture seule) | Décimal | Plus grande valeur possible du type decimal |
MinValue | Propriété statique (lecture seule) | Décimal | Plus petite valeur possible du type decimal |
Notes
Les nombres réels décimaux ont une caractéristique appelée scale, qui représente le nombre de chiffres à droite de la décimale. Par exemple, la valeur 2,340 a une échelle de 3 où les zéros de fin sont significatifs. Lorsque deux nombres décimaux réels sont ajoutés ou soustraits, l’échelle du résultat est la plus grande des deux échelles. Par exemple, 1,0 + 2,000 est égal à 3,000, tandis que 5,0 - 2,00 est égal à 3,00. Lorsque deux nombres réels décimaux sont multipliés, l’échelle du résultat est la somme des deux échelles. Par exemple, 1,0 * 2,000 est égal à 2,0000. Lorsque deux nombres réels décimaux sont divisés, l’échelle du résultat correspond à l’échelle du premier nombre moins l’échelle du second. Par exemple, 4,00000/2,000 est égal à 2,00. Toutefois, une échelle ne peut pas être inférieure à celle nécessaire pour conserver le résultat correct. Par exemple, 3,000/2,000, 3,00/2,000, 3,0/2,000 et 3/2 sont tous égaux à 1,5.
Dans PowerShell, decimal
correspond à System.Decimal
. La représentation du type decimal est la suivante :
- Lorsqu’il est considéré comme un tableau de quatre valeurs
int
, il contient les éléments suivants :- L’index 0 (bits 0-31) contient les 32 bits d’ordre bas du coefficient de la décimale.
- L’index 1 (bits 32-63) contient les 32 bits du milieu du coefficient de la décimale.
- L’index 2 (bits 64-95) contient les 32 bits d’ordre haut du coefficient de la décimale.
- L’index 3 (bits 96-127) contient le bit de signe et l’échelle, comme suit :
- Les bits 0--15 sont nuls
- Les bits 16-23 contiennent l’échelle sous la forme d’une valeur 0--28
- Les bits 24-30 sont nuls
- Le bit 31 correspond au signe (0 pour le positif, 1 pour le négatif)
4.2.5 Le type switch
Ce type est utilisé pour contraindre le type d’un paramètre dans une commande (§ 8.10.5). Si un argument ayant le nom de paramètre correspondant est présent, le paramètre teste $true, sinon, il teste $false
.
Dans PowerShell, switch
correspond à System.Management.Automation.SwitchParameter
.
4.2.6 Types d’énumération
Un type d’énumération est un type qui définit un jeu de constantes nommées représentant toutes les valeurs possibles pouvant être affectées à un objet de ce type d’énumération. Dans certains cas, l’ensemble de valeurs est tel qu’une seule valeur peut être représentée à la fois. Dans d’autres cas, l’ensemble de valeurs correspond à des puissances de deux distinctes, et en utilisant l’opérateur -bor (§ 7.8.5), plusieurs valeurs peuvent être encodées dans le même objet.
L’environnement PowerShell fournit un certain nombre de types d’énumération, comme décrit dans les sections suivantes.
4.2.6.1 Type Action-Preference
Ce type défini par l’implémentation contient les membres accessibles à valeur mutuellement exclusive suivants :
Membre | Genre de membre | Objectif |
---|---|---|
Continuer | Constante d’énumération | Le runtime PowerShell continue le traitement et avertit l’utilisateur qu’une action a eu lieu. |
Inquire | Constante d’énumération | Le runtime PowerShell arrête le traitement et demande à l’utilisateur comment poursuivre. |
SilentlyContinue | Constante d’énumération | Le runtime PowerShell continue le traitement sans avertir l’utilisateur qu’une action a eu lieu. |
Arrêter | Constante d’énumération | Le runtime PowerShell arrête le traitement lorsqu’une action a eu lieu. |
Dans PowerShell, il s’agit du type System.Management.Automation.ActionPreference
.
4.2.6.2 Type Confirm-Impact
Ce type défini par l’implémentation contient les membres accessibles à valeur mutuellement exclusive suivants :
Membre | Genre de membre | Objectif |
---|---|---|
Élevé | Constante d’énumération | L’action effectuée présente un risque élevé de perte de données, telles que le reformatage d’un disque dur. |
Faible | Constante d’énumération | L’action effectuée présente un faible risque de perte de données. |
Moyenne | Constante d’énumération | L’action effectuée présente un risque moyen de perte de données. |
Aucun | Constante d’énumération | Ne confirmez aucune action (supprimez toutes les demandes de confirmation). |
Dans PowerShell, il s’agit du type System.Management.Automation.ConfirmImpact
.
4.2.6.3 Type File-Attributes
Ce type défini par l’implémentation contient les membres accessibles suivants, qui peuvent être combinés :
Membre | Genre de membre | Objectif |
---|---|---|
Archive | Constante d’énumération | État de l’archive du fichier. Les applications utilisent cet attribut pour marquer des fichiers à des fins de sauvegarde ou de suppression. |
Compressé | Constante d’énumération | Le fichier est compressé. |
Appareil | Réservé pour un usage futur. | |
Répertoire | Constante d’énumération | Le fichier est un répertoire. |
Chiffré | Constante d’énumération | Le fichier ou le répertoire est chiffré. Cela signifie pour un fichier, que toutes ses données sont chiffrées. Pour un répertoire, cela signifie que tous les fichiers et répertoires créés sont chiffrés par défaut. |
Hidden | Constante d’énumération | Le fichier est masqué et n’est donc pas compris dans un listing de répertoires ordinaire. |
Normal | Constante d’énumération | Le fichier est normal et n’a pas d’autres attributs définis. Cet attribut n’est valide que s’il est utilisé seul. |
NotContentIndexed | Constante d’énumération | Le fichier ne sera pas indexé par le service d’indexation de contenu du système d’exploitation. |
Hors connexion | Constante d’énumération | Le fichier est hors connexion. Les données du fichier ne sont pas immédiatement disponibles. |
Lecture seule | Constante d’énumération | Le fichier est en lecture seule. |
ReparsePoint | Constante d’énumération | Le fichier contient un point d’analyse, qui est un bloc de données définies par l’utilisateur associé à un fichier ou à un répertoire. |
SparseFile | Constante d’énumération | Le fichier est un fichier partiellement alloué. Les fichiers partiellement alloués sont généralement des fichiers volumineux dont les données sont essentiellement des zéros. |
Système | Constante d’énumération | Le fichier est un fichier système. Le fichier fait partie du système d’exploitation ou est utilisé exclusivement par le système d’exploitation. |
Temporaire | Constante d’énumération | Le fichier est temporaire. Les systèmes de fichiers tentent de conserver toutes les données en mémoire pour un accès plus rapide plutôt que de vider les données dans le stockage de masse. Un fichier temporaire doit être supprimé par l’application dès qu’il n’est plus nécessaire. |
Dans PowerShell, il s’agit du type System.IO.FileAttributes avec l’attribut FlagsAttribute.
4.2.6.4 Type Regular-Expression-Option
Ce type défini par l’implémentation contient les membres accessibles suivants, qui peuvent être combinés :
Membre | Genre de membre | Objectif |
---|---|---|
IgnoreCase | Constante d’énumération | Spécifie que la correspondance ne respecte pas la casse. |
Aucun | Constante d’énumération | Spécifie qu'aucune option n'est définie. |
Une implémentation peut fournir d’autres valeurs.
Dans PowerShell, il s’agit du type System.Text.RegularExpressions.RegexOptions
avec l’attribut FlagsAttribute
. Les valeurs supplémentaires suivantes sont définies : Compiled
, CultureInvariant
, ECMAScript
, ExplicitCapture
, IgnorePatternWhitespace
, Multiline
, RightToLeft
et Singleline
.
4.3 Types référence
4.3.1 Chaînes
Une valeur de chaîne a le type string et est une séquence immuable de zéro ou plusieurs caractères de type char contenant chacun un point de code Unicode 16 bits encodé en UTF-16.
Le type string contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Longueur | Propriété d’instance | int (lecture seule) | Obtient le nombre de caractères dans la chaîne |
ToLower | Méthode d’instance | string | Crée une nouvelle chaîne qui contient l’équivalent en minuscules |
ToUpper | Méthode d’instance | string | Crée une nouvelle chaîne qui contient l’équivalent en majuscules |
Dans PowerShell, string
correspond à System.String
.
4.3.2 Tableaux
Tous les types de tableaux sont dérivés du type Array
. Ce type contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Longueur | Propriété d’instance (lecture seule) | int | Nombre d’éléments dans le tableau |
Rank | Propriété d’instance (lecture seule) | int | Nombre de dimensions dans le tableau |
Copier | Méthode statique | void/voir la colonne Objectif | Copie une plage d’éléments d’un tableau dans un autre. Il existe quatre versions, où source est le tableau source , destination est le tableau de destination, count est le nombre d’éléments à copier, et sourceIndex et destinationIndex sont les emplacements de départ dans leurs tableaux respectifs : Copy(source, destination, int count) |
GetLength | Méthode d’instance (lecture seule) | int/aucun | Nombre d’éléments dans une dimension donnée GetLength(int dimension) |
Pour plus d’informations sur les tableaux, voir § 9.
Dans PowerShell, Array
correspond à System.Array
.
4.3.3 Tables de hachage
Le type Hashtable contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Count | Propriété d’instance | int | Obtient le nombre de paires clé/valeur dans la table de hachage |
Keys | Propriété d’instance | Défini par l’implémentation | Obtient une collection de toutes les clés |
Valeurs | Propriété d’instance | Défini par l’implémentation | Obtient une collection de toutes les valeurs |
Supprimer | Méthode d’instance | void/aucun | Supprime la paire clé/valeur désignée |
Pour plus d’informations sur les tables de hachage, voir § 10.
Dans PowerShell, Hashtable
correspond à System.Collections.Hashtable
. Les éléments Hashtable
sont stockés dans un objet de type DictionaryEntry
, et les collections retournées par les membres Keys et Values ont le type ICollection
.
4.3.4 Le type xml
Le type xml implémente les modèles objet de document (Document Object Model, DOM) Level 1 Core et DOM Level 2 Core du W3C. Le DOM est une représentation arborescente (cache) en mémoire d’un document XML. Il permet la navigation et la modification de ce document. Ce type prend en charge l’opérateur d’indice [] (§ 7.1.4.4).
Dans PowerShell, xml
correspond à System.Xml.XmlDocument
.
4.3.5 Le type regex
Le type regex
fournit la mécanique permettant de prendre en charge le traitement des expressions régulières. Il est utilisé pour contraindre le type d’un paramètre (§ 5.3) dont l’argument correspondant peut contenir une expression régulière.
Dans PowerShell, regex
correspond à System.Text.RegularExpressions.Regex
.
4.3.6 Le type ref
Habituellement, les arguments sont transmis aux commandes par valeur. Dans le cas d’un argument de type valeur, une copie de la valeur est transmise. Dans le cas d’un argument de type référence, une copie de la référence est transmise.
Le type ref fournit la mécanique permettant de passer des arguments aux commandes par référence, afin que les commandes puissent modifier la valeur de l’argument. Le type ref contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Valeur | Propriété d’instance (lecture-écriture) | Type de la valeur référencée. | Obtient/définit la valeur référencée. |
Considérez la définition et l’appel de fonction suivants :
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
Considérez le cas dans lequel $number est contraint par un type :
[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
Comme indiqué, l’argument et le paramètre correspondant doivent être déclarés ref
.
Dans PowerShell, ref
correspond à System.Management.Automation.PSReference
.
4.3.7 Le type scriptblock
Le type scriptblock
représente un bloc de texte de script précompilé (§ 7.1.8) qui peut être utilisé comme une seule unité. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Attributs | Propriété d’instance (lecture seule) | Collection d’attributs | Obtient les attributs du bloc de script. |
Fichier | Propriété d’instance (lecture seule) | string | Obtient le nom du fichier dans lequel le bloc de script est défini. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation ([§ 4.5.12][§ 4.5.12]) | Obtient des informations sur le module dans lequel le bloc de script est défini. |
GetNewClosure | Méthode d’instance | scriptblock /aucun |
Récupère un bloc de script lié à un module. Toutes les variables locales qui sont dans le contexte de l’appelant seront copiées dans le module. |
Appeler | Méthode d’instance | Collection de object/object[] | Appelle le bloc de script avec les arguments spécifiés et retourne les résultats. |
InvokeReturnAsIs | Méthode d’instance | object/object[] | Appelle le bloc de script avec les arguments spécifiés et retourne les objets générés. |
Créer | Méthode statique | scriptblock /string |
Crée un nouvel objet scriptblock qui contient le script spécifié. |
Dans PowerShell, scriptblock
correspond à System.Management.Automation.ScriptBlock
. Invoke
retourne une collection de PsObject
.
4.3.8 Le type math
Le type math
fournit l’accès à certaines constantes et méthodes utiles dans les calculs mathématiques. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
E | Propriété statique (lecture seule) | double | Base de logarithme népérien |
PI | Propriété statique (lecture seule) | double | Rapport de la circonférence d’un cercle à son diamètre |
Abs | Méthode statique | numérique/numérique | Valeur absolue (le type de retour est le même que le type de l’argument transmis) |
Acos | Méthode statique | double/double | Angle dont le cosinus est le nombre spécifié |
Asin | Méthode statique | double/double | Angle dont le sinus est le nombre spécifié |
Atan | Méthode statique | double/double | Angle dont la tangente est le nombre spécifié |
Atan2 | Méthode statique | double/double y, double x | Angle dont la tangente est le quotient de deux nombres spécifiés x et y |
Ceiling | Méthode statique | decimal/decimal double/double |
Plus petit entier supérieur ou égal au nombre spécifié |
Cos | Méthode statique | double/double | Cosinus de l’angle spécifié |
cosh | Méthode statique | double/double | Cosinus hyperbolique de l’angle spécifié |
Exp | Méthode statique | double/double | e élevé à la puissance spécifiée |
Floor | Méthode statique | decimal/decimal double/double |
Plus grand nombre entier qui est inférieur ou égal au nombre spécifié |
Journal | Méthode statique | double/double number double/double number, double base |
Logarithme du nombre utilisant base e ou base base |
Log10 | Méthode statique | double/double | Logarithme de base 10 d’un nombre spécifié |
Max | Méthode statique | numérique/numérique | Plus grand des deux nombres spécifiés (le type de retour est le même que celui des arguments transmis) |
Min | Méthode statique | numérique/numérique, numérique | Plus petit des deux nombres spécifiés (le type de retour est le même que celui des arguments transmis) |
Pow | Méthode statique | double/double x, double y | Nombre spécifié x élevé à la puissance spécifiée y |
Sin | Méthode statique | double/double | Sinus de l’angle spécifié |
Sinh | Méthode statique | double/double | Sinus hyperbolique de l’angle spécifié |
Sqrt | Méthode statique | double/double | Racine carrée d’un nombre spécifié |
Tan | Méthode statique | double/double | Tangente de l’angle spécifié |
Tanh | Méthode statique | double/double | Tangente hyperbolique de l’angle spécifié |
Dans PowerShell, Math
correspond à System.Math
.
4.3.9 Le type ordered
Le type ordered
est un pseudo-type utilisé uniquement pour les conversions.
4.3.10 Le type pscustomobject
Le type pscustomobject
est un pseudo-type utilisé uniquement pour les conversions.
4.4 Types génériques
Plusieurs langages et environnements de programmation fournissent des types qui peuvent être spécialisés. Un grand nombre de ces types sont appelés types de conteneurs, car les instances peuvent contenir des objets d’un autre type. Prenons l’exemple d’un type appelé Stack qui peut représenter une pile de valeurs, pouvant être empilées (PUSH) et dépilées (POP). L’utilisateur d’une pile souhaite généralement stocker un seul type d’objet sur cette pile. Toutefois, si le langage ou l’environnement ne prend pas en charge la spécialisation de type, plusieurs variantes distinctes de la pile du type Stack doivent être implémentées même s’ils exécutent tous la même tâche, à l’aide d’éléments de type différents.
La spécialisation de type permet l’implémentation d’un type générique de telle façon qu’il peut être limité à la gestion d’un sous-ensemble de types lorsqu’il est utilisé. Par exemple,
- Un type de pile générique spécialisé pour contenir des chaînes peut être écrit sous la forme de
Stack[string]
. - Un type de dictionnaire générique spécialisé pour conserver les clés entières avec des valeurs de chaîne associées peut être écrit sous la forme de
Dictionary[int,string]
. - Une pile de chaînes peut être écrite sous la forme de
Stack[Stack[string]]
.
Bien que PowerShell ne définisse pas de types génériques intégrés, il peut utiliser de tels types s’ils sont fournis par l’environnement hôte. Consultez la syntaxe dans § 7.1.10.
Le nom complet du type Stack[string]
suggéré ci-dessus est System.Collections.Generic.Stack[string]
. Le nom complet du type Dictionary[int,string]
suggéré ci-dessus est System.Collections.Generic.Dictionary[int,string]
.
4.5 Types anonymes
Dans certains cas, une implémentation de PowerShell crée des objets d’un certain type, et ces objets ont des membres accessibles au script. Toutefois, il n’est pas nécessaire de spécifier le nom réel de ces types, tant que les membres accessibles sont suffisamment spécifiés pour pouvoir être utilisés. Autrement dit, les scripts peuvent enregistrer des objets de ces types et accéder à leurs membres sans connaître réellement les noms de ces types. Les sous-sections suivantes spécifient ces types.
4.5.1 Type de description de fournisseur
Ce type encapsule l’état d’un fournisseur. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Lecteurs | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.2) | Collection d’objets de description de lecteur |
Name | Propriété d’instance (lecture seule) | string | Nom du fournisseur |
Dans PowerShell, il s’agit du type System.Management.Automation.ProviderInfo
.
4.5.2 Type de description de lecteur
Ce type encapsule l’état d’un lecteur. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CurrentLocation | Propriété d’instance (lecture-écriture) | string | Emplacement de travail actuel (§ 3.1.4) du lecteur |
Description | Propriété d’instance (lecture-écriture) | string | Description du lecteur |
Name | Propriété d’instance (lecture seule) | string | Nom du lecteur |
Root | Propriété d’instance (lecture seule) | string | Nom du lecteur |
Dans PowerShell, il s’agit du type System.Management.Automation.PSDriveInfo
.
4.5.3 Type de description de variable
Ce type encapsule l’état d’une variable. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Attributs | Propriété d’instance (lecture seule) | Défini par l’implémentation | Collection d’attributs |
Description | Propriété d’instance (lecture-écriture) | string | Description affectée à la variable via les applets de commande New-Variable et Set-Variable. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module à partir duquel cette variable a été exportée |
ModuleName | Propriété d’instance (lecture seule) | string | Module dans lequel cette variable a été définie |
Name | Propriété d’instance (lecture seule) | string | Nom affecté à la variable lors de sa création dans le langage PowerShell ou via les applets de commande New-Variable et Set-Variable . |
Options | Propriété d’instance (lecture-écriture) | string | Options affectées à la variable via les applets de commande New-Variable et Set-Variable . |
Valeur | Propriété d’instance (lecture-écriture) | object | Valeur affectée à la variable lors de son affectation dans le langage PowerShell ou via les applets de commande New-Variable et Set-Variable . |
Dans PowerShell, il s’agit du type System.Management.Automation.PSVariable
.
Windows PowerShell : le type de la collection d’attributs est System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Type de description d’alias
Ce type encapsule l’état d’un alias. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CommandType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Doit avoir une valeur égale à « Alias ». |
Définition | Propriété d’instance (lecture seule) | string | Commande ou alias auquel l’alias a été affecté via les applets de commande New-Alias ou Set-Alias. |
Description | Propriété d’instance (lecture-écriture) | string | Description affectée à l’alias via les applets de commande New-Alias et Set-Alias . |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module à partir duquel cet alias a été exporté |
ModuleName | Propriété d’instance (lecture seule) | string | Module dans lequel cet alias a été défini |
Name | Propriété d’instance (lecture seule) | string | Nom affecté à l’alias lors de sa création via les applets de commande New-Alias et Set-Alias . |
Options | Propriété d’instance (lecture-écriture) | string | Options affectées à l’alias via les applets de commande New-Alias et Set-Alias . |
OutputType | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types des valeurs générées par la commande à laquelle l’alias fait référence. |
Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres de la commande. |
ParameterSets | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Informations sur les jeux de paramètres associés à la commande. |
ReferencedCommand | Propriété d’instance (lecture seule) | Défini par l’implémentation | Informations sur la commande qui est immédiatement référencée par cet alias. |
ResolvedCommand | Propriété d’instance (lecture seule) | Défini par l’implémentation | Informations sur la commande de résolution de l’alias. |
Dans PowerShell, il s’agit du type System.Management.Automation.AliasInfo
.
4.5.5 Type de description d’emplacement de travail
Ce type encapsule l’état d’un emplacement de travail. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Lecteur | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.2) | Objet de description d’un lecteur |
Chemin d’accès | Propriété d’instance (lecture seule) | string | Emplacement de travail |
Fournisseur | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.1) | Fournisseur |
ProviderPath | Propriété d’instance (lecture seule) | string | Chemin d’accès actuel du fournisseur |
Une pile d’emplacements de travail est une collection d’objets d’emplacement de travail, comme décrit ci-dessus.
Dans PowerShell, un emplacement de travail actuel est représenté par un objet de type System.Management.Automation.PathInfo
. Une pile d’emplacements de travail est représentée par un objet de type System.Management.Automation.PathInfoStack
, qui est une collection d’objets PathInfo
.
4.5.6 Type de description de variable d’environnement
Ce type encapsule l’état d’une variable d’environnement. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Name | Propriété d’instance (lecture-écriture) | string | Nom de la variable d’environnement |
Valeur | Propriété d’instance (lecture-écriture) | string | Valeur de la variable d’environnement |
Dans PowerShell, il s’agit du type System.Collections.DictionaryEntry
. Le nom de la variable est la clé du dictionnaire. La valeur de la variable d'environnement est la valeur du dictionnaire. Name est une AliasProperty
qui équivaut à Key.
4.5.7 Type de description d’application
Ce type encapsule l’état d’une application. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CommandType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Doit avoir une valeur égale à « Application ». |
Définition | Propriété d’instance (lecture seule) | string | Description de l’application. |
Extension | Propriété d’instance (lecture-écriture) | string | Extension du fichier d’application. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module qui définit cette commande. |
ModuleName | Propriété d’instance (lecture seule) | string | Nom du module qui définit la commande. |
Name | Propriété d’instance (lecture seule) | string | Nom de la commande. |
OutputType | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types des valeurs générées par la commande. |
Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres de la commande. |
ParameterSets | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Informations sur les jeux de paramètres associés à la commande. |
Chemin d’accès | Propriété d’instance (lecture seule) | string | Obtient le chemin d’accès du fichier d’application. |
Dans PowerShell, il s’agit du type System.Management.Automation.ApplicationInfo
.
4.5.8 Type de description d’applet de commande
Ce type encapsule l’état d’une applet de commande. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CommandType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Doit avoir une valeur égale à « Cmdlet ». |
DefaultParameterSet | Propriété d’instance (lecture seule) | Défini par l’implémentation | Jeu de paramètres par défaut utilisé si PowerShell ne peut pas déterminer le jeu de paramètres à utiliser sur la base des arguments fournis. |
Définition | Propriété d’instance (lecture seule) | string | Description de l’applet de commande. |
HelpFile | Propriété d’instance (lecture-écriture) | string | Chemin d’accès au fichier d’aide de l’applet de commande. |
ImplementingType | Propriété d’instance (lecture-écriture) | Défini par l’implémentation | Type qui implémente l’applet de commande. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module qui définit cette applet de commande. |
ModuleName | Propriété d’instance (lecture seule) | string | Nom du module qui définit l’applet de commande. |
Name | Propriété d’instance (lecture seule) | string | Nom de l’applet de commande. |
Nom | Propriété d’instance (lecture seule) | string | Nom du substantif de l’applet de commande. |
OutputType | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types des valeurs générées par l’applet de commande. |
Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres de l’applet de commande. |
ParameterSets | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Informations sur les jeux de paramètres associés à l’applet de commande. |
Verbe | Propriété d’instance (lecture seule) | string | Nom du verbe de l’applet de commande. |
PSSnapIn | Propriété d’instance (lecture seule) | Défini par l’implémentation | Windows PowerShell : informations sur le composant logiciel enfichable Windows PowerShell utilisé pour inscrire l’applet de commande. |
Dans PowerShell, il s’agit du type System.Management.Automation.CmdletInfo
.
4.5.9 Type de description de script externe
Ce type encapsule l’état d’un script externe (exécutable directement par PowerShell, mais non intégré). Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CommandType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Doit avoir une valeur égale à « ExternalScript ». |
Définition | Propriété d’instance (lecture seule) | string | Définition du script. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module qui définit ce script. |
ModuleName | Propriété d’instance (lecture seule) | string | Nom du module qui définit le script. |
Name | Propriété d’instance (lecture seule) | string | Nom du script. |
OriginalEncoding | Propriété d’instance (lecture seule) | Défini par l’implémentation | Encodage d’origine utilisé pour convertir les caractères du script en octets. |
OutputType | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types des valeurs générées par le script. |
Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres du script. |
ParameterSets | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Informations sur les jeux de paramètres associés au script. |
Chemin d’accès | Propriété d’instance (lecture seule) | string | Chemin d’accès au fichier de script. |
ScriptBlock | Propriété d’instance (lecture seule) | scriptblock | Script externe. |
ScriptContents | Propriété d’instance (lecture seule) | string | Contenu d’origine du script. |
Dans PowerShell, il s’agit du type System.Management.Automation.ExternalScriptInfo
.
4.5.10 Type de description de fonction
Ce type encapsule l’état d’une fonction. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
CmdletBinding | Propriété d’instance (lecture seule) | bool | Indique si la fonction utilise la même liaison de paramètre que celle utilisée par les applets de commande compilées (voir § 12.3.5). |
CommandType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Peut être comparé en termes d’égalité avec « Function » ou « Filter » pour déterminer laquelle de ces valeurs cet objet représente. |
DefaultParameterSet | Propriété d’instance (lecture seule) | string | Spécifie le jeu de paramètres à utiliser s’il n’est pas possible de le déterminer à partir des arguments (voir § 12.3.5). |
Définition | Propriété d’instance (lecture seule) | string | Version de chaîne de ScriptBlock |
Description | Propriété d’instance (lecture-écriture) | string | Description de la fonction. |
Module | Propriété d’instance (lecture seule) | Défini par l’implémentation (§ 4.5.12) | Module à partir duquel cette fonction a été exportée |
ModuleName | Propriété d’instance (lecture seule) | string | Module dans lequel cette fonction a été définie |
Name | Propriété d’instance (lecture seule) | string | Nom de la fonction |
Options | Propriété d’instance (lecture-écriture) | Défini par l’implémentation | Options d’étendue pour la fonction (§ 3.5.4). |
OutputType | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types des valeurs générées, dans l’ordre (voir § 12.3.6). |
Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les noms des paramètres, dans l’ordre. Si la fonction agit comme une applet de commande (voir CmdletBinding ci-dessus), les paramètres communs sont inclus à la fin de la collection. |
ParameterSets | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Informations sur les jeux de paramètres associés à la commande. Pour chaque paramètre, le résultat indique le nom et le type du paramètre, et indique si le paramètre est obligatoire, par position ou un paramètre de commutateur. Si la fonction agit comme une applet de commande (voir CmdletBinding ci-dessus), les paramètres communs sont inclus à la fin de la collection. |
ScriptBlock | Propriété d’instance (lecture seule) | scriptblock (§ 4.3.6) | Corps de la fonction |
Dans PowerShell, il s’agit du type System.Management.Automation.FunctionInfo
.
CommandType
a le typeSystem.Management.Automation.CommandTypes
.Options
a le typeSystem.Management.Automation.ScopedItemOptions
.OutputType
a le typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]
.Parameters
a le typeSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]
.ParameterSets
a le typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]
.- Visibility a le type
System.Management.Automation.SessionStateEntryVisibility
. - PowerShell a également une propriété appelée Visibility.
4.5.11 Type de description de filtre
Ce type encapsule l’état d’un filtre. Il a le même jeu de membres accessibles que le type de description de fonction (§ 4.5.10).
Dans PowerShell, il s’agit du type System.Management.Automation.FilterInfo
. Il a le même jeu de propriétés que System.Management.Automation.FunctionInfo
(§ 4.5.11).
4.5.12 Type de description de module
Ce type encapsule l’état d’un module. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Description | Propriété d’instance (lecture-écriture) | string | Description du module (définie par le manifeste) |
ModuleType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Type du module (Manifest, Script ou Binary) |
Name | Propriété d’instance (lecture seule) | string | Nom du module |
Chemin d’accès | Propriété d’instance (lecture seule) | string | Chemin d’accès du module |
Dans PowerShell, il s’agit du type System.Management.Automation.PSModuleInfo
. Le type de ModuleType
est System.Management.Automation.ModuleType
.
4.5.13 Type de description d’objet personnalisé
Ce type encapsule l’état d’un objet personnalisé. Il n’a aucun membre accessible.
Dans PowerShell, il s’agit du type System.Management.Automation.PSCustomObject
. Les applets de commande Import-Module
et New-Object
peuvent générer un objet de ce type.
4.5.14 Type de description de commande
La variable automatique $PsCmdlet
est un objet qui représente l’applet de commande ou la fonction en cours d’exécution. Le type de cet objet est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
ParameterSetName | Propriété d’instance (lecture seule) | string | Nom du jeu de paramètres actuel (voir ParameterSetName) |
ShouldContinue | Méthode d’instance | Surchargé /bool |
Demande la confirmation d’une opération auprès de l’utilisateur. |
ShouldProcess | Méthode d’instance | Surchargé /bool |
Demande la confirmation de l’utilisateur avant l’exécution d’une opération. |
Dans PowerShell, il s’agit du type System.Management.Automation.PSScriptCmdlet.
4.5.15 Type de description d’enregistrement d’erreur
La variable automatique $Error
contient une collection d’enregistrements d’erreur qui représentent des erreurs récentes (§ 3.12). Même si le type de cette collection n’est pas spécifié, il prend en charge la mise en indice pour accéder aux enregistrements d’erreur individuels.
Dans PowerShell, il s’agit du type de collection System.Collections.ArrayList
. Le type d’un enregistrement d’erreur individuel dans la collection est System.Management.Automation.ErrorRecord
. Ce type a les propriétés publiques suivantes :
- CategoryInfo : obtient des informations sur la catégorie de l’erreur.
- ErrorDetails : obtient et définit des informations d’erreur plus détaillées, telles qu’un message d’erreur de remplacement.
- Exception : obtient l’exception associée à cet enregistrement d’erreur.
- FullyQualifiedErrorId : obtient l’identificateur d’erreur complet pour cet enregistrement d’erreur.
- InvocationInfo : obtient des informations sur la commande qui a été appelée lorsque l’erreur s’est produite.
- PipelineIterationInfo : obtient l’état du pipeline lors de la création de cet enregistrement d’erreur
- TargetObject : obtient l’objet en cours de traitement quand l’erreur s’est produite.
4.5.16 Type de description d’énumérateur
Un certain nombre de variables sont des énumérateurs pour les collections (§ 4). La variable automatique $foreach
est l’énumérateur créé pour toute instruction foreach
. La variable automatique $input
est l’énumérateur d’une collection remise à une fonction à partir du pipeline. La variable automatique $switch
est l’énumérateur créé pour toute instruction switch
.
Le type d’un énumérateur est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Actuel | Propriété d’instance (lecture seule) | object | Obtient l’élément actuel dans la collection. Si l’énumérateur n’est pas actuellement positionné au niveau d’un élément de la collection, le comportement est défini par l’implémentation. |
MoveNext | Méthode d’instance | Aucun/bool | Avance l’énumérateur à l’élément suivant de la collection. Retourne $true si l’énumérateur a pu avancer jusqu’à l’élément suivant, $false si l’énumérateur a dépassé la fin de la collection. |
Dans PowerShell, ces membres sont définis dans l’interface System.IEnumerator
, qui est implémentée par les types identifiés ci-dessous. Si l’énumérateur n’est pas actuellement positionné au niveau d’un élément de la collection, une exception de type InvalidOperationException
est levée. Pour $foreach
, il s’agit du type System.Array+SZArrayEnumerator
. Pour $input
, il s’agit du type System.Collections.ArrayList+ArrayListEnumeratorSimple
. Pour $switch
, il s’agit du type System.Array+SZArrayEnumerator
.
4.5.17 Type de description de répertoire
L’applet de commande New-Item peut créer des éléments de différents types, y compris des répertoires FileSystem. Le type d’un objet de description de répertoire est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Attributs | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.2.6.3) | Obtient ou définit un ou plusieurs des attributs de l’objet de répertoire. |
CreationTime | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.5.19) | Obtient ou définit l’heure de création de l’objet de répertoire. |
Extension | Propriété d’instance (lecture seule) | string | Obtient la partie extension du nom du répertoire. |
FullName | Propriété d’instance (lecture seule) | string | Obtient le chemin d’accès complet du répertoire. |
LastWriteTime | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.5.19) | Obtient ou définit l’heure de la dernière écriture dans le répertoire. |
Name | Propriété d’instance (lecture seule) | string | Obtient le nom du répertoire. |
Dans PowerShell, il s’agit du type System.IO.DirectoryInfo
. La propriété Attributes a le type System.IO.FileAttributes
.
4.5.18 Type de description de fichier
L’applet de commande New-Item
peut créer des éléments de différents types, y compris des fichiers FileSystem. Le type d’un objet de description de fichier est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Attributs | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.2.6.3) | Obtient ou définit un ou plusieurs des attributs de l’objet de fichier. |
BaseName | Propriété d’instance (lecture seule) | string | Obtient le nom du fichier, à l’exclusion de l’extension. |
CreationTime | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.5.19) | Obtient ou définit l’heure de création de l’objet de fichier. |
Extension | Propriété d’instance (lecture seule) | string | Obtient la partie extension du nom du fichier. |
FullName | Propriété d’instance (lecture seule) | string | Obtient le chemin d’accès complet du fichier. |
LastWriteTime | Propriété d’instance (lecture-écriture) | Défini par l’implémentation (§ 4.5.19) | Obtient ou définit l’heure de la dernière écriture dans le fichier. |
Longueur | Propriété d’instance (lecture seule) | long | Obtient la taille du fichier en octets. |
Name | Propriété d’instance (lecture seule) | string | Obtient le nom du fichier. |
VersionInfo | Propriété d’instance (lecture seule) | Défini par l’implémentation | Windows PowerShell : cette ScriptProperty retourne un System.Diagnostics.FileVersionInfo pour le fichier. |
Dans PowerShell, il s’agit du type System.IO.FileInfo
.
4.5.19 Type de description Date-Time
Le type d’un objet de description date-time est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Jour | Propriété d’instance (lecture seule) | int | Obtient le composant « jour » du mois représenté par cette instance. |
Heure | Propriété d’instance (lecture seule) | int | Obtient le composant « heure » de la date représentée par cette instance. |
Minute | Propriété d’instance (lecture seule) | int | Obtient le composant « minutes » de la date représentée par cette instance. |
Month | Propriété d’instance (lecture seule) | int | Obtient le composant « mois » de la date représentée par cette instance. |
Second | Propriété d’instance (lecture seule) | int | Obtient le composant « secondes » de la date représentée par cette instance. |
Year | Propriété d’instance (lecture seule) | int | Obtient le composant « année » de la date représentée par cette instance. |
Un objet de ce type peut être créé par l’applet de commande Get-Date.
Dans PowerShell, il s’agit du type System.DateTime
.
4.5.20 Type de description Group-Info
Le type d’un objet de description group-info est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Count | Propriété d’instance (lecture seule) | int | Obtient le nombre d’éléments dans le groupe. |
Groupe | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Obtient les éléments du groupe. |
Name | Propriété d’instance (lecture seule) | string | Obtient le nom du groupe. |
Valeurs | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Obtient les valeurs des éléments du groupe. |
Un objet de ce type peut être créé par l’applet de commande Group-Object.
Dans PowerShell, il s’agit du type Microsoft.PowerShell.Commands.GroupInfo
.
4.5.21 Type de description Generic-Measure-Info
Le type d’un objet de description generic-measure-info est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Moyenne | Propriété d’instance (lecture seule) | double | Obtient la moyenne des valeurs des propriétés mesurées. |
Count | Propriété d’instance (lecture seule) | int | Obtient le nombre d’objets avec les propriétés spécifiées. |
Maximale | Propriété d’instance (lecture seule) | double | Obtient la valeur maximale des propriétés spécifiées. |
Minimum | Propriété d’instance (lecture seule) | double | Obtient la valeur minimale des propriétés spécifiées. |
Propriété | Propriété d’instance (lecture seule) | string | Obtient la propriété à mesurer. |
Sum | Propriété d’instance (lecture seule) | double | Obtient la somme des valeurs des propriétés spécifiées. |
Un objet de ce type peut être créé par l’applet de commande Measure-Object.
Dans PowerShell, il s’agit du type Microsoft.PowerShell.Commands.GenericMeasureInfo
.
4.5.22 Type de description Text-Measure-Info
Le type d’un objet de description text-info est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Caractères | Propriété d’instance (lecture seule) | int | Obtient le nombre de caractères dans l’objet cible. |
Lignes | Propriété d’instance (lecture seule) | int | Obtient le nombre de lignes dans l’objet cible. |
Propriété | Propriété d’instance (lecture seule) | string | Obtient la propriété à mesurer. |
Words | Propriété d’instance (lecture seule) | int | Obtient le nombre de mots dans l’objet cible. |
Un objet de ce type peut être créé par l’applet de commande Measure-Object
.
Dans PowerShell, il s’agit du type Microsoft.PowerShell.Commands.TextMeasureInfo
.
4.5.23 Type d’informations d’identification
Un objet d’informations d’identification peut ensuite être utilisé dans différentes opérations de sécurité. Le type d’un objet d’informations d’identification est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Mot de passe | Propriété d’instance (lecture seule) | Défini par l’implémentation | Obtient le mot de passe. |
UserName | Propriété d’instance (lecture seule) | string | Obtient le nom d’utilisateur. |
Un objet de ce type peut être créé par l’applet de commande Get-Credential.
Dans PowerShell, il s’agit du type System.Management.Automation.PSCredential
.
4.5.24 Type d’indicateur de méthode
Le type d’un indicateur de méthode est défini par l’implémentation. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Appeler | Méthode d’instance | objet/nombre variable et type | Prend un nombre variable d’arguments et appelle indirectement la méthode référencée par l’indicateur de méthode parent, en transmettant les arguments. |
Un objet de ce type peut être créé par une invocation-expression (§ 7.1.3).
Dans PowerShell, il s’agit du type System.Management.Automation.PSMethod.
4.5.25 Type de définition de membre
Ce type encapsule la définition d’un membre. Il contient les membres accessibles suivants :
Membre | Genre de membre | Type | Objectif |
---|---|---|---|
Définition | Propriété d’instance (lecture seule) | string | Obtient la définition du membre. |
MemberType | Propriété d’instance (lecture seule) | Défini par l’implémentation | Obtient le type PowerShell du membre. |
Name | Propriété d’instance (lecture seule) | string | Obtient le nom du membre. |
TypeName | Propriété d’instance (lecture seule) | string | Obtient le nom de type du membre. |
Dans PowerShell, il s’agit du type Microsoft.PowerShell.Commands.MemberDefinition
.
4.6 Extension et adaptation des types
Une implémentation PowerShell comprend une famille de types principaux (décrits dans ce chapitre) qui contiennent chacun leur propre ensemble de membres de base. Ces membres peuvent être des méthodes ou des propriétés, et il peut s’agir de membres d’instance ou statiques. Par exemple, les membres de base de type string (§ 4.3.1) correspondent à la propriété d’instance Length et aux méthodes d’instance ToLower et ToUpper.
Lorsqu’un objet est créé, il contient toutes les propriétés d’instance du type de cet objet, et les méthodes d’instance de ce type peuvent être appelées sur cet objet. Un objet peut être personnalisé via l’ajout de membres d’instance au moment de l’exécution. Le résultat est appelé un objet personnalisé. Tous les membres ajoutés à une instance existent uniquement pendant la durée de vie de cette instance. Les autres instances du même type principal ne sont pas affectées.
Le jeu de membres de base d’un type peut être augmenté par l’ajout des types de membres suivants :
- les membres adaptés, via le système de type étendu (ETS), dont la plupart des détails ne sont pas spécifiés.
- les membres étendus, via l’applet de commande Add-Member.
Dans PowerShell, les membres étendus peuvent également être ajoutés via des fichiers types.ps1xml
. Les membres adaptés et étendus sont collectivement appelés membres synthétiques.
L’ETS ajoute les membres suivants à tous les objets PowerShell : psbase, psadapted, psextended and pstypenames. Pour plus d’informations sur ces membres, voir les paramètres Force et View dans l’applet de commande Get-Member.
Un membre d’instance peut cacher un membre étendu et/ou adapté portant le même nom, et un membre étendu peut cacher un membre adapté. En pareil cas, les jeux de membres psadapted et psextended peuvent être utilisés pour accéder à ces membres cachés.
Si un types.ps1xml
spécifie un membre appelé Supports, obj.psextended
fournit un accès à ce seul membre et non à un membre ajouté via Add-Member
.
Il est possible de créer un objet personnalisé avec un nouveau membre M de trois façons :
Cette approche peut être utilisée pour ajouter un ou plusieurs membres NoteProperty.
$x = New-Object PsObject -Property @{M = 123}`
Cette approche peut être utilisée pour ajouter des membres NoteProperty ou ScriptMethod.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}`
Cette approche peut être utilisée pour ajouter n’importe quel type de membre.
$x = New-Object PsObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PsObject
est le type de base de tous les types PowerShell.