Blog-Kategorie
Data Center

Hier bloggen sepago Experten über: Data Center

| |

PowerShell: Preference und Error Variable, Fehlerbehandlung – Part 13

3.12 Die Preference Variablen

Die sogenannten Preference Variablen (sozusagen, die Einstellungen für die Shell) beeinflussen das Verhalten der Shell. Sie können vom Benutzer in der laufenden Shell verändert oder fest über ein Profil eingestellt werden. Auch aus einem Skript heraus können diese Variablen verändert werden (Scope beachten). Einige von den Preference Variablen definieren auch das Verhalten von sogenannten „Common Parameters“ (siehe about_Common Parameters), welche mit fast jedem Cmdlet verwendet werden können. Detailliert werden diese Variablen und auch die möglichen Werte in dem Hilfethema About_Preference_Variables beschrieben.

| |

Powershell: PSCustomObject / PSObject Arrays

Für ein IoT Projekt lese ich Schalterzustände einer Web-Relay-Box aus (8 Relais mit eigener Bezeichnung, die per http an- und ausgeschaltet werden können): Kanal, Beschriftung und Zustand. Die Zustände lese ich in einem Azure Web Job mit C# aus und speichere diese in einem Array einer erstellten Klasse.

Mit PowerShell lese ich die Zustände zusätzlich aus (für ein Administrationstool). Das Speichern der Zustände in einem Array ging mir nicht so leicht von der Hand.

| |

PowerShell: Die Shell – Part 12

3.11 Die Shell

Wie ist die Shell sonst so?

Die optische Ähnlichkeit mit der CMD Shell ist wohl eine der wenigen Gemeinsamkeiten. Die PowerShell kennt das sogenannte Tab-Completition (Vervollständigung) nicht nur auf dem Drive Filesystem und nicht nur in Bezug auf die unmittelbaren Inhalte der aktuellen Location, sondern auch in Bezug auf alle Cmd-lets und alle PSDrives simultan. Drücken der Taste TAB nach der Eingabe des ersten Buchstabens eines existierenden Objekts oder Cmdlets verändert die Eingabezeile ab der ersten Cursorposition in das zuerst gefundene Element einer Trefferliste,

| |

PowerShell: Laufwerke (PSDrives) – Part 11

Der Begriff Laufwerk nimmt in der PowerShell eine völlig neue Dimension an. Im üblichen Sinne wird damit im Allgemeinen ein Datenträger bezeichnet. Die PowerShell fügt noch weitere Typen hinzu. Alle PSDrives ähneln im Verhalten dem Dateisystem. Bestimmte Stellen in der Datenstruktur eines Laufwerks können durch Pfade erreicht werden. Die Bewegung durch die Pfade und auch die meisten anderen Datenoperationen sind bei allen Laufwerken gleich, sofern sie Sinn ergeben. Die PSDrives werden mit Hilfe von sogenannten Providern realisiert.

| |

PowerShell: Operatoren und Ausdrücke (Logische Operatoren, Spezielle Operatoren) – Part 10

3.9.5  Logische Operatoren

Die logischen Operatoren erlauben den Aufbau komplexer logischer „Sätze“, welche zur Flusssteuerung oder für Entscheidungen verwendet werden können. Alle Ausdrücke, welche boolesche Werte zurückliefern oder zu solchen konvertiert werden können, können mit logischen Operatoren verknüpft werden.

Operator
Beschreibung
Beispiel
Resultat

-and
Logisches „und“. Wahr, wenn beide Operanden Wahr sind.
1 –and 0
$False

-or
Logisches „oder“. Wahr, wenn zumindest ein Operand Wahr ist.

| |

PowerShell: Operatoren und Ausdrücke (Vergleichsoperatoren, Mustervergleichsoperatoren) – Part 9

NEW: sepagoTraining – Grundlagenkurs: How to Windows PowerShell

3.9.3 Vergleichsoperatoren

Die Vergleichsoperatoren beginnen immer mit einem Bindestrich. Sie werden in Ausdrucken verwendet, welche logische Überprüfungen darstellen. Diese liefern immer entweder $False oder $True zurück. In der folgenden Tabelle sind die Vergleichsoperatoren der PowerShell zusammen gefasst.

Operator
Beschreibung
Beispiel
Resultat

-eq
Ist gleich (equal)
5 –eq 5
$True

-ne
 Ist nicht gleich (not equal)
5 –ne 5
$False

-gt
Größer als (greather than)
5 –gt 3
$True

-ge
Größer als oder gleich (greather than or equal)
5 –ge 3
$True

-lt
Kleiner als (less than)
5 –lt 3
$False

-le
Kleiner als oder gleich (less than or equal)
5 –le 3
$False

-contains
Beinhaltet
1,2,3 –contains 2
$True

-notcontains
Beinhaltet nicht
1,2,3 –notcontains 2
$False

Tabelle 3 6: Vergleichsoperatoren

 

| |

PowerShell: Operatoren und Ausdrücke (Arithmetische Operatoren, Zuweisungsoperatoren) – Part 8

3.9 Operatoren und Ausdrücke

Die PowerShell implementiert eine große Zahl von Operatoren. An dieser Stelle werden nur die Wichtigsten behandelt. Vor Allem aber wird hier auf die zum Teil unterschiedliche Verhaltensweise von bestimmten Operatoren in bestimmten Situationen eingegangen (Polymorphismus), da dies nicht immer intuitiv erfasst werden kann. Polymorphismus bedeutet, dass sich in der PowerShell die Operatoren je nach Typ des Operanden unterschiedlich verhalten können. Mit anderen Worten, das Verhalten des Operators ändert sich passend zum Datentyp (Zahl,

| |

PowerShell: Datentypen allgemein – Part 7

3.8 Datentypen allgemein

Neben den Datentypen, welche das .Net Framework bereitstellt, definiert die PowerShell eine Menge eigene Datentypen. Auf beide Arten der Datentypen kann transparent und auf die gleiche Art und Weise zugegriffen werden, indem der Name des Datentyps in eckige Klammern eingeschlossen wird. Die Basisdatentypen des .Net Frameworks (nicht vollständig) listet die folgende Tabelle:

Datentyp 
Speicherbedarf
Wertebereich

[Boolean]
2 bytes
$True oder $False.

[Byte]
1 byte
0 bis 255 (vorzeichenlos)

[Char]
2 bytes
0 bis 65535 (vorzeichenlos)

[DateTime]
8 bytes
0:00:00 am 1.

| |

PowerShell: Objekte, Objekteigenschaften und –Methoden, Objektverarbeitung – Part 6

3.7    Objekte, Objekteigenschaften und –Methoden, Objektverarbeitung

Die wohl  revolutionärste Idee, die den Einzug in PowerShell gefunden hat, ist die Verwendung von Objekten. Fast alles in der PowerShell wird durch (.Net) Objekte repräsentiert. Was bedeutet das genau? Ein Beispiel sollte helfen… Sowohl in der CMD wie auch in der PS kann der Befehl „dir“ zur Auflistung von Verzeichnisinhalten verwendet werden (natürlich ist das in der PowerShell nur ein Alias…). Die Ausgabe des Befehls auf dem Bildschirm kann ähnlich oder gar identisch sein.

| |

PowerShell: Befehle= CMDlets, Aliase, externe Befehle, PSSnapis und Hilfe – Part 5

3.5    Befehle = CMDlets, Aliase, externe Befehle, PSSnapins

Die PowerShell kennt eine große Anzahl von internen Befehlen, sog. Cmdlets oder Command-lets. Verglichen mit den internen Befehlen der CMD Shell, handelt es sich um ein vielfaches (es gibt alleine 263 Cmdlets in PowerShell,  in der CMD etwa 50 interne Befehle). Die Cmdlets folgen immer der Namenskonvention verb-noun. „Verb“ bezeichnet immer die Aktion und „Noun“ das Objekt, an dem diese Aktion durchgeführt wird. Obwohl die PowerShell lokalisiert werden kann,