miroir de
https://github.com/PAPAMICA/Wiki-Tech.io.git
synchronisé 2024-11-07 18:20:33 +01:00
64 lignes
3,4 Kio
HTML
64 lignes
3,4 Kio
HTML
<!--
|
||
title: Powershell
|
||
description:
|
||
published: true
|
||
date: 2021-05-09T10:48:30.397Z
|
||
tags:
|
||
editor: ckeditor
|
||
dateCreated: 2021-05-08T14:42:07.092Z
|
||
-->
|
||
|
||
<h1>Powershell</h1>
|
||
<p> </p>
|
||
<h2>Définition</h2>
|
||
<p>PowerShell est un langage script fondé sur la programmation orientée objet. Le logiciel PowerShell est l'interpréteur de l’interface en ligne de commande de l'environnement de développement Windows PowerShell.Les commandes ou applets de commande (cmdlet)</p>
|
||
<p>elles sont composées d’une paire de la forme “verbe ”-“nom” destiné à en faciliter la mémorisation.</p>
|
||
<p>exemple :</p>
|
||
<pre><code class="language-plaintext">get-service</code></pre>
|
||
<p>get = verbe</p>
|
||
<p>service = nom</p>
|
||
<p> </p>
|
||
<h2>les variables</h2>
|
||
<p>Une variable Powershell est un emplacement de stockage provisoire en mémoire destiné à recueillir une valeur, un objet ou une collection d’objets.<br>Les variables sont généralement nommées, et leurs noms sont toujours précédés d’un symbole “$“<br>Les variables sont automatiquement “typées” lors de l’affectation de valeur (si elles ne sont pas déclarées au préalable.)</p>
|
||
<p>exemple :</p>
|
||
<pre><code class="language-plaintext">$variable = une valeur</code></pre>
|
||
<p> </p>
|
||
<h2>le pipeline</h2>
|
||
<p>Le pipeline, symbolisée par le caractère “<strong>|</strong>” ([<strong>AltGr</strong>] + [<strong>6</strong>]) permet d'exécuter plusieurs commandes à la suite.</p>
|
||
<p>exemple : </p>
|
||
<pre><code class="language-plaintext">get-process | Sort-Object CPU</code></pre>
|
||
<p>Dans ce cas précis la commande sort-object tri les processus par utilisation de Cpu</p>
|
||
<h2>Création d'un menu sous Powershell</h2>
|
||
<p>Voici un exemple de menu qu'il est possible de faire avec la méthode suivante :</p>
|
||
<figure class="image image_resized" style="width:56.82%;"><img src="/capture.png"></figure>
|
||
<p> </p>
|
||
<h2>Principe de fonctionnement</h2>
|
||
<p>Nous avons besoin de déclarer une variable qui va servir en quelque sorte de bouton “allumé” ou “éteins” : <code>$continue = $true</code></p>
|
||
<p>Avec cette variable j'utilise une boucle pour permettre de laisser en permanence l'affichage : </p>
|
||
<pre><code class="language-plaintext">while (true){
|
||
<le menu avec des write-host>
|
||
}</code></pre>
|
||
<p>Puis une seconde variable pour stocker mon choix avec <code>$choix = read-host “faire un choix”</code></p>
|
||
<p>Suivant l'état de ce choix le script sortira de la boucle <code>while</code> et cela provoquera soit une action du script soit une sortie du script avec switch ($choix).</p>
|
||
<p>Pour sortir du script si je fait le choix ‘<i>x</i>’ le script passe la variable <code>$continue</code> à <code>false</code> ce qui aura pour effet d'arrêter la boucle while.</p>
|
||
<p>la commande <code>default </code>permet de renvoyer un message d'avertissement si je rentre un choix qui n'est pas dans le menu.</p>
|
||
<p> </p>
|
||
<h2>Exemple</h2>
|
||
<pre><code class="language-plaintext">$continue = $true
|
||
while (continue){
|
||
write-host “----------------------MON TITRE -----------------------”
|
||
write-host “1. mon action 1”
|
||
write-host "2. mon action2"
|
||
write-host "x. exit"
|
||
write-host"-------------------------------------------------------------------"
|
||
$choix = read-host “faire un choix :”
|
||
switch ($choix){
|
||
1{commande de mon action 1}
|
||
2{commande de mon action 2}
|
||
‘x’ {$continue= $false}
|
||
default {Write-Host "Choix invalide"-ForegroundColor Red}
|
||
}
|
||
}
|
||
|
||
</code></pre>
|
||
<p> </p>
|