0% ont trouvé ce document utile (0 vote)
51 vues14 pages

Propriétés et Méthodes en PowerShell

Ce document décrit les concepts fondamentaux des objets, variables, constantes et types de données dans PowerShell. Il explique notamment ce qu'est un objet, ses propriétés, ses méthodes, ainsi que les concepts liés comme les classes, collections, sélection d'objets.

Transféré par

Abdel Aziz
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
51 vues14 pages

Propriétés et Méthodes en PowerShell

Ce document décrit les concepts fondamentaux des objets, variables, constantes et types de données dans PowerShell. Il explique notamment ce qu'est un objet, ses propriétés, ses méthodes, ainsi que les concepts liés comme les classes, collections, sélection d'objets.

Transféré par

Abdel Aziz
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MODULE 3 : OBJETS, VARIABLES, CONSTANTES ET TYPES DE DONNEES

1. Les Objets
1.1- Définition d’un objet
Un objet est un conteneur qui contient des informations et des mécanismes. Les
caractéristiques de l’objet sont appelées des « propriétés ».
Exemple 1 :
Prenons l’Objet Mavoiture
Une voiture possède, entre autre, les caractéristiques suivantes :
 Marque,
 Modèle,
 Cylindrée,
 Puissance,
 Couleur,
 Poids,
 Etc.
Ces caractéristiques sont appelées les « propriétés » de l’objet.
1.2- Méthodes
Une Méthode permet d’interagir avec un Objet.
Les méthodes caractérisent le comportement de l’objet, c'est-à-dire l'ensemble des
actions (appelées opérations) que l'objet est à même de réaliser.
Ces opérations permettent de faire réagir l'objet aux sollicitations extérieures.

Quelles sont alors les actions que nous pouvons réaliser avec la voiture ? Nous
pouvons entre autre :
- Démarrer ou arrêter la voiture
- Accélérer ou freiner
- Tourner à droite ou à gauche
- etc.

L’ensemble des actions que la voiture est capable de réaliser sont les Méthodes
Présenté et rédigé par SDU
19
Scripting Linux et PowerShell

de l’Objet Mavoiture.
1.3- Membre
Un Membre est le terme générique qui représente une propriété ou une
Méthode d’un objet.
Ainsi on peut visualiser les Membres d’un objet grâce à la commande :
Get-Member
On utilise le caractère point («.») pour accéder aux membres d’un objet.
Exemple 1 :
Prenons l’Exemple de notre Objet nommé : MaVoiture
Pour récupérer la marque de la vouture on va utiliser la syntaxe suivante :
$[Link]
Pour démarrer la voiture on va utiliser la Syntaxe
$[Link] ()
Donc un membre peut être :
- Une propriété ou
- Une action qui correspond à une Méthode
L’appel à une Méthode se fait toujours par l’utilisation de parenthèses.
Si vous les oubliez, PowerShell pensera que vous faites appel à une propriété. Par
conséquent, vous n’obtiendrez pas le résultat escompté et cela risquera fort de vous
provoquer des bugs.
Si vous tentez de faire appel à une propriété inexistante PowerShell retourne la
valeur $null. Ce qui n’est pas le cas si vous appelez une méthode qui n’existe pas.

Il est possible de passer des valeurs à nos membres, afin soit de modifier les
caractéristiques de notre objet, soit d’agir sur ce dernier.
Exemple 2 :
Pour changer la couleur de notre voiture, nous allons écrire ceci :
$[Link] = ’noir’

Présenté et rédigé par SDU


20
Scripting Linux et PowerShell

Exemple 3 :
De même que pour agir sur notre voiture, nous pourrions faire cela :
# Tourner à droite
$ [Link](’droite’)

# Accélérer de 50 km/h
$ [Link](50)

1.4- Classe
Une classe représente une catégorie d’Objets. Elle permet de fabriquer des
objets.
Exemple 1 :
Notre Objet Mavoiture est en fait issu de la Classe Voiture qui elle-même peut être
issue de la classe « véhicule ».
On dit aussi que l’Objet « Mavoiture » est une instance de la classe « Voiture ». Ainsi
comme nous l’avons déjà expliqué au chapitre 3 le Framework .NET met à notre
disposition un ensemble de classes, classes que nous utilisons pour « fabriquer
» des objets.
Et en tant que scripteurs PowerShell, nous passons notre temps à manipuler ces
objets (et non les classes !).
1.5- Collection
Une Collection représente un ensemble d’objets, ce terme désigne également un
tableau. Prenons un exemple pour mieux comprendre.
Exemple 1 :
Que fait cette instruction PowerShell ?
$result = Get-ChildItem C:\Windows
Get-ChildItem C:\Windows
Permet de lister le contenu du Dossier Windows.
Le contenu de Cette liste est affecté à la variable $result.

Présenté et rédigé par SDU


21
Scripting Linux et PowerShell

Cette variable représente à présent une collection d’objets car le répertoire


C:\Windows contient de nombreux répertoires et fichiers. Les objets contenus dans
$result sont donc de différents Types.
Exemple 2 :
Nous allons maintenant voir les Types qui sont dans cette variable avec la
commande Get-Member.
$result | Get-Member
Ce qu’il faut donc retenir ici c’est que Get-Member, lorsqu’il est appliqué à une
variable contenant une collection d’objets, retourne les membres des objets
contenus dans la collection (un par type).

1.6- Sélection d’objets avec la commande Select-Object


Pour récupérer les résultats contenus dans une collection d’objets, on utilise
souvent la commande Select-Object. Cette commande est très puissante. La suite
va nous le démontrer.
Voici les paramètres qu’elle prend en charge :
Paramètre Description
-First <int> Spécifie le nombre d’objets à sélectionner au
début d’un tableau d’objets d’entrée.
-Last <int> Spécifie le nombre d’objets à sélectionner à la fin
d’un tableau d’objets d’entrée.
-Index <Int32[]> Sélectionne les objets d’un tableau en fonction
de leur valeur d’index. Entrez les index dans une
liste séparée par des virgules.
-Skip <int> Ignore le nombre spécifié d’éléments
(commence à compter à partir de 1).
-Unique <Switch> Spécifie que, si un sous-ensemble des objets
d’entrée contient des objets ayant tous des
propriétés et des valeurs identiques, un seul
membre de ce sous-ensemble sera sélectionné.
-Property <Object[]> Spécifie les propriétés à sélectionner.
-ExcludeProperty <string[]> Supprime les propriétés spécifiées de la
sélection.
-ExpandProperty <string> Spécifie une propriété à sélectionner et indique
qu’une tentative doit être faite pour développer
cette propriété.

Exemple 1 : Récupération de n premiers Objets d’une collection


Dans cet exemple nous allons récupérer les 3 premières lignes du résultat de la
commande Get-childitem sur le dossier Windows.
$result = Get-ChildItem C:\windows
$result | select-Object –first 3

Présenté et rédigé par SDU


22
Scripting Linux et PowerShell

Exemple 2 : Récupération de n derniers Objets d’une collection


Dans cet exemple nous allons récupérer les 3 dernières lignes du résultat de la
commande Get-childitem sur le dossier Windows.
$result = Get-ChildItem C:\windows
$result | select-Object –last 3

Exemple 3 : Récupération des Objets Unique


Dans cet exemple nous allons récupérer un seul objet susceptible d’apparaitre
plusieurs fois dans la même collection.
Prenons le cas d’un processus qui a plusieurs instances.
Affichons la liste des processus sur notre serveur grâce à la commande
Get-Process
Nous allons récupérer une seule instance de ce processus dans les 5 premiers objets
de ce Tableau grâce au paramètre -Unique. Ce qui nous permet d’éviter des
doublons dans nos résultats.
Get-Process | Select-Object -Unique | Select-Object –First 5
Exemple 4 : Récupérons une Propriété particulière d’un tableau.
Dans cet exemple nous voulons seulement récupérer le nom des
processus. Nous allons donc utiliser le paramètre –Property.
Get-Process | select-object –Property processname

Exemple 5 : Nous pouvons aussi récupérer plusieurs Propriétés.


Récupérons les noms et les valeurs de processus.
Get-Process | select-object –Property processname , CPU

1.7- Récupération des objets dans un tableau par l’utilisation des index
Comme nous l’avons vu dans les exemple s précédents, lorsqu’une commande
nous retourne plusieurs résultats, composés d’une ou plusieurs propriétés, ces
résultats sont confinés dans un Tableau, qui représente une collection d’Objets. Les
Tableaux sont indexés, c’est-à-dire que de façon implicite chaque ligne est
référencée par un numéro qui commence par 0.
Ceci nous permet d’extraire les lignes du tableau en utilisant la valeur de l’index
Voulu.
Exemple 1 :
Récupérons l’élément qui se trouve à l’index 7, ce qui correspond à la 8ième ligne du
tableau.
$processes = Get-Process
$processes | Select-Object -Index 7
Nous pouvons également spécifier plusieurs numéros d’index.
$processes | Select-Object -Index 4, 6, 7

Présenté et rédigé par SDU


23
Scripting Linux et PowerShell

1.8- Comment examiner tous les objets d’une collection

La commande Foreach-Object nous permet d’exécuter un bloc de script pour


chaque objet présent dans une collection. Ses alias sont : foreach ou %.
Exemple 1 :
Nous allons afficher 4 services qui s’exécutent sur notre Serveur. Seulement leur Nom
en utilisant la Propriété DisplayName, nous allons les afficher en majuscule en
utilisant la Méthode toUpper(). Nous avons également la variable automatique
$_. qui permet de traiter chaque objet récupéré.
Get-Service | ForEach-Object {$_.[Link]()} | Select -First 4

1.9- Comment regrouper des objets

La commande Group-Object permet de regrouper des objets sur une ou


plusieurs propriétés. C’est une commande q u i est très puissante capable de réaliser
beaucoup de choses.
Voici ses différents paramètres:

Paramètre Description
-Property <Object[]> Permet de spécifier les propriétés du regroupement.
Les objets sont organisés en groupes en fonction de
la valeur de la propriété spécifiée.
-AsString <Switch> Permet de convertir les clés de table de hachage en
chaînes. Par défaut, les clés de table de hachage sont
des instances de l’objet groupé. Ce paramètre est
valide uniquement lorsqu’il est utilisé avec le
paramètre -AsHashTable.
-AsHashTable <Switch> Permet de retourner le groupe sous la forme d’une
table de hachage. Les clés de la table de hachage sont
les valeurs de propriété en fonction desquelles les
objets sont groupés.
-CaseSensitive <string> Permet de rendre le regroupement sensible à la
casse. Sans ce paramètre, les valeurs de propriété des
objets d’un groupe peuvent avoir des casses
différentes.
-Culture <string> Spécifie la culture à utiliser lors de la comparaison de
chaînes.
-NoElement <Switch> Indique de ne pas retourner les groupes des résultats.

Exemple1 : Dans cet exemple nous allons regrouper les Services Windows par leur
statut
(Arrêté, démarré, etc.).
Get-Service | Group-Object -Property status

Présenté et rédigé par SDU


24
Scripting Linux et PowerShell

Exemple 2
Dans cet exemple nous allons utiliser le commutateur –NoElement qui nous
permet de ne pas afficher la propriété Group du tableau (Colonne Group) (voir
tableau des paramètres).
Get-Service | Group-Object -Property status –NoElement
Nous aurons donc juste les Propriétés Count et Name qui sont affichées.

1.10- Le tri des objets

Le tri est une opération qu’on fait très souvent lorsqu’on manipule une collection
d’objets. La commande Sort-Object a été créée justement pour effectuer cette
Tache. Voici les paramètres de cette commande dans le tableau suivant.

Paramètre Description
-Property <Object[]> Spécifie les propriétés à utiliser pour le tri. Les objets
sont triés en fonction des valeurs de ces propriétés.
-CaseSensitive <string> Indique que le tri doit respecter la casse. Par défaut,
le tri ne respecte pas la casse.
-Culture <string> Spécifie la configuration culturelle à utiliser lors du tri.
-Descending <Switch> Trie les objets en ordre décroi ssant. La valeur par
défaut est par ordre croissant.
-Unique <Switch> Élimine les doublons et retourne seulement les
membres uniques de la collection.

Exemple 1
Dans cet exemple nous allons trier nos processus par numéro de processus. Par
défaut le tri se fait par ordre croissant quand il s’agit de Numéro et par ordre
Alphabétique quand il s’agit de chaine de caractères.
Get-Process | Sort-Object -Property id
Exemple 2
Nous allons maintenant faire un Tri par ordre décroissant
Get-Process | Sort-Object -Property id –descending
Exemple 3
Nous allons maintenant supprimer les doublons avec le commutateur –Unique
En faisant le Tri sur les Noms des Processus.
Get-Process | Select-Object -ExpandProperty ProcessName | Sort-Object -Unique

1.11- Nombre d’objets et de mesure

Trouver le nombre d’Objets est une opération aussi courante que le tri lorsqu’on
manipule une collection d’objets. La propriété lenght (qui signifie longueur du
tableau) permet de réaliser cette tâche. Son alias est Count.
Exemple 1
Dans cet exemple nous allons déterminer le nombre de processus en cours
d’exécution sur notre serveur.
Présenté et rédigé par SDU
25
Scripting Linux et PowerShell

$processes = Get-Process
$[Link] ou $[Link]
Exemple 2
Nous allons Obtenir le même résultat en ignorant l’utilisation d’une variable.
(Get-Process).length
Exemple 3
Nous allons maintenant utiliser la Commande Measure-Object qui permet
d’obtenir le même résultat mais en retournant d’autres paramètres du Tableau dont
on a pas forcément besoin.
Get-Process | Measure-Object
Exemple 4
Pour Obtenir seulement le nombre de processus nous allons utiliser le Paramètre
–ExpandProperty suivi de la propriété lenght ou count
Get-Process | Measure-Object | Select-Object -ExpandProperty Count
Ou
(Get-Process | Measure-Object).count
Exemple 5
Nous allons maintenant utiliser la toute-puissance de la commande
Measure-Object pour déterminons la taille minimum, maximum et moyenne
des fichiers présents dans le répertoire Windows :
$r = Get-ChildItem C:\Windows
$r | Measure-Object -Property length -Average -Maximum -Minimum –Sum
Exemple 6
Dans cet exemple nous allons utiliser plusieurs paramètres de la commande
Measure-Object pour afficher le nombre de Lignes, de Mots de Caractères
contenus dans un fichier texte.
Get-Content C:\SKILLS\[Link] | Measure-Object -Line -Word -Character

Nb : Créer un fichier nommé [Link] écrire un texte de deux lignes

1.12- Filtrage d’objets

Généralement dans une collection d’objets, il n’y a que quelques objets dont
nous avons besoin.
Ainsi pour récupérer ceux qui nous intéressent nous allons les isoler. La
commande Where-Object a été créée pour jouer ce rôle. Son Alias est : Where.
Where-Object, va scanner une collection d’objet pour évaluer chacun d’eux. Nous
allons également utiliser les opérateurs de comparaison.
Dans les exemples qui vont suivre nous allons utiliser les services qui s’exécutent
sur notre serveur.
Exemple 1
Récupérons les services dans la variable $services
$services = Get-Service
Présenté et rédigé par SDU
26
Scripting Linux et PowerShell

Et voyons le contenu de la variable :


$services
Exemple 2
Appliquons à présent un filtre pour récupérer les 3 derniers services en cours
d’Exécution.
$services | Where-Object {$_.Status -eq ’running’} | Select-Object -Last 3
-eq est un Opérateur qui signifie égale

