PowerShell-Fallen #5: Doppelte, einfache, maskierte Anführungszeichen

Gerade für Pfadangaben sind „Gänsefüßchen“ unverzichtbar, damit Whitespace als Teil des Pfades interpretiert wird. Klassiker: C:\Program Files Manchmal soll der Pfad aber gar nicht sofort von PowerShell verwertet, sondern zusammen mit den Anführungszeichen irgendwohin geschrieben werden, um sie dann später von einem anderen Prozess wieder einzulesen. So möchte man zum Beispiel eine geplante Augabe in…

PowerShell-Fallen #4: Wenn Äpfel Birnen gleichen, aber Birnen nicht Äpfeln

Mit dem Gleichheitsoperator -eq werden in PowerShell zwei Operanden auf Gleichheit überprüft, wie man es in den meisten anderen Programmiersprachen mit == unternimmt. A == B entspräche darum notwendigerweise B == A. Type Casting, mal wieder! In PowerShell kann $A -eq $B aber unter Umständen das Gegenteil von $B -eq $A ergeben! Der Beweis folgt…

PowerShell-Fallen #3: Dateipfade verbinden

Irgendwann muss jeder einmal zwei oder mehr Strings zu einem Dateipfad zusammenführen. Nicht optimal: + Wenn es einmal schnell gehen soll, kann man sie natürlich immer mit dem Additionsoperator verbinden, aber leider wird dabei nicht überprüft, ob das Ergebnis wirklich ein gültiger Pfad ist: Join-Path … und seine Nachteile Der Befehl Join-Path ist genau dafür…

PowerShell-Fallen #2: Substrings in Strings suchen

Oft möchte man prüfen, ob ein String eine bestimmte Zeichenkette enthält – am besten unabhängig von der Groß- und Kleinschreibung. Und wenn sich ein PowerShell-Neuling mit den Möglichkeiten befasst, stößt er schnell auf die vielen Vergleichsoperatoren, darunter contains und auch viele andere, die mit einem i wie in case-insensitive beginnen. Es gibt sogar icontains, also…

PowerShell-Fallen #1: Die schwarze $null oder über den Strict Mode

Wer PowerShell lernt, stolpert häufig über Eigenarten der Sprache, die sich von jenen anderer bekannter Sprachen unterscheiden und darum zunächst überraschend sind. Hier möchte ich ein paar von ihnen hervorheben und erläutern, wie das oft eigentlich gewünschte Ergebnis erzielt werden kann. Los geht’s mit dem Standardverhalten von PowerShell, wenn der Interpreter auf eine nicht deklarierte…

Verlorene Vertrauensstellung wiederherstellen

Es ist ein unangenehmes Gefühl, von seinem Rechner ausgesperrt zu werden. Leider eines, welches Benutzer in Windows-Domänen gelegentlich erleben. In der Regel gibt der Anwender tatsächlich einen falschen Benutzernamen oder ein falsches oder abgelaufenes Kennwort ein, aber manchmal sieht er sich auch mit der folgenden Meldung konfrontiert: Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären…