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
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
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.
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