Lors de l'utilisation de PowerShell, la première chose avec laquelle nous sommes confrontés ce sont les commandes (Cmdlet).
L'appel d'une commande ressemble à ceci :
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Aide
L'appel de l'aide dans PowerShell se fait avec la commande Get-Help. Vous pouvez spécifier l'un des paramètres : example, detailed, full, online, 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 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-EventLog.

Si les paramètres sont entre crochets [], ils sont facultatifs.
C'est-à-dire que dans cet exemple, le nom du journal est obligatoire, mais le nom du paramètre ne l'est pas. Si le type de paramètre et son nom sont entre crochets ensemble, alors ce paramètre est facultatif.
En regardant le paramètre EntryType, on voit les valeurs qui sont entre accolades. Pour ce paramètre, nous ne pouvons utiliser que des valeurs prédéfinies entre accolades.
L'information sur le caractère obligatoire d'un paramètre peut être trouvée dans la description ci-dessous dans le champ Required. Dans l'exemple ci-dessus, l'attribut After est facultatif, car en face de Required, il est indiqué false. Ensuite, nous voyons le champ Position, en face duquel il est écrit Named. Cela signifie que vous pouvez accéder au paramètre uniquement par son nom, c'est-à-dire :
Get-EventLog -LogName Application -After 2020.04.26.Puisque pour le paramètre LogName, au lieu de Named, le chiffre 0 a été indiqué, cela signifie que nous pouvons accéder au paramètre sans nom, en le spécifiant dans le bon ordre :
Get-EventLog Application -After 2020.04.26.Prenons également cet ordre :
Get-EventLog -Newest 5 Application.Alias
Pour que nous puissions utiliser des commandes familières de la console dans PowerShell, il existe des alias (Alias).
Un exemple d'alias pour la commande Set-Location est cd.
C'est-à-dire qu'au lieu d'appeler la commande
Set-Location “D:”,nous pouvons utiliser
cd “D:”.Historique
Pour voir l'historique des appels de commandes, vous pouvez utiliser Get-History.
Exécuter une commande de l'historique Invoke-History 1; Invoke-History 2.
Effacer l'historique Clear-History.
Pipeline
Le pipeline dans PowerShell est lorsque le résultat de l'exécution de la première fonction est transmis à la seconde. Voici un exemple d'utilisation du pipeline :
Get-Verb | Measure-Object.Mais pour mieux comprendre le pipeline, prenons un exemple plus simple. Il existe une commande
Get-Verb "get".Si vous appelez l'aide Get-Help Get-Verb -Full, vous verrez que le paramètre Verb accepte l'entrée de pipeline et dans les parenthèses, il est écrit ByValue.

Cela signifie que nous pouvons réécrire Get-Verb « get » en « get » | Get-Verb.
C'est-à-dire que le résultat de la première expression est une chaîne et qu'elle est transmise au paramètre Verb de la commande Get-Verb par le biais de l'entrée de pipeline par valeur.
De plus, l'entrée de pipeline peut être ByPropertyName. Dans ce cas, nous allons transmettre un objet qui a une propriété avec un nom similaire à Verb.
Variables
Les variables ne sont pas strictement typées et sont définies avec le symbole $ devant.
$example = 4Le symbole > signifie placer des données dans
Par exemple, $example > File.txt
Avec cette expression, nous allons placer les données de la variable $example dans le fichier.
De manière similaire à la commande Set-Content -Value $example -Path File.txt
Tableaux
Initialisation d'un tableau :
$ArrayExample = @(“Premier”, “Deuxième”)Initialisation d'un tableau vide :
$ArrayExample = @()Obtention de la valeur par index :
$ArrayExample[0]Obtenir tout le tableau :
$ArrayExampleAjout d'un élément :
$ArrayExample += “Troisième”$ArrayExample += @(“Quatrième”, “Cinquième”)Trier :
$ArrayExample | Sort$ArrayExample | Sort -DescendingMais le tableau lui-même reste inchangé par ce tri. Et si nous voulons que le tableau contienne des données triées, il faut assigner les valeurs triées :
$ArrayExample = $ArrayExample | SortIl n'y a pas de suppression d'élément dans un tableau en PowerShell, mais on peut le faire de cette manière :
$ArrayExample = $ArrayExample | where { $_ -ne “Premier” }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Suppression du tableau :
$ArrayExample = $nullBoucles
Syntaxe des boucles :
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){}Sortie de la boucle break.
Saut de l'élément continue.
Instructions conditionnelles
if () {} elseif () {} elseswitch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Non défini” }
}
Fonction
Définir une fonction :
function Example () {
echo &args
}Appeler la fonction :
Example “Premier argument” “Deuxième argument”Définir des arguments dans la fonction :
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Appeler la fonction :
Example -first “Premier argument” -second “Deuxième argument”Exception
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Source : habr.com
