Commenter le code dans PowerShell

Marion Paul Kenneth Mendoza 30 janvier 2023
  1. Commentaires PowerShell sur une ligne utilisant le symbole de commentaire (#)
  2. PowerShell commentant plusieurs lignes à l’aide de blocs de commentaires
  3. Scénario de cas PowerShell Edge à l’aide de la commande Exit
Commenter le code dans PowerShell

Si vous avez utilisé d’autres langages tels que Bash, Python et Ruby, les commentaires dans Windows PowerShell seront similaires.

Cet article traite de tous les cas d’utilisation que nous pouvons utiliser pour commenter le code dans Windows PowerShell.

Commentaires PowerShell sur une ligne utilisant le symbole de commentaire (#)

Depuis le début, PowerShell V1.0 a été livré et rendu public avec la possibilité de commenter le code. Nous utilisons le symbole (#) pour commenter le code. Nous appelons ce symbole par de nombreux noms comme le signe dièse ou le dièse, mais Microsoft l’a officiellement appelé le symbole de commentaire.

Un seul symbole de commentaire (#) commentera le code du premier # jusqu’à la fin de la ligne. Bien sûr, vous pouvez également mettre plusieurs symboles de commentaire sur une seule ligne.

Exemple de code :

#######################################################
# Examples of one-line comments in Windows PowerShell #
#######################################################

Get-Process -Name *host* #### You could put more.

Get-Process -Name *host* # | Stop-Service # You can use it to comment out a part of a line.

# Get-Process -Name *host* # This will comment out the whole line.

Lorsque vous commentez du code, il est recommandé de laisser un espace entre le symbole de commentaire et votre code. Certaines cmdlets utilisent le symbole de commentaire, mais pas pour le code de commentaire. Par exemple, la cmdlet #REQUIRES est une instruction PowerShell bien connue qui empêchera un script de s’exécuter à moins que les modules ou les composants logiciels enfichables requis ne soient remplis.

Exemple de code :

Get-Module AzureRM.Netcore | Remove-Module
#REQUIRES -Modules AzureRM.Netcore

En utilisant ces meilleures pratiques, nous pouvons éviter des erreurs inutiles dans notre script.

PowerShell commentant plusieurs lignes à l’aide de blocs de commentaires

Pour commenter plusieurs lignes de code sans utiliser plusieurs symboles de commentaire par ligne, nous pouvons commodément entourer notre symbole de commentaire de signes inférieurs à (<) et supérieurs à (>). Nous appelons cela un bloc de commentaires.

Le symbole de commentaire avec le signe inférieur à (<#) agira comme une balise d’ouverture pour notre bloc de commentaires, tandis que le symbole de commentaire avec le signe supérieur à servira de balise de fermeture (#>).

Exemple de code :

<#
Get-Process -Name *host*
Stop-Service -DisplayName Windows*Update -WhatIf
#>

Il convient de noter que vous pouvez insérer un seul symbole de commentaire entre le bloc de commentaire.

Exemple de code :

<#
Get-Process -Name 'host1'

#Tested up until this point

Stop-Service -DisplayName Windows*Update -WhatIf
#>

Cependant, l’imbrication de blocs de commentaires en insérant un nouveau jeu de balises de bloc de commentaires entraînera une erreur.

Exemple de code :

<#
Nope, these are not allowed in PowerShell.

<# This will break your first multiline comment block... #>

...and this will throw a syntax error. #This line will execute the throw cmdlet
#>

Alternativement, appuyer sur Ctrl+J et cliquer sur Bloc de commentaires générera un bloc de code dans votre script.

Scénario de cas PowerShell Edge à l’aide de la commande Exit

N’oubliez pas que la commande Exit terminera et fermera votre environnement de script. Ainsi, tout ce qui est écrit après la commande Exit n’est pas exécuté. Nous appelons cela le scénario de cas limite. Écrire quelque chose après la commande Exit est possible mais non recommandé car d’autres environnements de script peuvent mal interpréter ces lignes supplémentaires et provoquer une erreur.

Exemple de code :

Get-Process -Name 'host1'
exit

Anything beyond the `<# exit #>` line is not executed inside the PowerShell scripting environment. However, as mentioned before, this is not recommended despite being possible.
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn