SISR 4 SISR 4 : Exploitation des systèmes : Exploitation des systèmes PowerShel
SISR 4 SISR 4 : Exploitation des systèmes : Exploitation des systèmes PowerShell : les bases PowerShell : les bases Table des matières Table des matières 1 - Qu'est ce que powershell ?..........................................................................................................................2 1.1 - Introduction..........................................................................................................................................2 1.2 - Utiliser Powershell...............................................................................................................................2 1.3 - Commandes et alias............................................................................................................................4 2 - Quelques aspects fondamentaux................................................................................................................5 2.1 - Les variables.......................................................................................................................................5 2.2 - Les caractères génériques..................................................................................................................5 2.3 - Faciliter la saisie des commandes.......................................................................................................5 Historique des commandes ...................................................................................................................5 Le clic-droit :........................................................................................................................................... 6 L'opérateur tilde......................................................................................................................................6 Compléter une commande.....................................................................................................................6 Le backtick.............................................................................................................................................. 6 Exercices................................................................................................................................................7 3 - Filtres et tubes............................................................................................................................................. 8 3.1 - Les tubes.............................................................................................................................................8 3.2 - Les filtres............................................................................................................................................. 8 3.3 - Exercez vous.......................................................................................................................................9 505288132 Dernière Modification : 05/01/14 Page : 1/10 1 1 Qu'est ce que powershell ? Qu'est ce que powershell ? 1.1 1.1 Introduction Introduction Powershell est un langage de script en mode commande destiné aux systèmes Windows et plus particulièrement aux systèmes serveurs. C'est en 2004-2005 que Microsoft a pris conscience des faiblesses que représentait l'interface graphique pour administrer des systèmes serveurs. En effet, jusqu'alors, les administrateurs système n'avaient d'autre choix que de réaliser des script batch à l'aide de commandes MS-DOS. Si ceux-ci permettent de faire facilement des tâches assez faciles (monter un lecteur réseau), ils s'avèrent notoirement insuffisant lorsqu'il s'agit de réaliser des analyses de fichiers logs ou de faire de simples boucles. Par la suite, est apparu le langage VBScript avec l'outil d'administration WSH. Cependant, ce système est rempli de failles de sécurité. Malgré cela, c'est resté pendant de longues années le seul système permettant de faire du script sous Windows. PowerShell est actuellement en version 3.0. Cette version est livrée nativement avec Windows 2012 et Windows 8. Il faut la télécharger pour les systèmes plus anciens. L'objectif de Microsoft est de placer PowerShell au coeur du système. Ainsi dans Exchange 2010 les actions graphiques exécutent en réalité des commandes PowerShell. On trouve actuellement dans PowerShell de nombreuses commandes permettant de gérer Active Directory, les stratégies de groupe, la gestion des rôles et des fonctionnalités, etc... PowerShell est à la fois un interpréteur de commandes et un puissant langage de scripts. Il s'appuie sur le framework .NET. Celui-ci est une énorme bibliothèques de classes (un peu comme la machine virtuelle Java). A l'aide de powerShell, nous ferons naitre des objets qui nous permettrons d'agir sur l'ensemble du système d'exploitation. Le TP que vous avez sous les yeux est basé sur la version 2 de PowerShell. Cependant, il fonctionne aussi très bien avec la version 3. Vous pouvez donc le faire fonctionner aussi bien sous Windows 7 que sous Windows 8. 1.2 1.2 Utiliser Powershell Utiliser Powershell Pour utiliser PowerShell, il faut lancer l'interpréteur de commandes. Vous pouvez le trouver dans le menu démarrer, dans les accessoires. Sélectionner Windows PowerShelll et lancez le en mode Administrateur. (click avec le bouton droit et sélectionner « exécuter en tant qu'administrateur ». Vous obtenez alors la fenêtre suivante : 505288132 Dernière Modification : 05/01/14 Page : 2/10 Les commandes de PWS sont appelées des cmdlets (pour command-applets). Elles sont pour la plupart d'entre elles constituées de la manière suivante : un verbe, un tiret, un nom : verbe-nom. Par exemple get-command Le verbe indique l'action que l'on va appliquer sur le nom. Il y a toute une série de verbes génériques : Get,Add, Remove, Set, etc... Les noms constituant les commandes sont toujours au singulier. C'est aussi vrai pour les options des commandes (on parle de paramètres en PWS et pas d'options). On peut obtenir de l'aide en permanence sur un cmdlet. Il suffit de frapper : get-help get-command -detailed | more ou encore help get-command Dans PWS, la frappe n'est pas sensible à la casse ce qui veut dire qu'on peut frapper aussi bien des majuscules que des minuscules Frappez les commandes suivantes et indiquez quelle est leur action dans la partie droite du tableau : Commande Que fait-elle ? Get-command -commandtype cmdlet Get-command -commandtype cmdlet -verb write Get-command write-* Get-command -commandtype cmdlet -noun object 505288132 Dernière Modification : 05/01/14 Page : 3/10 Get-commande *-Object 1.3 1.3 Commandes et alias Commandes et alias Pour faciliter la transition des anciens langage de script vers PowerShell, on a imaginé mettre en place un système d'alias. Celui-ci permet que la même commande puisse être frappée avec différents « verbes » de commandes. Par exemple, frappez la commande ci-dessous et indiquez ce qu'elle fait dans la partie droite : Get-childitem c:\users Maintenant frappez les commandes suivantes Ls c:\users Dir c:\users Vous observez que ces commandes font la même chose que la première. Ce sont des ALIAS. La première ressemble à la commande linux, la deuxième à la commande MS-DOS Examinez l'aide (en frappant get-help) afin d'expliquer le résultat de chacune des commandes suivantes. Complétez le tableau ci-dessous. Commande Résultat Commande sous forme verbe- nom cd c:/windows ls -R ls -force c:/ Clear Pwd Cat win.ini Donnez l'alias de get-command Expliquez la commande suivante : Get-command -commandtype alias 505288132 Dernière Modification : 05/01/14 Page : 4/10 2 2 Quelques aspects fondamentaux Quelques aspects fondamentaux 2.1 2.1 Les variables Les variables Les variables commencent par le caractère $. Il existe des variables systèmes et des variables que vous pouvez vous même définir. Ces dernières restent actives pendant le temps de la session. Les variables sont typées automatiquement lors de leur initialisation (ce qui veut dire qu'elles sont reconnues comme des variables entières, flottantes, alphanumériques, dates, etc.... selon la valeur qu'on leur donne la première fois). Commentez les instructions ci-après. $maVariable= 'Bonjour le monde' $maVariable | get-Member $maVariable.toUpper() $maVariable.length 2.2 2.2 Les caractères génériques Les caractères génériques Ce sont des caractères qui prennent un sens particulier dans un nom de fichier ou de répertoire : ? remplace un seul caractère * un nombre quelconque de caractères Frappez et commentez les instructions ci-après : ls /windows/*.ini ls /windows/*p*.* 2.3 2.3 Faciliter la saisie des commandes. Faciliter la saisie des commandes. Pour faciliter la saisie des commandes powerShell, diverses facilités ont été mises à disposition : Historique des commandes Historique des commandes Cette liste est accessible en tapant F7. Sélectionner la commande dans la liste. On peut aussi parcourir les précédentes lignes de commandes avec les flèches (comme dans les commandes MS-DOS de Windows) et les éditer. Ceci permet très facilement de reprendre une précédente commande pour l'éditer et la modifier. 505288132 Dernière Modification : 05/01/14 Page : 5/10 Le clic-droit : Le clic-droit : Le clic-droit recopie ce texte sur la ligne de commande. L'opérateur tilde L'opérateur tilde Le caractère tilde ~ (alt 126) seul renvoie au répertoire personnel de l'utilisateur actuel. Elle s'obtient en frappant en même temps sur les touches altgr et 2, puis sur la barre d'espace. Frappez et commentez la commande suivante : cd ~ Compléter une commande Compléter une commande Lorsqu'on tape ligne de une commande incomplète, puis sur la touche TAB, l'interpréteur cherche à compléter, nom du fichier ou nom de commande, suivant le contexte. get-ch<TAB> ls /wind <TAB> <TAB> <TAB> Le backtick Le backtick Le backtick permet de continuer une commande sur plusieurs lignes. Il s'obtient en frappant en même temps sur la touche altgr et 7, puis sur la barre d'espace. Par exemple, essayez de frapper la commande ci dessous : get-eventlog -logName system ` -newest 25 ` -entryType Error,Warning Que vous donne-t-elle ? Que signifie le paramètre -newest 25 ? l 505288132 Dernière Modification : 05/01/14 Page : 6/10 Exercices Exercices Frappez et commentez le résultat des commandes suivantes : Commande Résultat Commande sous forme verbe-nom cd ~ Md tp_pws Cd tp_pws Get-date > essai.txt 'une première ligne de renseignements' >> essai.txt 'suivi par une seconde ligne' >> essai.txt cat essai.txt $ligne = cat essai.txt $Ligne[2] $Ligne[2][5] Write-host $ligne Expliquez en quelques lignes ce que vous avez fait dans cette suite d'instructions PWS. Pour vous aider, vous pouvez utiliser l'explorateur de fichiers Windows. 505288132 Dernière Modification : 05/01/14 Page : 7/10 3 3 Filtres et tubes Filtres et tubes 3.1 3.1 Les tubes Les tubes Les tubes sont des dispositifs qui établissent des liens entre des commandes. Le tube est matérialisé par le caractère « | » (qui s'obtient en frappant en même temps sur les touches altGr et 6) et qui est appelé « pipe ». Le résultat de la commande situé à gauche du pipe est utilisé comme entrée de la commande située à droite : par exemple : Get-ChildItem c:\windows | set-content monWindows.txt La première commande liste le contenu du dossier windows et envoie cette liste à la deuxième qui l'enregistre dans le fichier monWindows.txt. Pour vous en convaincre, exécutez cette commande et vérifiez le contenu du fichier monWindows.txt (en frappant cat monWindows.txt par exemple)/ Que fait cette commande ? get-process | out-file -filepath process.txt 3.2 3.2 Les filtres Les filtres Grâce aux pipelines, il est aisé de filtrer le résultat de certaines commandes. Un filtre se pose grâce à la commande « where-object », en abrégé : »where » ou encore plus abrégé « ? » Par exemple : get-service | where {$_.status -eq 'stopped'} Cette instruction permet de dresser la liste des uploads/Industriel/ sisr4-t01-powershell-bases.pdf
Documents similaires
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 01, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.1761MB