Wie man Code in PowerShell auskommentiert

  1. PowerShell Einzeilige Kommentare mit dem Kommentar-Symbol (#)
  2. PowerShell Kommentieren mehrerer Zeilen mit Kommentaren
  3. PowerShell Edge-Case-Szenario durch Verwendung des Exit-Befehls
Wie man Code in PowerShell auskommentiert

Wenn Sie andere Sprachen wie Bash, Python und Ruby verwendet haben, wird das Kommentieren in Windows PowerShell ähnlich sein.

Dieser Artikel wird alle Anwendungsfälle besprechen, die wir verwenden können, um Code in Windows PowerShell zu kommentieren.

PowerShell Einzeilige Kommentare mit dem Kommentar-Symbol (#)

Seit Beginn wird PowerShell V1.0 mit der Fähigkeit ausgeliefert und veröffentlicht, Code zu kommentieren. Wir verwenden das Symbol (#), um den Code zu kommentieren. Dieses Symbol wird von vielen Namen wie das Rautenzeichen oder der Hash genannt, aber Microsoft bezeichnete es offiziell als Kommentar-Symbol.

Ein einziges Kommentar-Symbol (#) kommentiert den Code vom ersten # bis zum Ende der Zeile. Natürlich können Sie auch mehrere Kommentar-Symbole in einer Zeile verwenden.

Beispielcode:

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

Beim Kommentieren von Code ist es eine bewährte Praxis, einen Abstand zwischen dem Kommentar-Symbol und Ihrem Code zu lassen. Einige Cmdlets verwenden das Kommentar-Symbol, aber nicht zum Kommentieren von Code. Zum Beispiel ist das Cmdlet #REQUIRES eine bekannte PowerShell-Anweisung, die ein Skript daran hindert, ausgeführt zu werden, es sei denn, die Module oder erforderlichen Snap-Ins sind erfüllt.

Beispielcode:

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

Mit diesen bewährten Praktiken können wir unnötige Fehler in unserem Skript vermeiden.

PowerShell Kommentieren mehrerer Zeilen mit Kommentaren

Um mehrere Zeilen Code zu kommentieren, ohne mehrere Kommentar-Symbole pro Zeile zu verwenden, können wir unser Kommentar-Symbol bequem mit kleiner als (<) und größer als (>) Zeichen umschließen. Wir nennen dies einen Kommentarblock.

Das Kommentar-Symbol mit dem kleiner als Zeichen (<#) fungiert als öffnendes Tag für unseren Kommentarblock, während das Kommentar-Symbol mit dem größer als Zeichen als schließendes Tag dient (#>).

Beispielcode:

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

Allerdings führt das Einfügen eines neuen Satzes von Kommentarblock-Tags in verschachtelten Kommentarblöcken zu einem Fehler.

Beispielcode:

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

Alternativ erzeugt das Drücken von Ctrl+J und das Klicken auf Kommentarblock einen Codeblock in Ihrem Skript.

PowerShell Edge-Case-Szenario durch Verwendung des Exit-Befehls

Denken Sie daran, dass der Exit-Befehl Ihre Skriptumgebung beendet und schließt. Daher wird alles, was nach dem Exit-Befehl geschrieben wird, nicht ausgeführt. Wir nennen dies das Edge-Case-Szenario. Es ist möglich, etwas nach dem Exit-Befehl zu schreiben, wird jedoch nicht empfohlen, da andere Skriptumgebungen diese zusätzlichen Zeilen möglicherweise falsch interpretieren und einen Fehler verursachen können.

Beispielcode:

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.
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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