2. Les Variables

2.1- Définition d’une variable

Les Variables sont des symboles composés de trois choses : Un


Nom, un Type et une Valeur.
 Le Nom nous permet de référencer la variable et d’y accéder à tout
moment.
 Le Type nous renseigne s’il s’agit d’un caractère, d’une chaîne de
caractères, d’un nombre, etc.
 La Valeur c’est ce qu’on veut y stocker et/ou récupérer. La valeur suit les
règles imposées par le Type.

2.2- Comment créer une variable

Créer une variable dans PowerShell est la chose la plus simple qui soit. En
effet, la syntaxe pour créer une variable est la suivante :
$Nom_de_la_variable = Valeur de la variable Et c’est tout.
Exemple 1
Créons une variable de Type Entier (Integer)
$Mavariable1 = 250
Cette commande nous permet de créer une variable appelée Mavarable1. Nous lui
avons donné la valeur 250.
Exemple 2
Pour afficher le contenu de la variable il suffit de taper : $Nom_de_la_variable
Pour afficher le contenu de la variable de l’Exemple1, nous tapons :
$Mavariable1
Exemple 3
Créons une variable de Type String c’est-à-dire contenant une chaine de
caractères.
$Mavariable2 = ‘Skills-Technet’
Affichons le contenu de la variable en tapant :
$Mavariable2
Exemple 4
Présenté et rédigé par SDU
27
Scripting Linux et PowerShell

Créons une variable avec des caractères spéciaux : & ? % -, .


Dans ce cas le nom de la variable est mise entre accolade :
${[Link]} = 2018

2.3- Déterminer le type d’une variable

Pour déterminer le type d’une variable, c’e st très simple. Il suffit de lui appliquer la
méthode GetType() et de voir le contenu de la propriété Name.
La syntaxe est : $Nom_de_la_variable. GetType()
Exemple 1
Dans cet exemple nous allons utiliser notre variable de l’exemple 3 précédent.
$Mavariable2 = ‘Skills-Technet’
$[Link]()
Nous voyons bien que la propriété Name est du Type String, ce qui est vrai
puisque le contenu de notre variable est une chaine de caractères.

3. Les constances

Les constantes sont des variables, à la différence que leur contenu ne change pas
dans le temps.
Pour déclarer une constante dont on veut être sûr que le contenu ne sera pas
modifié dans le temps nous allons utiliser la commande New-Variable avec le
paramètre –Option Constant.
Exemple 1
Créons une constante Numérique nommée LARGEUR dont la valeur est
250.
New-Variable -Name LARGEUR –Value 250 -Option Constant

Le Paramètre suivant : -Name permet de définir le nom de la Constante et


- Value : Détermine le contenu de la variable
-Option Constant : S p é c i fi e que le contenu est une constante, de cette façon
nous avons l’assurance que le contenu de la constante ne sera pas accidentellement
effacé.
Exemple 2
Dans cet exemple nous allons tenter de remplacer le contenu de notre
constante par une autre valeur : 10 par exemple.
$LARGEUR = 10
Nous obtenons un message d’erreur qui dit que la constante ne peut être changée. Ce
qui confirme bien ce que nous avons dit précédemment

4. Types de données

Présenté et rédigé par SDU


28
Scripting Linux et PowerShell

Les Types de données utilisés dans les scripts sont multiples et variés. Le tableau ci-
dessous nous en donne un aperçu non exhaustif.

Type de variable Rôle


char Représente n’importe lequel des 65 536 caractères Unicode sur deux
octets (16 bits).
Int, Int32, Int64 Représente les entiers dans une plage comprise entre -2 147 483 648
et 2 147 483 647 inclus. Le type de données int est stocké comme un
entier de quatre octets (32 bits).
Double Représente les nombres aussi grands que 10308 (positifs ou négatifs),
avec une précision sur 15 chiffres, et aussi petits que 10-323 (64 bits).
String Représente une chaîne sous forme de suite de caractères Unicode.
Boolean Représente une valeur booléene (true ou false).
Array Représente un tableau contenant de multiples valeurs. Un
tableau peut contenir des données de types différents.
Object, PSObject, PSCustomObject Représente un objet généralement personnalisé.

MODULE 4 : OPERATIONS SUR LES VARIABLES

1. Types de variable
Le Type d’une variable représente le genre de valeur qu’elle peut prendre.
Pour définir le Type d’une Variable il faut utiliser la syntaxe suivante :
[Type]$Nom_de_la_variable = Valeur
Exemple 1
Dans cet exemple nous allons définir une variable de Type entier (Integer en
anglais) qui contient un nombre entier.
[int]$Mavariable = 2018
En effet, [int]$Mavariable = 2018 n’est pas différent de $Mavariable = 2018
Mais cette notation va éviter d’affecter par erreur un autre Type à votre variable.
Exemple 2
Dans cet exemple nous allons tenter d’affecter à une variable une valeur d’un
Type différent que ce qui a été définit.
[int]$Mavariable2 = ‘deux mille dix-huit’
PowerShell a rejeté la valeur ‘deux mille dix-huit’ par ce qu’il ne la reconnait pas
comme un nombre entier, il l’aurait certainement accepté si nous n’avions pas
indiqué le Type [int].
Le fait donc d’imposer le Type [int] à notre variable oblige PowerShell à
n’accepter que les valeurs entières, ce qui évite des confusions dans
l’utilisation de la variable dans nos scripts.
Exemple 3
Dans cet exemple nous allons affecter une valeur numérique à une variable
Présenté et rédigé par SDU
29
Scripting Linux et PowerShell

[char] c’est-à-dire qui est censé accueillir une chaine de caractères.


[char] $Mavariable3 = 92

Nous voyons donc que PowerShell accepte la valeur numérique malgré le Type
[char], parce qu’il a l’intention de convertir cette valeur numérique à son
correspondant ASCII.
Nous voyons donc dans notre exemple que 92 a été converti en anti-slash qui est
son correspondant ASCII.

Exemple 4
Dans cet exemple nous allons convertir une variable [char] en [int], donc un
caractère en valeur entière.
[int][char] $Mavariable4 = ‘W’
La valeur obtenue ici est simplement le code ASCII de ‘W’ c’est donc la Table
ASCII qui permet de faire cette conversion.
Exemple 5
Dans cet exemple nous allons voir comment arrondir un nombre décimal en sa
partie entière la plus proche en tenant compte du fait que les variables entières sont
comprises entre -2 147 483 648 et 2 147 483 647 inclus.
$Decimal1=70.5
[int] $Decimal1
70

2. Conversion en Hexadécimal, Octal et binaire

Exemple 1 : Conversion en Hexadécimal


Dans cet exemple nous allons apprendre à convertir un décimal en hexadécimal par
l’utilisation de l’Opérateur –f qui permet de définir le format d’affichage des chaines
de caractères.
$Decimal2 = 2018
$hexadecimal = "{0:X}" -f $Decimal2
$hexadecimal
7E2
Nous affectons la valeur 2018 à la variable $Decimal2. Nous appliquons ensuite
l’opérateur –f à la valeur "{0:X}".
Dans la valeur "{0:X}" , 0 signifie que nous allons convertir un nombre en base
10 et le X signifie que la conversion va se faire en Hexadécimal.
Le nombre converti en Hexadécimal est donc affecté à la variable $hexadecimal.
Le contenu de cette variable est ensuite affiché 7E2.

Exemple 2 : Conversion en Octale (Base 8)

Présenté et rédigé par SDU


30
Scripting Linux et PowerShell

Dans cet exemple nous allons utiliser la méthode ToString () de la classe


[Link] pour convertir tout nombre décimal dans n’importe quelle base
souhaitée.
Ici nous allons convertir le nombre 2018 en Octal. Voici la commande :
$Octal = [[Link]]::ToString(2018,8)
$Octal
3742

NB : Les doubles :: permet de réaliser l’appelle à la méthode ToString ()


Exemple 3 : Conversion en Binaire (Base 2)
Dans cet exemple, nous allons convertir 2018 en Binaire. En utilisant la
méthode ToString () comme précédemment.
$Bin = [[Link]]::ToString(2018,2)
$Bin
11111100010

3. Les variables prédéfinies dans PowerShell

Il existe deux types de variables prédéfinis dans PowerShell :


Les variables dites automatiques qui contiennent des données de Traitement et les
variables de préférence que l’on utilise pour définir le comportement de
PowerShell.
Les variables automatiques n’ont pas de valeur par défaut. Ce qui n’est pas le cas
pour les variables de préférence.

Les variables Automatiques (Tableau non exhaustif)


Variable Description

1 $_ Variable contenant l’objet courant transmis par le pipe |.


2 $Args Variable contenant un tableau des arguments passés à une
fonction ou à un script.
3 $$ Variable (d’usage peu fréquent) contenant la dernière valeur de la
commande saisie dans la console.
4 $? Variable contenant True si la dernière opération a réussi ou false
dans le cas contraire.
5 $ˆ Variable (d’usage peu fréquent) contenant le premier jeton de la
dernière ligne reçue par l’environnement (c’est-à-dire le premier
mot de la dernière commande tapée dans la console).
6 $Error Variable de type tableau contenant toutes les erreurs rencontrées
depuis le lancement de la session PowerShell courante .
7 $ConsoleFileName Variable qui contient le chemin d’accès du fichier console (.psc1)
qui a été utilisé en dernier dans la session.
8 $Event Variable contenant l’événement courant traité dans le bloc de
script d’une commande d’enregistrement d’événement,
typiquement comme Register-ObjectEvent.
Présenté et rédigé par SDU
31
Scripting Linux et PowerShell

9 $False Variable contenant un objet EngineIntrinsics représentant le


contexte d’exécution de l’hôte Windows PowerShell.
10 ……… …………
Les variables de Préférence (Tableau non exhaustif)
Variable Description Valeur par défaut

1 $DebugPreference Variable contenant une valeur spécifique SilentlyContinue


correspondant à une action préférentielle à
établir. Utilisée avec la commande Write-
Debug.
2 $FormatEnumerationLimit Variable qui détermine le nombre d’éléments 4
énumérés inclus dans un affichage.
3 $ErrorView Variable déterminant le format d’affichage NormalView
des messages d’erreur dans PowerShell.
4 $LogProviderHealthEvent Variable qui détermine si oui ou non les True (Log)
erreurs liées à l’utilisation providers sont
loguées.
5 $OFS Variable contenant le séparateur de champ Caractère
lors de la conversion d’un tableau en chaîne. espace « »
6 …….. ……… ……….

4. Utilité de la conversion des Octets

PowerShell possède des capacités intrinsèques à pouvoir convertir les Octets en


Kilo-octets, Mégaoctet, Gigaoctet, Téraoctet ou Pétaoctet.
Cette fonctionnalité est très utile lors de l’évaluation de la capacité des Disques,
de la taille des mémoire, taille des fichiers et des répertoires.
Exemple 1
Dans cet exemple nous allons afficher la taille de la mémoire de notre serveur.
Cette taille est par défaut affichée en Octet.
Nous allons utiliser la commande Get-Ciminstance pour créer une requête WMI
En utilisant la Classe Win32_ComputerSystem.
 Stockage de la valeur dans la variable $Memoire
$Memoire = Get-CimInstance -ClassName Win32_ComputerSystem
 Affichage de la taille en utilisant la propriété TotalPhysicalMemory
$[Link]

Conversion de la valeur de la taille de la mémoire en Kilo-octet, Gigaoctet et


Mégaoctet
$[Link] / 1Ko
$[Link] / 1Go
$[Link] / 1Mo

Présenté et rédigé par SDU

Vous aimerez peut-être aussi