Commandes Powershell
Windows Server 2019
Windows PowerShell
} Qu'est-ce que Windows PowerShell ?
} Syntaxe des applets de commande Windows PowerShell
} Qu'est-ce que Windows PowerShell ISE ?
2 OUZAOUIT
Windows PowerShell
} PowerShell (abrégé PS) est une interface en ligne de
commande apparu avec Windows Serveur 2008. L'objectif est
de rendre possible l'administration d'un serveur Windows sans
avoir besoin de l'interface graphique avec des commandes
simples et intuitives.
} PowerShell remplace et étend les possibilités de l'interface de
commande historique de Windows. Les anciennes commandes
sont cependant, toujours disponibles sous PowerShell.
} PowerShell permet également de créer des scripts qu'on
pourrait comparer à un programme pour automatiser
l'administration de plusieurs tâches.
} Il y a plusieurs milliers de commandes disponibles que
l'on appelle Cmdlets.
3 OUZAOUIT
Windows PowerShell
Cmdlets
Elles ont toutes la même structure et sont composées d'un verbe, un nom et un
ou plusieurs paramètres.
• Le verbe est probablement le plus facile à trouver. Il indique l'action que la
commande doit réaliser. Comme: New, add, remove, get, set…..
• Le nom représente l'objet sur lequel l'action définie par le verbe va
s'appliquer. Par exemple, si on souhaitait récupérer la date et l'heure de
l'ordinateur, la commande serait : Get-Date
• Les paramètres varient en fonction de la commande utilisée. Si on reprend
l'exemple de Get-Date, on pourrait souhaiter l’affichage de la date dans un
format particulier. Dans ce cas, il faut utiliser le paramètre -Format pour
changer le format de la date.
4 OUZAOUIT
Windows PowerShell
Microsoft a mis à notre disposition 2 commandes très utiles pour faciliter la recherche
sur les commandes.
ü Le première commande est Get-Command. Comme son nom l'indique, elle permet
de récupérer les commandes PowerShell. Sans paramètre, cette cmdlet récupère
toutes les commandes, ce qui ne s'implifie pas vraiment la recherche. Cependant, elle
est utilisable avec les paramètres. On peut préciser le verbe ou le nom de la cmdlet
recherchée. En passant directement en paramètre un mot entouré d'étoiles (*), Get-
Command affichera toutes les cmdlets contenant ce mot.
5 OUZAOUIT
Windows PowerShell
ü Quand on a trouvé la commande, il pourrait être bien d'avoir une notice sur
l'utilisation de cette commande pour savoir exactement ce qu'elle fait,
connaître ces paramètres...
Pour cela, la seconde commande à connaître sous PowerShell, c'est Get-Help.
Par exemple, pour obtenir de l'aide sur la cmdlet Get-Date, on peut taper la
commande Get-Help Get-Date, Une aide résumée sera affichée par la console
sur la commande.
ü La cmdlet d'aide a également 4 options très intéressantes :
-examples : permet d'afficher des exemples d'utilisation de la commande
avec explications
-detailed : permet d'afficher l'ensemble des informations de l'aide avec une
description de chacune des options de la commande
-full : affiche toute l'aide technique
-online : pour accéder à l'aide en ligne
6 OUZAOUIT
Windows PowerShell
Voici quelques exemples donnés pour la commande Get-Date :
7 OUZAOUIT
Windows PowerShell
PowerShell ISE
üPowerShell ISE (Integrated Scripting Environment) est un logiciel
permet de créer facilement des scripts PS et de les exécuter.
Un script représente un ensemble de cmdlets écrites les unes à la
suite des autres dans un fichier texte.
üL'extension d'un fichier de script PowerShell est : .ps1
üPar défaut, l'exécution d'un script est désactivée sur tous les
ordinateurs Windows afin de garantir un minimum de sécurité et
éviter les erreurs d'inattention.
8 OUZAOUIT
Windows PowerShell
IntelliSense : technologie d'aide au
développeur qui propose les commandes
Le corps de la
fenêtre permet de
taper le script PS L'aide PowerShell
Interface d'exécution classique : permet soit de taper une
commande unique ou d'afficher les résultats d'exécution du
script au-dessus
9 OUZAOUIT
Commandes de base PowerShell
• Renommer une machine
Rename-Computer -NewName « nom »
• Redémarrer une machine
Restart-Computer
10 OUZAOUIT
Commandes de base PowerShell
• Modifier l’heure et la date du système:
Set-Date -Date "27/09/2021 17:52"
• Changer seulement la date:
Set-Date -Date "27/09/2021"
• Changer seulement l’heure:
Set-Date -Date "18:00"
11 OUZAOUIT
Commandes de base PowerShell
• Lister les utilisateurs locaux:
Get-LocalUser
• Modifier mot de passe d’un utilisateur:
$password = Read-host –AsSecureString
***********
Set-LocalUser -Name "Administrateur" –Password $password
12 OUZAOUIT
Commandes de base PowerShell
• Créer un compte utilsateur:
New-LocalUser -Name « nom »
La commande New-LocalUser permet de créer un nouveau compte utilisateur
local avec PowerShell. Ce cmdlet accepte plusieurs paramètres, dont :
•-Name : l'identifiant de l'utilisateur
•-Description : la description du compte utilisateur
•-Fullname : le nom complet de l'utilisateur
•-Disabled : compte désactivé
•-PasswordNeverExpires : le mot de passe n'expire jamais
•-Password : le mot de passe du compte
13 OUZAOUIT
Commandes de base PowerShell
• Créer un compte groupe:
New-Localgroup -Name « nom »
14 OUZAOUIT
Commandes de base PowerShell
• Ajouter un utilisateur à un groupe:
Add-LocalGroupMember -Group " nomGroupe" -Member
" nomUtilisateur"
15 OUZAOUIT
Commandes de base PowerShell
• Lister les interfaces:
Get-NetIPInterface
OU
Get-NetAdapter
16 OUZAOUIT
Commandes de base PowerShell
• Configurer une nouvelle adresse IP:
New-NetIPAddress –InterfaceIndex 6 –IPAddress [Link]
–PrefixLength 24 –DefaultGateway [Link]
•InterfaceIndex : numéro d’index de la carte à modifier (il est possible d’utiliser à la
place –InterfaceAlias suivit du nom de l’interface si vous le préférez au numéro
d’index)
17 OUZAOUIT
Commandes de base PowerShell
Ø si une adresse IP est déjà en place sur la carte, elle ne sera pas écrasée par
celle que nous voulons remplacer, il faut donc supprimer l’ancienne.
• Supprimer une adresse IP existante:
Remove-NetIPAddress –InterfaceIndex 6 –IPAddress
[Link] –PrefixLength 24
• Modifier la configuration d’une adresse IP:
Set-NetIPAddress
• Activer/Désactiver DHCP sur une carte:
Set-NetIPInterface -InterfaceIndex 6 -Dhcp {Enabled/Disabled}
18 OUZAOUIT
Commandes de base PowerShell
• Configurer DNS sur la carte réseau:
Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses
[Link]
•[Link]: Adresse serveur DNS
• Vérification du serveur DNS:
Get-DnsClientServerAddress -InterfaceIndex 6
19 OUZAOUIT
Commandes de base PowerShell
• Récuperer la configuration IP:
Get-NetIPConfiguration ou gip
20 OUZAOUIT