Guide de Démarrage pour les Verbes Approuvés de PowerShell

Quand il s’agit de script PowerShell, des conventions de nommage cohérentes facilitent la tâche de création de solutions robustes. La bonne nouvelle est qu’il existe des verbes approuvés par PowerShell que vous pouvez utiliser lors de l’écriture de scripts et de commandes.

Dans ce tutoriel, vous apprendrez quels verbes approuvés utiliser dans PowerShell à travers une série d’exemples.

Plongez directement et améliorez vos compétences en script PowerShell !

Prérequis

Ce tutoriel comprend des démonstrations pratiques. Si vous souhaitez suivre, assurez-vous d’avoir un système exécutant PowerShell 5.1 ou une version ultérieure. Ce tutoriel utilise Windows 11 avec PowerShell 7.

Récupération d’une liste des verbes approuvés par PowerShell

En PowerShell, les cmdlets sont de petites commandes monofonctionnelles qui effectuent des actions spécifiques dans l’environnement PowerShell.

Chaque cmdlet dans PowerShell a un nom unique qui suit un format de paire verbe-nom où :

  • La partie verbe du nom décrit l’action que le cmdlet effectue. Certains verbes couramment utilisés en PowerShell sont les suivants:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • La partie nom du nom identifie l’entité ou l’objet sur lequel l’action est effectuée, la cible sur laquelle agir. Le nom décrit généralement la catégorie ou le type d’objet avec lequel le cmdlet interagit, tel que commande, processus, service ou fichier.

Pour voir tous les verbes approuvés que vous pouvez utiliser pour votre script:

Exécutez la commande Get-Verb suivante pour obtenir une liste complète des verbes approuvés par PowerShell.

Get-Verb

La sortie ci-dessous montre juste quelques verbes que vous pouvez utiliser pour votre script.

Retrieving a complete list of approved verbs

Maintenant, exécutez la même commande que ci-dessous, mais cette fois, vous listerez tous les verbes approuvés qui commencent par re via une recherche avec joker. Ce faisant, vous réduirez la liste des verbes à ceux associés à réinitialiser, redimensionner, refaire, et ainsi de suite.

Get-Verb re*

Comme le montre ci-dessous, réduire la liste des verbes peut être utile lorsque vous avez une action spécifique en tête et souhaitez trouver un verbe qui correspond étroitement à cette action.

Narrowing down the list of approved verbs

Création de nouvelles ressources via le verbe New

Vous venez de récupérer une liste de verbes approuvés dans PowerShell, mais comment utilisez-vous ces verbes dans votre script ou lors de l’exécution de commandes? Vous ajouterez le verbe New à un nom représentant le type de ressource que vous souhaitez créer (c’est-à-dire utilisateur, fichier, service).

Mais dans cet exemple, vous allez créer une nouvelle ressource, spécifiquement un nouvel utilisateur, comme suit:

Exécutez la commande New-LocalUser suivante pour créer un nouvel utilisateur appelé John Smith avec un mot de passe (Password123) et définir le compte pour ne jamais expirer (-AccountNeverExpires).

New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -Force
Creating a new resource (user account) via the New verb

Récupération des informations de ressource via le verbe Get

En plus de créer de nouvelles ressources, PowerShell dispose également d’un verbe qui vous permet de récupérer des informations sur l’une de vos ressources existantes. En PowerShell, le verbe Get est couramment utilisé pour récupérer des informations sur une ressource particulière, telle que le système d’exploitation, les services, les fichiers et autres objets.

Pour récupérer des informations sur la ressource via le verbe Get:

Exécutez la commande Get-LocalUser ci-dessous pour obtenir des informations sur un utilisateur local spécifique (John Smith).

Get-LocalUser -Name "John Smith"

En dessous, la sortie montre que le compte utilisateur John Smith est Activé (actif).

Retrieving resource information via the Get verb

Modification des ressources existantes via le verbe Set

Imaginez que vous avez remarqué quelque chose d’anormal après avoir vu les informations d’une de vos ressources. Comment pouvez-vous modifier une ressource existante ? Ne vous inquiétez pas ! Un verbe approuvé par PowerShell, le verbe Set, vous permet de apporter des modifications aux ressources existantes.

Au lieu de recréer des ressources, le verbe Set vous permet d’ajuster en modifiant leurs propriétés ou configurations.

Pour modifier des ressources existantes via le verbe Set:

Exécutez les commandes ci-dessous pour définir la valeur de $myVariable à Hello et modifier la valeur de $myVariable à Hello, World!. Ces commandes ne fournissent pas de sortie, mais vous vérifierez les modifications à l’étape suivante.

# Définir une ressource de variable
$myVariable = "Hello"

# Modifier la valeur d'une ressource de variable existante
Set-Variable -Name myVariable -Value "Hello, World!"

Maintenant, exécutez la commande Get-Variable ci-dessous pour récupérer des informations sur votre ressource ($myVariable).

Get-Variable -Name myVariable

Comme indiqué ci-dessous, la sortie affiche le nom et la valeur de la variable.

Retrieving information about a resource

Déclenchement d’Actions ou Invocation de Commandes via le verbe Invoke

Au lieu d’exécuter manuellement des commandes, comme vous l’avez fait dans les exemples précédents, pourquoi ne pas les automatiser dans un script PowerShell ? Comment ? Le verbe Invoke vous permet d’initier des actions ou d’invoquer des commandes de manière programmatique.

Avec un script PowerShell et le verbe Invoke, vous pouvez exécuter plusieurs commandes PowerShell à la fois sans les taper toutes dans la console.

Pour voir comment fonctionnent les déclenchements d’actions via le verbe Invoke :

1. Exécutez la commande Invoke-Expression suivante pour invoquer la commande Get-Date, qui vous permet de récupérer la date et l’heure actuelles.

Invoke-Expression -Command "Get-Date"

La sortie ci-dessous montre une exécution réussie de la commande Get-Date via le verbe Invoke.

Triggering a command via the Invoke verb

2. Ensuite, créez un fichier de script PowerShell (c’est-à-dire InvokeVerbDemo.ps1) avec votre éditeur de code préféré et remplissez le code suivant.

Ce code affiche (Write-Host) un message de bienvenue et invoque la commande Get-Service pour répertorier tous les services de votre système.

# Afficher un message de bienvenue chaleureux
Write-Host "Welcome to the Invoke Example!"

# Invoquer la commande Get-Service
Invoke-Command -ScriptBlock { Get-Service }

3. Maintenant, exécutez les commandes suivantes pour invoquer (Invoke-Expression) votre script PowerShell (InvokeVerbDemo.ps1). Remplacez la valeur de la variable $scriptPath par le chemin de votre fichier de script.

$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPath

La sortie ci-dessous montre un message de bienvenue et une liste de tous les services de votre système, confirmant ainsi une exécution réussie de votre script.

Invoking a script via the Invoke verb

4. Au lieu de simplement des commandes, écrivez une fonction réutilisable (par exemple, Invoke-MyTask) que vous pouvez appeler à tout moment, comme illustré ci-dessous. Essentiellement, les fonctions améliorent la maintenabilité et la réutilisabilité de vos scripts PowerShell.

Dans cet exemple, la fonction Invoke-MyTask encapsule les commandes pour effectuer ce qui suit lorsqu’elle est invoquée :

  • Affiche (Write-Host) la chaîne Executing MyTask... sur la console.
  • Récupère la liste de tous les processus (Get-Process) et sélectionne seulement (Select-Object) les propriétés Name et CPU pour chaque processus.
# Définir une fonction personnalisée en utilisant le verbe Invoke
function Invoke-MyTask {
    # Votre tâche personnalisée va ici
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. Enfin, exécutez la commande ci-dessous pour invoquer votre fonction (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

Vous verrez une liste de tous les processus s’exécutant sur votre système avec leurs noms et leur utilisation CPU, comme indiqué ci-dessous.

Invoking a function

Validation des ressources via le verbe Test

Assurer l’exactitude des valeurs d’entrée et des conditions est primordial lors de la création de scripts PowerShell robustes et résistants aux erreurs. Un outil puissant à votre disposition à cette fin est le verbe Test.

En utilisant le verbe Test, vous pouvez rapidement vérifier si une condition donnée est vraie ou fausse, ce qui vous permet d’exécuter différentes actions en fonction du résultat. Dans cet exemple, vous validerez si un fichier existe via le verbe Test.

Exécutez le code ci-dessous pour tester (Test-Path) si un fichier existe (C:\MyFolder\example.txt) à l’emplacement spécifié par $filePath, et affichez un message en fonction du résultat.

# Définir un chemin de fichier.
$filePath = "C:\MyFolder\example.txt"

# Tester si le fichier existe, et afficher un message en fonction du résultat.
if (Test-Path $filePath) {
    Write-Host "The file exists at $filePath."
}
else {
    Write-Host "The file does not exist at $filePath."
}
Validating a resource via the Test verb

Conclusion

Vous avez maintenant une compréhension de base des verbes approuvés par PowerShell et de la manière de les utiliser efficacement dans vos scripts et commandes. En exploitant ces verbes, vous pouvez désormais créer des solutions PowerShell robustes, efficaces et cohérentes pour diverses tâches et situations.

Cette tutoriel marque le début de votre parcours pour devenir un utilisateur compétent de PowerShell. Pourquoi ne pas apprendre d’autres verbes approuvés, tels que verbes de manipulation de données (c’est-à-dire, Export, Import, Sort) et verbes de cycle de vie (c’est-à-dire, Start, Stop) ? Faites progresser vos compétences PowerShell dès aujourd’hui !

Source:
https://adamtheautomator.com/powershell-approved-verbs/