Kein Bild
Scripting

Powershell 6: Ausgabe von gezielten Elementen mittels des Arrays

Mit der Powershell ist es ja sehr einfach sich Werte ausgeben zu lassen welche sich über mehrere Zeilen erstrecken. In dem 4. Tutorial zur Powershell hatte ich ja bereits auf den Befehl get-process hingewiesen.  Bei diesem Befehl geschieht die Ausgabe der Befehle in einem Array jeder Ausgabezeile ist ein eigenes Element welches angesprochen werden kann. Wenn man sich z.B. von so einer Array Variablen nur das erste Element anzeigen lassen möchte macht man das wie folgt: $variable[0] Wer noch genaueres zum Thema Array lesen möchte kann das hier in meinem Java Artikel machen in welchem ich genauer auf die Arrays eingegangen bin. Im Grunde kann man aber ein Array einfach so beschreiben das es eine Liste von mehreren Elementen ist. Hier bei der Powershell kann man jetzt mit Hilfe des Arrays sich einfach auf eine bestimmt Zeile beziehen oder sich auf mehrere gewünschte Zeilen von einer Variablen ausgeben lassen. Aber das ganze kann man am besten in einem Beispiel zeigen. Ich werde in dem Beispiel zunächst einmal die Werte von dem Befehl get-process in einer Variablen speichern und die darauf folgenden Befehle beziehen sich immer auf diese Variable: $process = Get-Process Speichert die ausgegebenen Werte von dem Befehl get-process in der Variablen $process. $process[0] Es wird nur das 1. Element bzw. die erste Zeile von den gespeicherten Werten ausgegeben. $process[1,4] Es werden die Elemente 2 und von 5 des Arrays ausgegeben. $process[0..3] Gibt die Elemente 1 bis 4 von dem Array aus. $process[($process.Length-1)] Gibt das letzte Element des Arrays aus. $process[($process.Length-1)..0] Gibt die komplette Liste in der umgekehrten Reihenfolge aus. Denn man nimmt einfach den Befehl welchen ich davor gezeigt habe zum Ausgeben des letzten Arrays und fügt doch noch an das er die Ausgabe bis zum ersten Array machen soll. Diese Filterung der Ausgabe kann vor allem auch interessant […]

Kein Bild
Scripting

Powershell 5: Verwenden von Methoden bei einem Befehl mittels der Pipline

Powershell ist ja eine objektorientierte Scriptsprache. Die Grundidee der Objektorientierung besteht in der Verwendung von Variablen(Objekten die in der Lage sind verschiedene Daten zu speichern. Sie sollen aber zusätzlich die Fähigkeit haben Methoden (Befehle) auszuführen. Wenn man jetzt aber mit einem Objekt arbeiten möchte muss man erst heraus finden welche Methoden dieses Objekt zur Verfügung stellt. Das könnt ihr entweder über die Dokumentation des jeweiligen Objekts heraus finden oder über das Cmdlet Get-Member. Um dieses Cmdlet aber bei einem Objekt richtig an zu wenden benötigt man eine sogenannt Pipline.  Diese ist dafür da um ein Ergebnis von einem Befehl zu einer Weiterverarbeitung an einen anderen Befehl zu schicken. So eine Pipline wird einfach mit so einem | gekennzeichnet. Wenn wir uns jetzt z.B. von dem Befehl Get-Process anzeigen lassen möchten welche Methoden er zur Verfügung stellt können wir das mit diesem Befehl machen. Get-Process | Get-Member Wenn wir das eingegeben haben bekommen wir eine Liste mit allen Methoden und Eigenschaften welche uns der Befehl Get-Prozess bereit stellt. Ich denke an Hand von einem Beispiel kann man die Funktionsweise der Pipline am besten erkennen. Stellen wir uns als Aufgabe das wir ein Script entwickeln sollen welches die Logdateien auf einem System löscht welche älter sind als 30 Tage. Jetzt denkt man zunächst das ist doch gar nicht schwer ich ziehe einfach überall die Zahl 30 von dem Aktuellen Datum. Aber wenn man jetzt die Monatsgrenze überschreitet würde es zu Problemen kommen. Wie gehen wir jetzt also am besten vor? Zunächst kennen wir ja den Befehl Get-Date mit welchem wir uns das Aktuelle Datum ausgeben können, das ist ja schon einmal etwas jetzt benötigen wir “nur” noch eine Funktion mit welcher wir von dem Aktuellen Datum die 30 Tage abziehen können. Wir lassen uns einfach einmal alle Methoden aufzeigen welche uns der […]

Kein Bild
Scripting

Powershell 4: Prozesse anzeigen und Dateien filtern

In dem letzten Artikel zur Powershell ging es ja darum wie man diese zum Rechnen einsetzen kann. Heute möchte ich euch ein paar Befehle zeigen welche bereits in der Powershell integriert sind und mit welchen ihr ein paar Daten von eurem Computer abfragen könnt, diese Befehle nennen sich Cmdlets. So ein Cmdlet ist nach folgenden Muster aufgebaut Verb-Befehl aber am besten erkennt man es an einem Beispiel. In dem aller ersten Artikel zur Power Shell hatte ich ja schon den Befehl get-help vorgestellt. Dieser ist auch nach dem gleichen Chema aufgebaut, zunächst sagt man das man sich etwas anzeigen lassen möchte. Dann kommt der Bindestrich und dahinter der jeweilige Befehl. Prozesse anzeigen und stoppen Jetzt möchten wir uns aber nicht nur die Hilfedatei anzeigen lassen sondern lieber ein paar interessantere dinge. Wie wäre es z.B. wenn wir uns wie im Taskmanager einmal die aktuell laufenden Befehle anzeigen lassen. Das ganze geht sehr einfach man muss dazu nur folgenden Befehl eingeben: get-process Der Befehl ist ja eigentlich schon sehr selbsterklärend, man möchte sich die Prozesse anzeigen lassen und schreibt daher wieder das get. Damit dann auch die Prozesse ausgegeben werden muss dahinter das process stehen. Jetzt starten wir am besten einmal den Editor (notepad) und geben danach wieder den get-process Befehl ein. Nun schauen wir wo im Ausgabefenster unter “ProcessName” notepad steht. Dann schauen wir welche ID dieser Prozess hat, wie man es auf dem Screenshot sehen kann hat er bei mir die ID 1024. Um den Prozess jetzt wieder zu stoppen geben wir folgenden Befehl ein. stop-process 1024 Hier auch wieder zur Erklärung, mit dem stop geben wir an was wir eigentlich machen wollen, dahinter wieder auf was wir uns eigentlich beziehen. Mit der ID definieren wir dann welcher Prozess gestoppt werden soll. Wenn man diesen Befehl eingegeben hat sollte […]

Kein Bild
Scripting

Powershell 3: Variablen erstellen und mit diesen Rechnen

In dem letzten Artikel zur Powershell hatte ich ja die PowerGUI vorgestellt. Diese benützte ich jetzt auch bei den Beispielen welche ich hier zeige. Aber man kann die Beispiele auch einfach über die CMD ausführen wenn einem das lieber ist. Rechnen mit der Powershell Die Powershell unterstützt auch die Mathematischen Operatoren welche man kennt. Man kann also ganz einfach mit + – * und / rechnen. Wenn man also also folgendes in die Powershell eingibt 1+2+1/2 erhält man als Ergebnis 3,5. Denn die Powershell beachtet bei denen Rechnungen auch die Regel Punkt vor Strich.  Außerdem kann man wird in der Powershell auch der Modulooperator % zur Verfügung gestellt mit welchem man rechnen kann. Variablen in der Powershell Variablen kann man in der Powershell ganz einfach erzeugen man setzt einfach vor den Gewünschten Variablenname ein $ Zeichen. Wenn man also in einer Variablen die Zahl 10 speichern möchte würde das so aussehen: $zahl = 10 Wenn man den Inhalt der Variablen wieder ausgeben möchte gibt mal einfach nur den Variablenname an. Hier in diesem Beispiel wäre es $zahl, damit würde uns dann die Zahl 10 ausgegeben. Rechnen mit Variablen Jetzt verbinden wir das Rechnen vom Anfang des Artikels mit den Variablen. So können wir schon unser erstes kleines Script schreiben. Sagen wir mal wir möchten von einem bestimmten Betrag welcher in einer Variablen gespeichert ist die Mehrwertsteuer berechnen und diese anschließend ausgeben. Dazu erstellen wir zuerst eine Variable mit dem Namen betrag in ihr speichern wir z.B. die Zahl 100 ab. Danach erstellen wir noch eine Veriable mwst dort geben wir an wie viel Prozent von dem Betrag die Mehrwertsteuer ist. Zur Zeit liegt die MWST ja bei 19 % also speichern wir die Zahl 0.19 in der Variablen. Anschließend erstellen wir noch eine Variablen ergebnis in welcher wir die errechnete […]

Kein Bild
Scripting

Powershell 2: PowerGUI Entwicklungsumgebung für die Powershell

In meinem ersten Artikel über die Powershell hatte ich gezeigt das man die Befehle einfach direkt in die Powershell eingeben kann. Das mag bei 1 oder 2 Befehlen auch kein Problem sein aber wenn man jetzt z.B. ein größeres Script schreiben möchte ist diese Art der Befehlseingabe nicht so schön. Hier kann man zu der sogenannten PowerGUI greifen sie ist eine Entwicklungsumgebung für die Powershell. Die PowerGUI kann man sich hier auf der Herstellerseite herunterladen. Wenn ihr diese dann installiert habt startet ihr den PowerGUI Script Editor. In der Entwicklungsumgebung hat man dann die ganzen Funktionen welche man von anderen IDEs auch kennt. Wie z.B. die automatische Befehlsvervollständigung, das Syntax Highlighting oder der es wird automatisch eine Beschreibung des Befehls angezeigt wenn man mit der Maus über diesen geht. Die PowerGUI ist so aufgebaut das man in dem großen Hauptfenster die Befehlseingabe hat. Auf der Linken unteren Seite sieht man die jeweiligen Variablen  und was in ihnen gespeichert ist. Rechts Unten ist das Ausgabefenster zu sehen dort wird die Befehlsausgabe angezeigt. Die PowerGUI bietet auch einen Debugging Modus bei dem man sein Script immer schritt für schritt durch gehen kann um so z.B. Fehler zu suchen. Außerdem gibt es noch den Button Codeschnipsel einfügen, damit kann man z.B. das Grundgerüst von einem Filter oder eine Schleife einfügen. Diese Entwicklungsumgebung hilft einem auf jeden Fall enorm wenn man seine eigenen Script schreiben möchte oder bestehende Script analysieren muss. Bei meinen weiteren Artikeln über die Powershell werde ich Beispiele in der PowerGUI zeigen. Denn meiner Meinung nach sieht es darin um einiges schöner aus als in der “Blackbox”. Hier geht es zu den bisherigen Teilen der Artikelserie Powershell: Powershell 1: Einführung in die Shell von Microsoft

Kein Bild
Scripting

Powershell 1: Einführung in die Shell von Microsoft

Ich habe jetzt ja schon mit einer Artikelserie zum Thema Linux gestartet und jetzt möchte ich hier noch mehr oder weniger das Gegenstück von Windows zeigen. Lange Zeit gab es in Windows keine gute Shell wie man sie von Linux schon lange kennt. Es gab nur die altbekannte CMD welche aber lange nicht an die Funktionen von den bekannten Linux Shells heran kommt. Aber Microsoft hatte dann auch eine neue Shell mit dem Namen Powershell heraus gebracht welche einige sehr nette Funktionen hat. Wenn man sich etwas eingearbeitet hat wird man sehen wie schnell man hier das ein oder andere Script schreiben kann. So eine Shell ist oft sehr viel Praktischer als eine Grafische Oberfläche, vielleicht denkt man oft das man sich in einer GUI besser zurecht findet. Aber wenn man sich einmal mit einer Shell angefreundet hat findet man damit oft viel schneller sein Ziel als wenn man sich erst durch viele Menus durchklicken muss. Die Besonderheit welche Microsoft mit der Powershell verfolgt ist das sie die objektorientiere Programmierung bei einer Shell einführen. Die Powershell basiert auf dem .NET-Framework, eine umfangreiche Klassenbibliothek welche inzwischen standardmäßig sowohl in das Betriebssystem und auch in einigen Anwendungen wie z.B. SQL Server, Exchange etc. integriert ist. Seit Windows 7 ist die Powershell bereits vorinstalliert wen ihr aber ein älteres Windows Betriebssystem benützt könnt ihr euch dir Powershell hier herunter laden. Powershell Download Die Powershell könnt ihr entweder Starten indem ihr auf Start –> Ausführen klickt und dort dann Powershell eingebt. Oder ihr startet einfach die Verknüpfung welche nach der Installation angelegt wurde. Hier einige Grundlegende Befehle von der Powershell, es gibt dort z.B. eine Berfehlsvervollständigung welche man mit der TAB Taste aufrufen kann. Man gibt einfach nur einen Teil des Befehls ein und drückt anschließend die TAB Taste danach wird der Befehl automatisch […]