420-P14-GG CONCEPTS
DATE EXAMEN
Hola 👋
420-Q14-GG APPLICATION
Class 1
Bla Bla Bla bonjour.....
420-X14-GG SYSTÈMES
DATE EXAMEN
Examen Theorique : non publiée
Examen Pratique : non publiée
dc --> rentrer dans le fichier
dir --> afficher les fichiers
• le répertoire «..» signifie répertoire parent
• le répertoire «.» signifie répertoire courant (celui dans lequel on est situé)
• Chemin absolu:
• le 1er caractère est toujours le caractère « \ »
• Chemin relatif:
• le 1er caractère n’est jamais le caractère « \ »

- Quatre commandes étudiées:
• md: Pour créer des répertoires
• cd: Pour se déplacer d’un répertoire à l’autre
• dir: Pour voir les fichiers et les sous-répertoires situés dans un répertoire donné
• tree: Pour voir la structure arborescente des répertoires

- Métacaractère:
En Windows :
• : correspond à 0 ou plusieurs caractères
• : correspond à 0 ou plusieurs caractères
• ? : correspond à exactement un caractère
• [abc] : correspond à un des caractères entre crochets (a, b ou c dans l’exemple)
• [a-f] : correspond à un des caractères de la plage entre crochets (entre a et f • dans l’exemple)
Exemples :
• T* : tout ce qui débute par la lettre T
• *S : tout ce qui se termine par la lettre S
• *R* : tout ce qui contient la lettre R
• *T*R* : tout ce qui contient une lettre T et une lettre R après
• A?C* : tout ce qui débute par la lettre A et dont le 3ième caractère est la lettre C
• ???W* : tout ce qui a la lettre W comme 4ième caractère
• *[AFJ] : tout ce qui se termine par A, F ou J
• [0-9]*[A-Z] : tout ce qui débute par un chiffre et qui se termine par une lettre

Les métacaractères peuvent être utilisés dans la majorité des commandes
• la liste des fichiers / répertoires ...
• dont l’extension est .txt : dir *.txt
• dont le nom débute par TP : dir TP*
• dont le 3ième caractère est un V et le dernier caractère est un E : dir
• ??V*E
• la liste des rubriques d'aide qui contient le terme « item » : help *item*
• la liste des commandes dont le nom débute par une lettre: Get-
• Command [A-Z]*

- Set ExecutionPolicy Unrestricted
1. Get-ExecutionPolicy --> it should give Restricted
2. Set-ExecutionPolicy unrestricted --> puis répondez « Oui »

- Éléments de base d’un programme PowerShell
Éléments de base d’un programme PowerShell
• Écrire quelque-chose : Write-Host
• Ex. Write-Host "blablabla"
• Lire une entrée de l’utilisateur : Read-Host
• Ex. Read-Host " Entrez votre nom : "
• Les variables
• Précédées d’un $, ex: « $mavariable = 1 »
• Possibilité de définir le type lors de la déclaration :
• [int]
• [float]
• [string]
• Ex: « [int]$x = Read-Host " Entrez une nombre "

• ps1 commandes = Cmdlets
• ps is on .NET Framework
• dir & ls = alia de get-childitem

Verb/Noun/Option/Value
get-services -name "*net*"
rien de special
rien de special
• info : script --> pour automatiser un traitement
• Write-Host ......
Chemins en WPS :
Join-Path Test-Path joindre un path --> ex: $chemin = Join-Path C:\Windows System.ini

Split-Path --> séparser un path -->ex: Split-Path C:\Windows\System.ini
• Split-Path C:\Windows\System.ini -Leaf --> le nom tout court du fichier --> System.ini
• Split-Path C:\Windows\System.ini -Qualifier --> le lecteur --> C:
• Split-Path C:\Windows\System.ini -NoQualifier --> le nom absolu (sans le lecteur) --> \Windows\System.ini
• Split-Path C:\Windows\System.ini -Parent --> le nom complet du chemin parent (c’est le défaut) --> C:\Windows

- Test-Path --> Vérifier l'existence --> ex: Test-Path C:\Windows ou Test-Path C:\Windows -PathType Leaf
• -PathType Container --> Vérifier si c'est un répertoire
• -PathType Leaf --> Vérifier si c'est un fichier

Structures conditionnelles:
- if
Syntaxe de la commande if
if ()

elseif ()

[...]
else
]

Les conditions:
- Les opérateurs de comparaison
• -like et -notlike ne fonctionnent que pour les chaînes de caractères
• Non sensible à la casse
En WPS | En C#
-------------------
-eq ==
-ne !=
-lt <
-le <=
-gt >
-ge >=
-like
-notlike

• sensible à la casse
En WPS | En C#
-------------------
-ceq ==
-cne !=
-clt <
-cle <=
-cgt >
-cge >=
-clike
-cnotlike

- Les opérateurs logiques :
En WPS | En C#
-------------------
-and &&
-or || -- seulement true si au moin un des arguments est true sinon false
-xor ^ -- seulement true si un seul des arguments est true sinon false
-not !br
! !
Branchement conditionnel :
-switch Syntaxe:
switch [-regex]-wildcard |-exact][-casesensitive]()
{
< valeurs possibles 1 > < bloc de commandes 1 >
< valeurs possibles 2 > < bloc de commandes 2 >
< valeurs possibles n > < bloc de commandes n >
[default < bloc de commandes n+1 > ]
}

ex:
$car = Read-Host 'Tapez un caractère'
switch -wildcard ($car)
{
[0-9] {
echo 'vous avez tapé un chiffre'
}
[A-Z] {
echo 'vous avez tapé une lettre'
}
default {
echo 'vous avez tapé autre chose'
}
}

ex:
$car = Read-Host 'Tapez un caractère
switch -exact -casesensitive ($car)
{
‘A’ {
echo 'A majuscule'
}
‘a’ {
echo 'a minuscule'
}
}
IDE
• IDE = code editor
Tableau
• Tableau = ensemble éléments de même type
• Placé dans un espace continue
• Index : ('Pommes', 'Oranges') index de Pommes = 0
• Vide : @()
• Avec des valeurs: #> $fruits = @('Pommes','Oranges','fraises')
• Afficher : #> $fruits
• Longeur: c# --> .Length ps1 --> .count
• Accéder élément: $fruits[1] ou [0,1,2,] --> 0, 1 et 2 ou [1..3] --> tout entre 1 et 3
• $fruits[-1] vaut le dernier élément en ps1, -2.....

• Where-Object --> pour filtrer les données ex: > Get-Command | Where-Object {$_.CommandType -eq 'cmdlet'}
• -filter est plus vite: Where-Object -filtre '*.exe'
• $_ --> objet courant
• .CommandType, .Name
• Mesure-Command {....} --> temps à faire la command
• Select_Object