PowerShell pour les débutants

Lorsque vous travaillez avec PowerShell, la première chose que nous rencontrons est les commandes (Cmdlets).
L'appel de commande ressemble à ceci :

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

d’aide

L'aide dans PowerShell est accessible à l'aide de la commande Get-Help. Un des paramètres peut être spécifié : exemple, détaillé, complet, en ligne, showWindow.

Get-Help Get-Service -full renverra la description complète du fonctionnement de la commande Get-Service
Get-Help Get-S* affichera toutes les commandes et fonctions disponibles en commençant par Get-S*

Il existe également une documentation détaillée sur le site officiel de Microsoft.

Voici un exemple d'aide pour la commande Get-Evenlog

PowerShell pour les débutants

Si les paramètres sont entre crochets [], ils sont facultatifs.
Autrement dit, dans cet exemple, le nom du journal lui-même est requis et le nom du paramètre Non. Si le type de paramètre et son nom sont entre parenthèses, ce paramètre est facultatif.

Si vous regardez le paramètre EntryType, vous pouvez voir les valeurs qui sont entre accolades. Pour ce paramètre, nous ne pouvons utiliser que des valeurs prédéfinies entre accolades.

Des informations indiquant si le paramètre est obligatoire peuvent être consultées dans la description ci-dessous dans le champ Obligatoire. Dans l'exemple ci-dessus, l'attribut After est facultatif car Required est défini sur false. Ensuite, nous voyons le champ Position en face qui indique Nommé. Cela signifie que vous ne pouvez faire référence au paramètre que par son nom, c'est-à-dire :

Get-EventLog -LogName Application -After 2020.04.26

Puisque le paramètre LogName avait le numéro 0 au lieu de Named, cela signifie que nous pouvons faire référence au paramètre sans nom, mais en le spécifiant dans l'ordre souhaité :

Get-EventLog Application -After 2020.04.26

Supposons cet ordre :

Get-EventLog -Newest 5 Application

Alias

Pour que nous puissions utiliser les commandes habituelles de la console dans PowerShell, il existe des alias (Alias).

Un exemple d'alias pour la commande Set-Location est cd.

Autrement dit, au lieu d'appeler la commande

Set-Location “D:”

on peut utiliser

cd “D:”

HISTOIRE

Pour voir l'historique des appels de commande, vous pouvez utiliser Get-History

Exécuter la commande à partir de l'historique Invoke-History 1 ; Invoquer l'historique 2

Histoire claire

Pipeline

Un pipeline dans powershell, c'est quand le résultat de la première fonction est passé à la seconde. Voici un exemple utilisant le pipeline :

Get-Verb | Measure-Object

Mais pour mieux comprendre le pipeline, prenons un exemple plus simple. J'ai une équipe

Get-Verb "get"

Si vous appelez l'aide Get-Help Get-Verb -Full, nous verrons que le paramètre Verb prend une entrée de ligne de conduite et que ByValue est écrit entre parenthèses.

PowerShell pour les débutants

Cela signifie que nous pouvons réécrire Get-Verb "get" en "get" | GetVerb.
C'est-à-dire que le résultat de la première expression est une chaîne et il est passé au paramètre Verb de la commande Get-Verb via une entrée de pipeline par valeur.
L'entrée de pipeline peut également être ByPropertyName. Dans ce cas, nous passerons un objet qui a une propriété avec un nom similaire Verb.

Variables

Les variables ne sont pas fortement typées et sont spécifiées avec un $ devant

$example = 4

Le symbole > signifie mettre les données dans
Par exemple, $exemple > Fichier.txt
Avec cette expression, nous allons mettre les données de la variable $example dans un fichier
Identique à Set-Content -Value $example -Path File.txt

Arrays

Initialisation du tableau :

$ArrayExample = @(“First”, “Second”)

Initialisation du tableau vide :

$ArrayExample = @()

Obtenir la valeur par index :

$ArrayExample[0]

Obtenez l'ensemble du tableau :

$ArrayExample

Ajout d'un élément :

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Trier par:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Mais le tableau lui-même reste inchangé avec ce tri. Et si nous voulons que le tableau ait des données triées, nous devons attribuer les valeurs triées :

$ArrayExample = $ArrayExample | Sort

Il n'y a aucun moyen de supprimer un élément d'un tableau dans PowerShell, mais vous pouvez le faire comme ceci :

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Suppression d'un tableau :

$ArrayExample = $null

Boucles

Syntaxe de la boucle :

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Sortir de la boucle de rupture.

Ignorez l'élément Continuer.

Expressions conditionnelles

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

Fonction

Définition de la fonction :

function Example () {
  echo &args
}

Lancement de fonction :

Example “First argument” “Second argument”

Définition des arguments dans une fonction :

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Lancement de fonction :

Example -first “First argument” -second “Second argument”

Exception

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Source: habr.com

Ajouter un commentaire