Académique Documents
Professionnel Documents
Culture Documents
Autrefois, le démarrage d’un IBM 8086, alors à la pointe de la technologie, se faisait à partir d’une disquette.
Vous vous retrouviez alors en face d’un écran vert en mode texte avec un curseur clignotant en face de la
célèbre invite C:\>
CMD a été l’interface système par défaut jusqu’à Windows 10 build 14791, version qui a vu Microsoft
faire de PowerShell l’option par défaut.
Avant PowerShell, les administrateurs système devaient naviguer dans l’interface graphique pour trouver ces
options et cliquer dans des menus pour les modifier. Ce travail était répétitif et il n’y avait aucun moyen de
l’automatiser à une échelle plus large.
PowerShell utilise des tubes (ou pipes) pour enchaîner les cmdlets et partager les entrées/sorties .
Un pipeline est une série de commandes connectées par les opérateurs de pipeline () (|ASCII 124).
Dans un pipeline, les commandes sont traitées dans l’ordre de gauche à droite.
Les tubes permettent aux utilisateurs de créer des scripts complexes qui transmettent des paramètres et des
données d’une cmdlet à l’autre.
Les utilisateurs peuvent créer des scripts réutilisables pour automatiser ou réaliser des modifications en masse
avec des données variable
Les alias :
Les alias permettent à un utilisateur de configurer ses propres noms pour différents cmdlets ou scripts, ce qui lui
facilite le passage entre différentes interfaces système.
Avec PowerShell, ‘ls’ et ‘dir’ sont tous deux des alias de la cmdlet ‘Get-ChildItem.’
Il n'est simplement pas possible ni pratique pour qui que ce soit de retenir l'ensemble des commandes,
cmdlets, options, filtres et autres modes de communication avec PowerShell.
Saisie semi-automatique
Get-Command
Syntaxe
Longue chaîne ou propriétés d'objet
Saisie semi-automatique
Il est inutile de mémoriser les différentes commandes ou leur orthographe exacte. Tapez get-c dans
l'éditeur et appuyez sur la touche TABULATION.
Get-Command
Comment faire si vous ne connaissez pas le nom de la commande recherchée ?
Dans ce cas, vous pouvez utiliser une commande pour en trouver d'autres: Get-Command
En général, les verbes sont Get, Set, Add, Clear, Write et Read,
et les noms des éléments comme les fichiers, serveurs ou autres éléments de votre réseau et de vos
applications.
Get-Command est un outil d'exploration des commandes disponibles sur votre système.
L'histoire de PowerShell
Les commandes PowerShell se nomment « Cmdlet » et se prononcent Commandlette
Les commandes PowerShell ont une syntaxe cohérente et sont faciles à retenir
#Lister uniquement les fichiers texte Get-ChildItem -Path h:\ressources -Recurse -Include *.txt
#Exclure les fichiers texte et afficher tout le reste Get-ChildItem -Path h:\ressources -Recurse -Exclude *.txt
#Récupérer les fichiers et dossiers système Get-ChildItem -Path h:\ -Hidden -System
#Récupérer les fichiers et dossiers en lecteur seul Get-ChildItem -Path h:\ -ReadOnly
#Récupérer la propriété Name et CreationTime Get-ChildItem -Path h:\ressources | Select-Object Name, CreationTime
#Créer un nouveau fichier New-Item -ItemType File -Path h:\ -Name teste.txt -Value "PowerShell"
#Créer un nouveau dossier New-Item -ItemType Directory -Path h:\ -Name DossierTest
#Mettre un fichier en lecture seul Set-ItemProperty -Path h:\test.txt -Name IsReadOnly -Value $true
#Supprimer un dossier qui n'est pas vide Remove-Item -Path H:\res -Force
#Copier un dossier et son contenu Copy-Item -Path H:\ressources\ -Recurse -Destination h:\res
#Démarrer un process avec des arguments Start-Process cmd -ArgumentList "/k ipconfig"
#Créer un nouvel utilisateur sans mot de passe New-LocalUser -Name User1 -Description "Utilisateur test" -FullName "Jean
Dupont" -NoPassword
#Modifier les paramètres d'un compte utilisateur Set-LocalUser -Name user1 -AccountExpires "12/02/2019"
#Créer un nouveau groupe New-LocalGroup -Name GROUP_TEST -Description "Test nouveau groupe"
paramètres réseau
#Tester la connexion vers un ou plusieurs serveurs Test-Connection google.fr, youtube.com