Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note éditoriale
Important
La spécification du langage Windows PowerShell 3.0 a été publiée en décembre 2012 et est basée sur Windows PowerShell 3.0. Cette spécification ne reflète pas l’état actuel de PowerShell. Il n’existe aucun plan de mise à jour de cette documentation pour refléter l’état actuel. Cette documentation est présentée ici pour référence historique.
Le document de spécification est disponible en tant que document Microsoft Word à partir du Centre de téléchargement Microsoft à l’adresse : https://www.microsoft.com/download/details.aspx?id=36389 ce document Word a été converti pour présentation ici sur Microsoft Learn. Pendant la conversion, certaines modifications éditoriales ont été apportées pour prendre en charge la mise en forme de la plateforme Docs. Certaines fautes de frappe et erreurs mineures ont été corrigées.
Dans PowerShell, chaque valeur a un type et les types appartiennent à l’une des deux catégories principales : types valeur et types de référence. Considérez le type int, qui est typique 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 de bits de cette valeur représente une valeur valide pour son type. À présent, considérez le type de tableau int[], qui est typique des types de référence. Une valeur dite d’un type de tableau peut contenir soit une référence à un objet qui contient réellement les éléments du tableau, soit la référence nulle , dont la valeur est $null. L'importante distinction entre les deux catégories de types est mieux illustrée par les différences de leur signification lors de l’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; c'est-à-dire, une copie de la référence à l’objet plutôt que de sa valeur réelle. En revanche, une copie approfondie nécessite également d’effectuer une copie de l’objet.
Un type numérique est un type qui permet la représentation de valeurs entières ou fractionnaires et qui 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 bool (§4.2.1) ou char (§4.2.2). Une implémentation peut fournir d’autres types numériques (par exemple, octet signé, entier non signé et entiers d’autres tailles).
Une collection est un groupe d’un ou plusieurs éléments connexes, qui n’ont pas besoin du même type.
Des exemples de types de collection sont des tableaux, des piles, des files d’attente, des listes et des tables de hachage. Un programme peut énumérer (ou itérer) sur les éléments d’une collection, en obtenant l’accès à chaque élément un à la fois. Pour ce faire, utilisez l’instruction foreach (§8.4.4) et l’applet de commande ForEach-Object . 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 sous la forme suivante : returnType/argumentTypeList. Si la liste de types d’arguments est trop longue pour s’adapter à cette colonne, elle est affichée dans la colonne Objectif à la place.
D’autres types entiers sont SByte, Int16, UInt16, UInt32et UInt64, tous dans l’espace de noms System.
De nombreuses classes de collection sont définies dans le cadre des espaces de noms System.Collections ou System.Collections.Generic . La plupart des classes de collection implémentent les interfaces ICollection, IComparer, IEnumerable, IList, IDictionaryet IDictionaryEnumerator et leurs équivalents génériques.
Vous pouvez également utiliser des noms abrégés pour certains types. Pour plus d’informations, veuillez consulter la section à propos des accélérateurs de type.
4.1 Types spéciaux
4.1.1 Type void
Ce type ne peut pas être instancié. Il fournit un moyen de rejeter une valeur explicitement à l’aide de l’opérateur de conversion (§7.2.9).
4.1.2 Le type nul
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 « nothingness » dans les contextes de référence. Les caractéristiques de ce type ne sont pas spécifiées.
4.1.3 Type d’objet
Chaque type dans PowerShell, à l’exception du type Null (§4.1.2) est dérivé directement ou indirectement de l’objet de type. L’objet est donc le type de base ultime de tous les types non Null. Une variable contrainte (§5.3) pour taper un objet n’est vraiment pas limitée du tout, car elle peut contenir une valeur de n’importe quel type.
4.2 Types valeur
4.2.1 Boolean
Le type booléen est bool. Il n’existe que deux valeurs de ce type, False et True, représentées respectivement par les variables automatiques $false et $true(§2.3.2.2).
Dans PowerShell, bool correspond à System.Boolean.
4.2.2 Caractère
Une valeur de caractère est de type char, capable de stocker n'importe quel point de code Unicode 16 bits encodé en UTF-16.
Le type char contient les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | Propriété statique (lecture seule) | car | Plus grande valeur possible du type char |
| MinValue | Propriété statique (lecture seule) | car | La plus petite valeur possible de 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 alphabétique |
| IsLetterOrDigit | Méthode statique | bool/char | Teste si le caractère est un chiffre décimal ou une lettre alphabétique |
| IsLower | Méthode statique | bool/char | Teste si le caractère est une lettre alphabétique 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 alphabétique majuscule |
| IsWhiteSpace | Méthode statique | bool/char | Teste si le caractère est un espace blanc. |
| ToLower | Méthode statique | char/chaîne | Convertit le caractère en minuscules |
| ToUpper | Méthode statique | char/chaîne | Convertit le caractère en majuscule |
Windows PowerShell : char correspond à System.Char.
4.2.3 Entier
Il existe deux types entiers signés, tous deux utilisent la représentation complémentaire de deux pour les valeurs négatives :
- Type
int, qui utilise 32 bits lui donnant une plage de -2147483648 à +2147483647, inclusive. - Type
long, qui utilise 64 bits et lui donne une plage de -9223372036854775808 à +9223372036854775807, inclusivement.
Type int a les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | Propriété statique (lecture seule) | int | La plus grande valeur possible de type int |
| MinValue | Propriété statique (lecture seule) | int | La plus petite valeur possible de type int |
Le type long contient les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | 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 entier non signé :
- Type
byte, qui utilise 8 bits lui donnant une plage de 0 à 255, inclusive.
Le type byte contient les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | Propriété statique (lecture seule) | byte | La plus grande valeur possible du type byte |
| MinValue | Propriété statique (lecture seule) | byte | La plus petite valeur possible de type octet |
Dans PowerShell, byte, intet long correspondent à System.Byte, System.Int32et System.Int64, respectivement.
4.2.4 Nombre réel
4.2.4.1 float et double
Il existe deux types réels (ou à virgule flottante) :
- le type
floatutilise la représentation simple précision IEEE 32 bits. - le type
doubleutilise la représentation simple précision IEEE 64 bits.
Un troisième nom de type, single, est un synonyme de 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 une précision étendue pour les résultats intermédiaires.
Le type float contient les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | Propriété statique (lecture seule) | flotter | Plus grande valeur possible du type float |
| MinValue | Propriété statique (lecture seule) | flotter | Plus petite valeur possible du type float |
| NaN | Propriété statique (lecture seule) | flotter | Valeur constante Not-a-Number |
| NegativeInfinity | Propriété statique (lecture seule) | flotter | L’infini négatif de la valeur constante |
| PositiveInfinity | Propriété statique (lecture seule) | flotter | La valeur constante de l’infini positif |
Le type double contient les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | 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 | L’infini négatif de la valeur constante |
| PositiveInfinity | Propriété statique (lecture seule) | double | La valeur constante de l’infini positif |
Dans PowerShell, float et double correspondent à System.Single et System.Double, respectivement.
4.2.4.2 décimal
Le type décimal utilise une représentation de 128 bits. Au minimum, il doit prendre en charge une échelle s telle que 0 <= s<= au moins 28, et une plage de valeurs de -79228162514264337593543950335 à 79228162514264337593543950335. La représentation réelle des décimales est définie par l'implémentation.
Le type décimal comporte les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Valeur maximum | Propriété statique (lecture seule) | Décimal | La plus grande valeur possible de type décimal |
| MinValue | Propriété statique (lecture seule) | Décimal | La plus petite valeur possible de type décimal |
Remarque
Les nombres réels décimaux ont une caractéristique appelée échelle, qui représente le nombre de chiffres à droite de la virgule décimale. Par exemple, la valeur 2,340 a une échelle de 3 où les zéros de fin sont significatifs. Lorsque deux nombres réels décimaux sont ajoutés ou soustraits, l’échelle du résultat est la plus grande des deux échelles. Par exemple, 1.0 + 2.000 est 3.000, tandis que 5.0 - 2.00 est 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 2.0000. Lorsque deux nombres réels décimaux sont divisés, l’échelle du résultat est l’échelle du premier moins l’échelle de la seconde. Par exemple, 4.00000/2.000 est 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 1.5.
Dans PowerShell, decimal correspond à System.Decimal. La représentation de la décimale est la suivante :
- Lorsqu’elle est considérée comme un tableau de quatre valeurs
int, elle contient les éléments suivants :- L’index 0 (bits 0-31) contient les 32 bits de faible ordre du coefficient décimal.
- L’index 1 (bits 32-63) contient les 32 bits intermédiaires du coefficient décimal.
- L’index 2 (bits 64-95) contient les 32 bits de ordre élevé du coefficient décimal.
- L’index 3 (bits 96-127) contient le bit de signe et l’échelle, comme suit :
- bits 0--15 sont zéro
- bits 16-23 contient l’échelle sous forme de valeur 0--28
- bits 24-30 sont zéro
- bit 31 est le signe (0 pour positif, 1 pour négatif)
4.2.5 Type de commutateur
Ce type est utilisé pour limiter le type d’un paramètre dans une commande (§8.10.5). Si un argument avec le nom de paramètre correspondant est présent, le paramètre teste la valeur $true ; sinon, il teste la valeur $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 ensemble de constantes nommées représentant toutes les valeurs possibles qui peuvent ê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 est des puissances distinctes de deux et, à l’aide de 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 | Type de membre | Fonction |
|---|---|---|
| Continuer | Constante d’énumération | Le runtime PowerShell continuera à traiter et informera l’utilisateur qu’une action s’est produite. |
| S'informer | Constante d’énumération | Le runtime PowerShell arrête le traitement et demande à l’utilisateur comment il doit continuer. |
| SilentlyContinue | Constante d’énumération | Le runtime PowerShell continuera à traiter sans avertir l’utilisateur qu’une action s’est produite. |
| Arrêter | Constante d’énumération | Le runtime PowerShell arrête le traitement lorsqu’une action se produit. |
Dans PowerShell, ce type est 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 | Type de membre | Fonction |
|---|---|---|
| Élevé | Constante d’énumération | L’action effectuée présente un risque élevé de perte de données, comme la 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, ce type est System.Management.Automation.ConfirmImpact.
4.2.6.3 Type File-Attributes
Ce type défini par l’implémentation a les membres accessibles suivants, qui peuvent être combinés :
| Membre | Type de membre | Fonction |
|---|---|---|
| Archivage | Constante d’énumération | État d’archivage du fichier. Les applications utilisent cet attribut pour marquer les fichiers à des fins de sauvegarde ou de suppression. |
| Comprimé | Constante d’énumération | Le fichier est compressé. |
| Appareil | Réservé pour une utilisation ultérieure. | |
| 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é. Pour un fichier, cela signifie que toutes les données du fichier sont chiffrées. Pour un répertoire, cela signifie que le chiffrement est la valeur par défaut pour les fichiers et répertoires nouvellement créés. |
| Masqué(e) | Constante d’énumération | Le fichier est masqué et n’est donc pas inclus dans une liste de répertoires ordinaire. |
| Normal | Constante d’énumération | Le fichier est normal et n’a pas d’autres attributs définis. Cet attribut est valide uniquement 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 ligne | Constante d’énumération | Le fichier est hors connexion. Les données du fichier ne sont pas immédiatement disponibles. |
| ReadOnly | Constante d’énumération | Le fichier est en lecture seule. |
| ReparsePoint | Constante d’énumération | Le fichier contient un point de réanalyse, qui est un bloc de données défini par l'utilisateur associé à un fichier ou à un répertoire. |
| SparseFile | Constante d’énumération | Le fichier est un fichier sparse. Les fichiers clairsemés sont généralement des fichiers volumineux dont les données sont principalement 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 au lieu 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, ce type est System.IO.FileAttributes avec l’attribut FlagsAttribute.
4.2.6.4 Type Regular-Expression-Option
Ce type défini par l’implémentation a les membres accessibles suivants, qui peuvent être combinés :
| Membre | Type de membre | Fonction |
|---|---|---|
| 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, ce type est System.Text.RegularExpressions.RegexOptions avec l’attribut FlagsAttribute. Les valeurs supplémentaires suivantes sont définies : Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.
4.3 Types de référence
4.3.1 Chaînes
Une valeur de type chaîne est une séquence immuable de zéro ou plusieurs caractères de type char, chacun contenant un point de code Unicode de 16 bits encodé en UTF-16.
Le type string a les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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 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 comporte les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Longueur | Propriété d’instance (lecture seule) | int | Nombre d’éléments dans le tableau |
| Rang | 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, de destination est le tableau de destination, nombre correspond au 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
Type Hashtable a les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Count | Propriété d’instance | int | Obtient le nombre de paires clé/valeur dans la table de hachage |
| Touches | 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 |
| Retirer | Méthode d'instance | vide/aucun | Supprime la clé/la valeur désignée |
Pour plus d’informations sur les tables de hachage, voir § 10.
Dans PowerShell, Hashtable correspond à System.Collections.Hashtable.
Hashtable éléments sont stockés dans un objet de type DictionaryEntry, et les collections retournées par clés et valeurs 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 arborescence en mémoire (cache) d’un document XML et 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 des machines pour prendre en charge le traitement des expressions régulières. Il est utilisé pour limiter 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.
Type ref fournit des machines pour permettre aux arguments d’être transmis aux commandes par référence, de sorte que les commandes peuvent modifier la valeur de l’argument. Type ref a les membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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 son paramètre correspondant doivent être déclarés ref.
Dans PowerShell, ref correspond à System.Management.Automation.PSReference.
4.3.7 Le type scriptblock
Type scriptblock représente un bloc précompilé de texte de script (§7.1.8) qui peut être utilisé en tant qu’unité unique. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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) | implémentation définie ([§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 se trouvent dans le contexte de l’appelant sont 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 tous les objets générés. |
| Créer | Méthode statique | scriptblock /string |
Crée un 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 Type mathématique
Le type math permet d’accéder à certaines constantes et méthodes utiles dans les calculs mathématiques. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| E | Propriété statique (lecture seule) | double | Base logarithmique naturelle |
| PI | Propriété statique (lecture seule) | double | Ratio 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 identique au type de l’argument passé) |
| 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 |
| Plafond | Méthode statique | decimal/decimal double/double |
le 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 |
| Étage | 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 d'un nombre à l’aide de la base e, la base ou la 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 de deux nombres spécifiés (le type de retour est identique au type des arguments passés) |
| Min | Méthode statique | numérique/numérique, numérique | Plus petit de deux nombres spécifiés (le type de retour est identique au type des arguments passés) |
| Pow | Méthode statique | double/double x, double y | Nombre spécifié x élevé à la puissance spécifiée y |
| Péché | 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
Type ordered est un pseudo type utilisé uniquement pour les conversions.
4.3.10 Le type pscustomobject
Type pscustomobject est un pseudo type utilisé uniquement pour les conversions.
4.4 Types génériques
Un certain nombre de langages de programmation et d’environnements fournissent des types qui peuvent être spécialisés . La plupart de ces types sont appelés types de conteneurs, car les instances de ces types 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). En règle générale, l’utilisateur d’une pile souhaite 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 du type Stack doivent être implémentées même si elles effectuent toutes la même tâche, juste avec des éléments de type différents.
La spécialisation de type permet d’implémenter un type générique afin qu’il puisse être contraint de gérer 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 pourrait être écrit comme
Stack[string]. - Un type de dictionnaire générique spécialisé pour contenir des clés int avec des valeurs de chaîne associées peut être écrit en tant que
Dictionary[int,string]. - Une pile de chaînes peut être écrite sous la forme de
Stack[Stack[string]].
Bien que PowerShell ne définit aucun type générique intégré, il peut utiliser ces 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 type donné, et ces objets ont des membres accessibles au script. Toutefois, le nom réel de ces types n’a pas besoin d’être spécifié, tant que les membres accessibles sont suffisamment spécifiés pour qu’ils soient 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 du fournisseur
Ce type encapsule l’état d’un fournisseur. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Lecteurs | Propriété d’instance (lecture seule) | Implémentation définie (§4.5.2) | Collection d’objets de description de lecteur |
| Nom | Propriété d’instance (lecture seule) | string | Nom du fournisseur |
Dans PowerShell, ce type est System.Management.Automation.ProviderInfo.
4.5.2 Type de description de lecteur
Ce type encapsule l’état d’un lecteur. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Emplacement actuel | 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 |
| Nom | Propriété d’instance (lecture seule) | string | Nom du lecteur |
| Racine | Propriété d’instance (lecture seule) | string | Nom du lecteur |
Dans PowerShell, ce type est System.Management.Automation.PSDriveInfo.
4.5.3 Type de description de variable
Ce type encapsule l’état d’une variable. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Attributs | Propriété d’instance (lecture seule) | Implémentation définie | 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) | Implémentation définie (§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 |
| Nom | 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) | objet | Valeur affectée à la variable lorsqu’elle a été affectée dans la langue PowerShell ou via les applets de commande New-Variable et Set-Variable. |
Dans PowerShell, ce type est 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 dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| CommandType | Propriété d’instance (lecture seule) | Implémentation définie | 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) | Implémentation définie (§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 |
| Nom | Propriété d’instance (lecture seule) | string | Nom affecté à l’alias lors de sa création via les applets de commande New-Alias ou Set-Alias. |
| Options | Propriété d’instance (lecture-écriture) | string | Options affectées à l’alias via les applets de commande New-Alias New-Alias ou Set-Alias. |
| Type de sortie | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types de valeurs de sortie 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. |
| EnsemblesDeParamètres | 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) | Implémentation définie | Informations sur la commande qui est immédiatement référencée par cet alias. |
| ResolvedCommand | Propriété d’instance (lecture seule) | Implémentation définie | Informations sur la commande de résolution de l’alias. |
Dans PowerShell, ce type est System.Management.Automation.AliasInfo.
4.5.5 Type de description de l’emplacement de travail
Ce type encapsule l’état d’un emplacement de travail. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Conduire | Propriété d’instance (lecture seule) | Implémentation définie (§4.5.2) | Objet de description d’un lecteur |
| Chemin | Propriété d’instance (lecture seule) | string | Emplacement de travail |
| Fournisseur | Propriété d’instance (lecture seule) | Implémentation définie (§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 dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Nom | 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, ce type est System.Collections.DictionaryEntry. Le nom de la variable est la clé de dictionnaire. La valeur de la variable d’environnement correspond à celle du dictionnaire.
Name est une AliasProperty qui équivaut à Key.
4.5.7 Type de description de l’application
Ce type encapsule l’état d’une application. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| CommandType | Propriété d’instance (lecture seule) | Implémentation définie | 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) | Implémentation définie (§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. |
| Nom | Propriété d’instance (lecture seule) | string | Nom de la commande. |
| Type de sortie | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types de la sortie des valeurs par la commande. |
| Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres de la commande. |
| EnsemblesDeParamètres | 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 | Propriété d’instance (lecture seule) | string | Obtient le chemin d’accès du fichier d’application. |
Dans PowerShell, ce type est 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 dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| CommandType | Propriété d’instance (lecture seule) | Implémentation définie | Doit avoir une valeur égale à « Cmdlet ». |
| DefaultParameterSet | Propriété d’instance (lecture seule) | Implémentation définie | Jeu de paramètres par défaut utilisé si PowerShell ne peut pas déterminer le jeu de paramètres à utiliser en fonction des arguments fournis. |
| Définition | Propriété d’instance (lecture seule) | string | Description de l’applet de commande. |
| Fichier d'aide | 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) | Implémentation définie | Type qui implémente l’applet de commande. |
| Module | Propriété d’instance (lecture seule) | Implémentation définie (§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. |
| Nom | 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. |
| Type de sortie | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types de sortie des valeurs 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. |
| EnsemblesDeParamètres | 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) | Implémentation définie | Windows PowerShell : informations sur le composant logiciel enfichable Windows PowerShell utilisé pour inscrire l’applet de commande. |
Dans PowerShell, ce type est System.Management.Automation.CmdletInfo.
4.5.9 Type de description de script externe
Ce type encapsule l’état d’un script externe (qui est directement exécutable par PowerShell, mais qui n’est pas intégré). Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| CommandType | Propriété d’instance (lecture seule) | Implémentation définie | 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) | Implémentation définie (§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. |
| Nom | Propriété d’instance (lecture seule) | string | Nom du script. |
| OriginalEncoding | Propriété d’instance (lecture seule) | Implémentation définie | Encodage d’origine utilisé pour convertir les caractères du script en octets. |
| Type de sortie | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types de valeurs de sortie par le script. |
| Paramètres | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Paramètres du script. |
| EnsemblesDeParamètres | 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 | Propriété d’instance (lecture seule) | string | Chemin d’accès au fichier de script. |
| ScriptBlock | Propriété d’instance (lecture seule) | scriptblock | Le script externe. |
| ScriptContents | Propriété d’instance (lecture seule) | string | Contenu d’origine du script. |
Dans PowerShell, ce type est System.Management.Automation.ExternalScriptInfo.
4.5.10 Type de description de la fonction
Ce type encapsule l’état d’une fonction. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| CmdletBinding | Propriété d’instance (lecture seule) | bool | Indique si la fonction utilise la même liaison de paramètres que celle utilisée par les applets de commande compilées (voir §12.3.5). |
| CommandType | Propriété d’instance (lecture seule) | Implémentation définie | Peut être comparé pour l'égalité avec « Function » ou « Filter » pour déterminer lequel de ces objets cet objet représente. |
| DefaultParameterSet | Propriété d’instance (lecture seule) | string | Spécifie le jeu de paramètres à utiliser si cela ne peut pas être déterminé à partir des arguments (voir §12.3.5). |
| Définition | Propriété d’instance (lecture seule) | string | Version sous forme de chaîne de ScriptBlock |
| Description | Propriété d’instance (lecture-écriture) | string | Description de la fonction. |
| Module | Propriété d’instance (lecture seule) | Implémentation définie (§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 |
| Nom | Propriété d’instance (lecture seule) | string | Nom de la fonction |
| Options | Propriété d’instance (lecture-écriture) | Implémentation définie | Options d’étendue de la fonction (§3.5.4). |
| Type de sortie | Propriété d’instance (lecture seule) | Collection définie par l’implémentation | Spécifie les types de sortie des valeurs, 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 de paramètres, dans l’ordre. Si la fonction agit comme une applet de commande (voir CmdletBinding ci-dessus), les paramètres courants sont inclus à la fin de la collection. |
| EnsemblesDeParamètres | 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 affiche le nom et le type du paramètre, et indique si le paramètre est obligatoire, par position ou par paramètre de commutateur. Si la fonction agit comme une applet de commande (voir CmdletBinding ci-dessus), les paramètres courants sont inclus à la fin de la collection. |
| ScriptBlock | Propriété d’instance (lecture seule) | scriptblock (§ 4.3.6) | Corps de la fonction |
Dans PowerShell, ce type est System.Management.Automation.FunctionInfo.
-
CommandTypea le typeSystem.Management.Automation.CommandTypes. -
Optionsa le typeSystem.Management.Automation.ScopedItemOptions. -
OutputTypea le typeSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parametersa le typeSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetsa 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 du filtre
Ce type encapsule l’état d’un filtre. Il a le même ensemble de membres accessibles que le type de description de fonction (§4.5.10).
Dans PowerShell, ce type est System.Management.Automation.FilterInfo. Il a le même ensemble de propriétés que System.Management.Automation.FunctionInfo (§4.5.11).
4.5.12 Type de description du module
Ce type encapsule l’état d’un module. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Description | Propriété d’instance (lecture-écriture) | string | Description du module (définie par le manifeste) |
| ModuleType | Propriété d’instance (lecture seule) | Implémentation définie | Type du module (manifeste, script ou binaire) |
| Nom | Propriété d’instance (lecture seule) | string | Nom du module |
| Chemin | Propriété d’instance (lecture seule) | string | Chemin d’accès du module |
Dans PowerShell, ce type est 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, ce type est 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 exécutée. Le type de cet objet est défini par l'implémentation ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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 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, ce type est System.Management.Automation.PSScriptCmdlet.
4.5.15 Type de description d’enregistrement d’erreur
La variable automatique $Error contient une collection d’enregistrements d’erreurs 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, le type de collection est 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 lorsque l’erreur s’est produite.
4.5.16 Type de description de l’é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 n’importe quelle 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 n’importe quelle instruction switch.
Le type d’énumérateur est défini ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Actuel | Propriété d’instance (lecture seule) | objet | Obtient l'élément actuel dans la collection. Si l’énumérateur n’est pas actuellement positionné sur un élément de la collection, le comportement est défini par l'implémentation. |
| PasserSuivant | Méthode d’instance | Aucun/bool | Avance l’énumérateur vers l’élément suivant de la collection. Retourne $true si l’énumérateur s'est avancé à l’élément suivant ; $false si l’énumérateur a atteint la fin de la collection. |
Dans PowerShell, ces membres sont définis dans l’interface System.IEnumerator, qui est implémenté par les types identifiés ci-dessous. Si l’énumérateur n’est pas actuellement positionné sur un élément de la collection, une exception de type InvalidOperationException est levée. Pour $foreach, ce type est System.Array+SZArrayEnumerator. Pour $input, ce type est System.Collections.ArrayList+ArrayListEnumeratorSimple. Pour $switch, ce type est System.Array+SZArrayEnumerator.
4.5.17 Type de description du répertoire
L’applet de commande new-item peut créer des éléments de différents types, notamment des répertoires FileSystem. Le type d’un objet de description de répertoire est défini ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Attributs | Propriété d’instance (lecture-écriture) | Implémentation définie (§4.2.6.3) | Obtient ou définit un ou plusieurs attributs de l’objet de répertoire. |
| CreationTime | Propriété d’instance (lecture-écriture) | Implémentation définie (§4.5.19) | Obtient et 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) | Implémentation définie (§4.5.19) | Obtient ou définit l’heure de la dernière écriture dans le répertoire. |
| Nom | Propriété d’instance (lecture seule) | string | Obtient le nom du répertoire. |
Dans PowerShell, ce type est System.IO.DirectoryInfo. Le type de la propriété Attributes est System.IO.FileAttributes.
4.5.18 Type de description du 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 ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Attributs | Propriété d’instance (lecture-écriture) | Implémentation définie (§4.2.6.3) | Obtient ou définit un ou plusieurs attributs de l’objet fichier. |
| Nom de base | Propriété d’instance (lecture seule) | string | Obtient le nom du fichier, à l’exclusion de l’extension. |
| CreationTime | Propriété d’instance (lecture-écriture) | Implémentation définie (§4.5.19) | Obtient et définit l’heure de création de l’objet fichier. |
| Extension | Propriété d’instance (lecture seule) | string | Obtient la partie d’extension du nom de fichier. |
| FullName | Propriété d’instance (lecture seule) | string | Obtient le chemin complet du fichier. |
| LastWriteTime | Propriété d’instance (lecture-écriture) | Implémentation définie (§4.5.19) | Obtient et définit l’heure à laquelle le fichier a été écrit pour la dernière fois. |
| Longueur | Propriété d’instance (lecture seule) | long | Obtient la taille du fichier, en octets. |
| Nom | Propriété d’instance (lecture seule) | string | Obtient le nom du fichier. |
| VersionInfo | Propriété d’instance (lecture seule) | Implémentation définie | Windows PowerShell : Ce ScriptProperty retourne un System.Diagnostics.FileVersionInfo pour le fichier. |
Dans PowerShell, ce type est System.IO.FileInfo.
4.5.19 Date-Time type de description
Le type d’un objet de description date-heure est défini par l’implémentation ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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 d’heure de la date représentée par cette instance. |
| Minute | Propriété d’instance (lecture seule) | int | Obtient le composant minute de la date représentée par cette instance. |
| Mois | 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 de secondes de la date représentée par cette instance. |
| Année | 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, ce type est 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 | Type 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. |
| Nom | 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, ce type est Microsoft.PowerShell.Commands.GroupInfo.
4.5.21 Type de description Generic-Measure-Info
Le type d’un objet description generic-measure-info est défini par l’implémentation ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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. |
| Somme | 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, ce type est Microsoft.PowerShell.Commands.GenericMeasureInfo.
4.5.22 Type de description Text-Measure-Info
Le type d'un objet de description d'informations de texte
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| 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. |
| Mots | 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, ce type est Microsoft.PowerShell.Commands.TextMeasureInfo.
4.5.23 Type d'identifiants
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 comporte les membres accessibles suivants :
| Membre | Type de membre | Type | Objectif |
|---|---|---|---|
| Mot de passe | Propriété d’instance (lecture seule) | Implémentation définie | Obtient le mot de passe. |
| Nom d’utilisateur | 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, ce type est System.Management.Automation.PSCredential.
4.5.24 Type d’indicateur de méthode
Le type d’un indicateur de méthode est défini ; il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Appeler | Méthode d’instance | nombre et type d’objet/variable | Prend un nombre variable d’arguments et appelle indirectement la méthode référencée par l’indicateur de méthode parent, en passant les arguments. |
Un objet de ce type peut être créé par une invocation-expression (§ 7.1.3).
Dans PowerShell, ce type est System.Management.Automation.PSMethod.
4.5.25 Type de définition de membre
Ce type encapsule la définition d’un membre. Il dispose des membres accessibles suivants :
| Membre | Type de membre | Type | Fonction |
|---|---|---|---|
| Définition | Propriété d’instance (lecture seule) | string | Obtient la définition du membre. |
| TypeDeMembre | Propriété d’instance (lecture seule) | Implémentation définie | Obtient le type PowerShell du membre. |
| Nom | 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, ce type est Microsoft.PowerShell.Commands.MemberDefinition.
4.6 Extension et adaptation des types
Une implémentation PowerShell inclut une famille de types principaux (qui sont documentés 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 ils peuvent être des membres d’instance ou statiques. Par exemple, les membres de base de la chaîne de type (§4.3.1) sont la propriété Length de l’instance et les 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 pour la durée de vie de cette instance ; d'autres instances du même type de noyau ne sont pas affectées.
L’ensemble de membres de base d’un type peut être augmenté en ajoutant les 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 membressynthétiques (synthetic members).
L’ETS ajoute les membres suivants à tous les objets PowerShell : psbase, psadapted, psextendedet pstypenames. Pour plus d'informations sur ces membres, consultez les paramètres Force et View dans l’applet de commande Get-Member.
Un membre d’instance peut masquer un membre étendu et/ou adapté du même nom, et un membre étendu peut masquer 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é prend en charge, obj.psextended fournit l’accès à ce membre et non à un membre ajouté via Add-Member.
Il existe trois façons de créer un objet personnalisé ayant un nouveau membre M :
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.