Page d'accueil » comment » École Geek Learning Variables PowerShell, entrée et sortie

    École Geek Learning Variables PowerShell, entrée et sortie

    Au fur et à mesure que nous nous écartons de l'exécution de commandes et de l'écriture de scripts complets, vous aurez besoin d'un emplacement temporaire pour stocker les données. C'est là que les variables entrent en jeu.

    Assurez-vous de lire les articles précédents de la série:

    • Apprenez à automatiser Windows avec PowerShell
    • Apprendre à utiliser les cmdlets dans PowerShell
    • Apprendre à utiliser des objets dans PowerShell
    • Apprentissage du formatage, du filtrage et de la comparaison dans PowerShell
    • Apprendre à utiliser la communication à distance dans PowerShell
    • Utilisation de PowerShell pour obtenir des informations sur l'ordinateur
    • Utilisation de collections dans PowerShell

    Et restez à l'écoute pour le reste de la série toute la semaine.

    Variables

    La plupart des langages de programmation autorisent l'utilisation de variables, qui sont simplement des conteneurs contenant des valeurs. Dans PowerShell, nous avons aussi des variables et elles sont vraiment faciles à utiliser. Voici comment créer une variable appelée “Prénom” et lui donner la valeur “Taylor”.

    $ Prénom = “Taylor”

    La première chose que la plupart des gens semblent demander, c'est pourquoi nous plaçons un signe dollar devant le nom de la variable, et c'est en fait une très bonne question. En réalité, le symbole du dollar indique simplement au shell que nous voulons accéder au contenu de la variable (pensez au contenu du conteneur) et non au conteneur lui-même. Dans PowerShell, les noms de variables n'incluent pas le signe dollar, ce qui signifie que, dans l'exemple ci-dessus, le nom de la variable est en réalité «Prénom»..

    Dans PowerShell, vous pouvez voir toutes les variables que vous avez créées dans la variable PSDrive..

    variable gci:

    Ce qui signifie que vous pouvez également supprimer une variable du shell à tout moment:

    Variable de suppression d'élément: \ Prénom

    Les variables ne doivent pas non plus contenir un seul objet; vous pouvez tout aussi facilement stocker plusieurs objets dans une variable. Par exemple, si vous souhaitez stocker une liste de processus en cours dans une variable, vous pouvez simplement lui attribuer la sortie de Get-Process..

    $ Proc = Get-Process

    Le truc pour comprendre cela est de se rappeler que le côté droit du signe égal est toujours évalué en premier. Cela signifie que vous pouvez avoir tout un pipeline du côté droit si vous voulez.

    $ CPUHogs = Get-Process | Sort CPU -Descending | sélectionnez -Premier 3

    La variable CPUHogs contiendra désormais les trois processus en cours utilisant le plus de CPU.

    Lorsque vous avez une variable contenant une collection d'objets, il y a certaines choses à prendre en compte. Par exemple, l'appel d'une méthode sur la variable entraînera son appel sur chaque objet de la collection..

    $ CPUHogs.Kill ()

    Ce qui tuerait les trois processus de la collection. Si vous souhaitez accéder à un seul objet dans la variable, vous devez le traiter comme un tableau..

    $ CPUHogs [0]

    Cela vous donnera le premier objet de la collection.

    Ne pas se faire prendre!

    Les variables dans PowerShell sont faiblement typées par défaut, ce qui signifie qu'elles peuvent contenir tout type de données. Cela semble attirer tout le temps de nouveaux venus dans PowerShell.!

    $ a = 10

    $ b = '20'

    Nous avons donc deux variables, l’une contenant une chaîne et l’autre un entier. Alors que se passe-t-il si vous les ajoutez? Cela dépend en fait de l'ordre dans lequel vous les ajoutez.

    $ a + $ b = 30

    Tandis que

    $ b + $ a = 2010

    Dans le premier exemple, le premier opérande est un entier, $ a. PowerShell pense donc que vous essayez de faire des calculs et tente donc de convertir tous les autres opérandes en entiers. Toutefois, dans le deuxième exemple, le premier opérande est une chaîne. PowerShell ne fait que convertir le reste des opérandes en chaînes et les concaténer. Des scripteurs plus avancés empêchent ce genre de tristesse en convertissant la variable selon le type qu'ils attendent.

    [int] $ Number = 5
    [int] $ Number = '5'

    Ce qui précède entraînera à la fois la variable Number contenant un objet entier avec une valeur de 5.

    Entrée et sortie

    Etant donné que PowerShell est conçu pour automatiser les choses, vous souhaiterez éviter de demander aux utilisateurs des informations autant que possible. Cela dit, il y aura des moments où vous ne pourrez pas l'éviter, et pour ces moments nous avons l'applet de commande Read-Host. Son utilisation est vraiment simple:

    $ FirstName = Read-Host -Prompt 'Entrez votre prénom'

    Tout ce que vous entrez sera alors sauvegardé dans la variable.

    L'écriture de la sortie est tout aussi facile avec la cmdlet Write-Output.

    Écrire en sortie "How-To Geek Rocks!"

    Rejoignez-nous demain où nous lions tout ce que nous avons appris ensemble!