Présentation de Windows
PowerShell
Formatrice : ZITI ILHAM
1
Qu’est ce qu’un PowerShell
Windows PowerShell est un langage de script et une interface
de ligne de commande qui est conçue pour vous aider à
effectuer des tâches d'administration quotidiennes.
Windows PowerShell se compose d'applets de commande que
vous exécutez à une invite de commandes Windows
PowerShell ou que vous associez en scripts Windows
PowerShell.
À la différence d'autres langages de script qui ont été conçus
initialement dans un autre but et ont été adaptés pour des
tâches d'administration système.
Lancer PowerShell
3
Quelques astuces
Complétion : &·HVWà dire que vous pouvez utiliser les
´Tabulationsµ WRXFKHV>7DE@RX>Maj] + [Tab]) pour
compléter vos lignes de code.
Historique : touches de curseur [Haut] permet de rappeler
O·KLVWRULTXHGHVFRPPDQGHVWDSpHVSUpFpGHPPHQWGDQVYRWUH
session.
Copier-Coller : Vous pouvez utiliser la souris dans la
console afin de copier/coller du texte. Pour cela, vérifiez que
les propriétés de la fenêtre PowerShell, sont bien configurées :
6RXVO·RQJOHW´OptionsµFRFKH]ODFDVH´Édition rapideµ
&·HVWQRUPDOHPHQWOHFDVSDUGpIDXW
4
Syntaxe des applets de commande
Windows PowerShell
Les applets de commande Windows PowerShell utilisent
une syntaxe verbe-nom.
Chaque nom possède une collection de verbes associés
Les verbes disponibles diffèrent avec chaque nom
d'applet de commande.
5
Syntaxe des applets de commande
Windows PowerShell
/HUpVXOWDWUHQYRLHXQH´collection d’instancesµune sorte
de tableau avec des entêtes de colonnes, où chaque ligne
représente un élément.
6
Exemples de verbes courants d'applets de
commande Windows PowerShell
Get
New
Set
Restart
Resume
Stop
Suspend
Clear
Limit
Remove
Add
Show
Write
7
Commandes de base
8
Get-Command
Pour connaître les verbes disponibles pour un nom Windows PowerShell
en exécutant la commande suivante :
Get-Command -Noun NounName
9
Get-Command
Pour connaître les noms Windows PowerShell disponibles
pour un verbe spécifique en exécutant la commande suivante :
Get-Command -Verb VerbName
10
Get-Help
PowerShell contient sa propre documentation. Cette commande
permet G·DIILFKHU O·DLGH en rapport avec une commande en
particulier.
11
Get-ChildItem
Cette commande permet de lister tous les éléments contenus
dans un répertoire (équivalent à la commande "ls" sous Linux ou
"dir" sous Windows)
d : Répertoire
a : Archive
r : Elément en
lecture seule
h : Elément caché
s : Elément système
12
Measure-Object
Pour compter les fichiers et les dossiers dans un répertoire:
Get-ChildItem | Measure-Object
NB: RQSHX[DMRXWHUO·RSWLRQ© -line »
13
Get-Location
Affiche le répertoire courant (équivalent à la commande « pwd »
sous Linux)
14
New-Item
La commande New-Item Permet de créer des fichiers et des
dossiers.
&UpDWLRQG·XQGRVVLHU:
New-Item -ItemType directory -Name "ExempleNewDossier" -Path C:\NTIC
Création G·XQILFKLHU:
New-Item -Name [Link] -ItemType file -Value "Test de
création de [Link] ajouté dans le .txt" -Path "C:\NTIC"
15
New-Item
16
Get-PSDrive
,QIRUPDWLRQVVXUOHV´OHFWHXUVµ
17
Get-Module
/LVWHOHV´PRGXOHVµDFWXHOOHPHQWFKDUJpV
18
Applets de commande de service
Get-Service : Affiche les propriétés d'un service.
New-Service: Crée un nouveau service.
Restart-Service : Redémarre un service existant.
Resume-Service: Reprend l'exécution d'un service interrompu.
Set-Service: Configure les propriétés d'un service.
Start-Service: Démarre un service arrêté.
Stop-Service : Arrête un service en cours d'exécution.
Suspend-Service: Interrompt un service.
19
Get-Service
20
Get-Service
Pour récupérer un service en particulier, il nous est possible de
spécifier son nom lors de O·DSSHO de la commande :
21
Start-Service / Stop-Service
Il faut spécifier son nom du service
Start-Service -Name "NomDuService“
Stop-Service -Name "NomDuService"
6LOHVHUYLFHGpSRQGG·DXWUHVHUYLFHVLOIDXWXWLOLVHUO·RSWLRQ
« force ªSRXUIRUFHUO·DUUrW
Stop-Service -force -Name "NomDuService"
22
Applets de commande de processus
Get-Process : Fournit des informations sur un processus.
Start-Process : Démarre un processus.
Stop-Process : Arrête un processus.
23
Applets de commande des journaux
d'événements
Get-EventLog : Affiche les événements dans le journal
d'événements spécifié.
Pour obtenir la liste des journaux d'événements disponibles sur
l'ordinateur local :
Get-EventLog -list
Pour obtenir le journal des log par exemple du nom « system » :
Get-EventLog -logname system (Nom d’événement)
24
25
Applets de commande des journaux
d'événements
Pour obtenir les 10 dernières entrées du journal du nom
« system »
>Get-EventLog -LogName System -Newest 10
Pour Obtenir un journal du nom « system » en précisant
O·intérvale de temps
>$May31 = Get-Date 5/31/18
> $July1 = Get-Date 7/01/18
Get-EventLog -LogName System -After $May31 -Before $July1
26
Applets de commande réseau
Commençons par lister les cartes réseaux disponibles sur la
PDFKLQHFHODSHUPHWWUDGHUHSpUHUOHQXPpURG·LQGH[GHOD
FDUWHTXHO·RQVRXKDLWHmodifier:
Get-NetIPInterface
27
Applets de commande réseau
Pour configurer une nouvelle adresse IP on utilise la commandlet « New-
NetIPAddress », on ajoute O·DGUHVVH à O·LQWHUIDFH « index » ainsi TX·XQH
passerelle par défaut
New-NetIPAddress –InterfaceIndex 12 –IPAddress [Link]
–PrefixLength 24 –DefaultGateway [Link]
InterfaceIndex 1XPpURG·LQGH[GHODFDUWHjmodifier
IPAddress : Adresse IP à attribuer à la carte
PrefixLength : Longueur du masque de sous réseau
DefaultGateway : Passerelle par défaut
28
Configuration adresse IP
29
Applets de commande réseau
Pour activer/désactiver le DHCP sur une carte on utilise la commande Set-
NetIPInterface
Set-NetIPInterface -InterfaceIndex numéro G·LQGH[ -Dhcp
{Enabled/Disabled}
30
Applets de commande réseau
Pour supprimer la configuration G·XQH carte réseau utiliser
Remove-NetIPAddress, en reprenant en modèle la
commande G·DMRXW G·XQH adresse IP. Confirmez la demande de
suppression avec « T » ou deux fois avec « O ».
Remove-NetIPAddress –InterfaceIndex numéro indexe
31
Applets de commande réseau
Pour ajouter le serveur DNS utiliser Set-DnsClientServerAddress
Set-DnsClientServerAddress -InterfaceIndex numéro indexe
-ServerAddresses @IPDNS1,@DNS2
Verifier la configuration du DNS
Get-DnsClientServerAddress -InterfaceIndex 12
32
Applets de commande réseau
Pour vérifier que la configuration de la carte réseau est
correcte, on utilise la commande suivante :
>ipconfig /all
Ou
>Get-NetIPConfiguration
33
NetFirewallProfile
3RXUDIILFKHUO·état du Pare-feu
Get-NetFirewallProfile
Pour désactiver tous les profiles du Paref-feu
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
1%3RXUO·DFWLYHUUHPSODFHU)DOVHSDUTrue
34
Enter-PSSession
Cette commande permet de démarrer une session PowerShell
sur un ordinateur distant. Durant cette session, toutes les
commandes tapées seront exécutées sur l'ordinateur distant
comme si elles étaient tapées directement sur celui-ci.
Pour démarrer la session distante :
Enter-PSSession -computer ServerTest01
Pour stopper la session distante:
Exit-PSSession
35
Invoke-Command
Invoke-Command sert à lancer une commande ou un script
sur plusieurs ordinateurs distants :
Invoke-Command -ComputerName Server Test01, ServeurTest02
{Get-Process}
36
Get-date
3HUPHWG·DIILFKHUODGDWHGXV\VWqPH
37
Reference
[Link]
1ere-partie/
[Link]
avec-powershell
[Link]
us/powershell/module/[Link]/
stop-service?view=powershell-6
38