Auskommentieren von Code in PowerShell
-
Einzeilige PowerShell-Kommentare mit dem Kommentarsymbol (
#
) - PowerShell: Auskommentieren mehrerer Zeilen mithilfe von Kommentarblöcken
-
PowerShell Edge Case-Szenario mit dem Befehl
Exit
Wenn Sie andere Sprachen wie Bash, Python und Ruby verwendet haben, ist das Auskommentieren in Windows PowerShell ähnlich.
In diesem Artikel werden alle Anwendungsfälle erläutert, die wir zum Auskommentieren von Code in Windows PowerShell verwenden können.
Einzeilige PowerShell-Kommentare mit dem Kommentarsymbol (#
)
PowerShell V1.0 wurde von Anfang an mit der Möglichkeit, Code zu kommentieren, ausgeliefert und für die Öffentlichkeit freigegeben. Mit dem Symbol (#
) kommentieren wir den Code aus. Wir nennen dieses Symbol viele Namen wie das Nummernzeichen oder das Hash, aber Microsoft nannte es offiziell das Kommentarsymbol.
Ein einzelnes Kommentarsymbol (#
) kommentiert den Code vom ersten #
bis zum Zeilenende aus. Natürlich können Sie auch mehrere Kommentarsymbole in einer Zeile platzieren.
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.
Wenn Sie Code kommentieren, empfiehlt es sich, ein Leerzeichen zwischen dem Kommentarsymbol und Ihrem Code zu lassen. Einige Cmdlets verwenden das Kommentarsymbol jedoch nicht zum Kommentieren von Code. Beispielsweise ist das Cmdlet #REQUIRES
eine bekannte PowerShell-Anweisung, die verhindert, dass ein Skript ausgeführt wird, wenn die Module oder vorausgesetzten Snap-Ins nicht erfüllt sind.
Beispielcode:
Get-Module AzureRM.Netcore | Remove-Module
#REQUIRES -Modules AzureRM.Netcore
Mit diesen Best Practices können wir unnötige Fehler in unserem Skript vermeiden.
PowerShell: Auskommentieren mehrerer Zeilen mithilfe von Kommentarblöcken
Um mehrere Codezeilen auszukommentieren, ohne mehrere Kommentarsymbole pro Zeile zu verwenden, können wir unser Kommentarsymbol bequem in Kleiner-als- (<
) und Größer-als-Zeichen (>
) einschließen. Wir nennen dies einen Kommentarblock.
Das Kommentarsymbol mit dem Kleiner-als-Zeichen (<#
) dient als öffnendes Tag für unseren Kommentarblock, während das Kommentarsymbol mit dem Größer-als-Zeichen als schließendes Tag (#>
) dient.
Beispielcode:
<#
Get-Process -Name *host*
Stop-Service -DisplayName Windows*Update -WhatIf
#>
Es ist erwähnenswert, dass Sie ein einzelnes Kommentarsymbol zwischen den Kommentarblock einfügen könnten.
Beispielcode:
<#
Get-Process -Name 'host1'
#Tested up until this point
Stop-Service -DisplayName Windows*Update -WhatIf
#>
Das Verschachteln von Kommentarblöcken durch Einfügen eines neuen Satzes von Kommentarblock-Tags führt jedoch 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 wird durch Drücken von Ctrl+J und Klicken auf Kommentarblock
ein Codeblock in Ihrem Skript generiert.
PowerShell Edge Case-Szenario mit dem Befehl Exit
Denken Sie daran, dass der Befehl Exit
Ihre Skriptumgebung beendet und schließt. Alles, was nach dem Exit
-Befehl geschrieben wird, wird also nicht ausgeführt. Wir nennen dies das Grenzfall-Szenario. Etwas nach dem Exit
-Befehl zu schreiben ist möglich, wird aber nicht empfohlen, da andere Skriptumgebungen diese zusätzlichen Zeilen falsch lesen 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.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn