microsoft powershell eine kurze einführung von boris smeisser
TRANSCRIPT
MicrosoftPowerShell
Eine kurze Einführungvon Boris Smeisser
INDEX
÷Was ist die Powershell?÷Voraussetzungen÷Eine neue Skriptsprache÷Grundlagen der WPS÷Was sind Cmdlets?÷Pipes & Pipelineing÷Scripte und Sicherheit
÷Anhang/Quellen
÷Sie ist eine Befehlszeilenshell (CLI) speziell fuer Administratoren÷Bietet eine interaktive Eingabeaufforderung (PS) als auch eine
Skriptumgebung (ISE)÷Basiert auf dem .NET Framework und deren Common Language
Runtime (CLR)÷Arbeitet mit .NET Framework-Objekten÷fuehrt das Konzept der Cmdlets (Commandlets) ein÷Befehlsverkettung durch Pipelineing (Pipeing)÷Bisherige (bekannte) Loesungen weiterhin verwendbar÷Versteht den Umgang mit VBscript, Com, Batch, .NET
Was Ist Die PowerShell?
Voraussetzungen
÷WPS v1.0 ist ab WindowsXP sp2 vorinstalliert (setzt auf der .NET 2.0 Runtime auf)
÷Aktuell ist v2.0 welche mit win7 / Server2008 R2 installiert ist (.NET 3.5 Runtime notwendig)
÷WPS steht zum kostenlosen download bereit
Da auch die WPS eine objektorienterte Sprache ist sind Grundkenntnisse der Objektorientierung von Vorteil !!
Eine neue Skriptsprache
Fuer die Windows PowerShell wurde eine eigene Sprache verwendet, dafuer gibt es folgende Gruende:
÷Es wurde eine Sprache fuer die Verwaltung von .NET-Objekten benoetigt
÷die Sprache musste komplexe Aufgaben unterstuetzen, ohne einfache Aufgaben unnoetig kompliziert zu machen.
÷Die Sprache musste den Konventionen anderer bei der .NET-Programmierung verwendeter Sprachen wie C# entsprechen.
Grundlagen der WPS
÷Command-tabbing÷Get-C +TAB es werden alle Befehle mit C durchlaufen
÷Rechnen÷Grundrechenarten koennen direkt eingegeben werden
÷Variablendeklaration÷$a = Hallo÷$b = ITCrowd!÷$c = $a + $b÷Fuehrt zur Ausgabe: Hallo ITCrowd!
Microsoft Powershell Seite 6
÷Sie sind WPS-Befehle, aehnlich einer Kommandozeile÷Befehle sind nicht Case-Sensitive÷Bestehend aus Verb + Substantiv (+ -Parameter)÷Die meisten haben einen Alias (z.B. cd, dir, ...)÷Sie bearbeiten Objekte in der Powershell
Beispiele:÷Get-Help ÷Show-eventlog÷Get-ChildItem ``c:\Users\Boris Smeisser`` -recurse
Was Sind CMDLETs?
Pipes & Pipelineing
÷Pipelines tauschen keine Zeichenketten, sondern .NET-Objekte aus (auch als ``Extended Reflection`` bezeichnet)
÷Ergebnis ist immer ein Objekt÷Objekte enthalten die Daten zur Weiterverarbeitung (sort,
format,...)÷Am ende der Pipe wird das Objekt zu Text reduziert
Get-Shapes
Get-Shapes I Where-Object {($_.Color -eq "Orange”)Get-Shapes
Get-Shapes I Where-Object {($_.Color -eq "Orange”) I Sort-Object Size
Get-Shapes I Where-Object {($_.Color -eq "Orange”)
Skripte und Sicherheit
Um Skripte auszufuehren, muss man die Sicherheit der Windows PowerShell anpassen. Hierzu gibt es diese zwei Cmdlets:- get-executionpolicy- set-executionpolicy
Policy Wert Beschreibung
Restricted (Default) Keine Skripte werden ausgeführt
Allsigned Nur signierte Skripte werden ausgeführt
RemoteSigned Lokal erstellte Skripte sind erlaubt, aber andere Skripte müssen signiert sein
Unrestricted Jedes Skript wird ausgeführt
Weitere Informationsquellen
Die Einstiegsseite zur Windows PowerShell inklusive Download Link: www.microsoft.com/PowerShell Hier finden Sie auch weitere Links zu sehr guten Webcasts, Buechern und weiteren Hilfeforen.
Die beste Blogseite zur Windows PowerShell ist http://blogs.msdn.com/PowerShell/ Hier finden Sie alle Informationen zu Skripttechniken und praktischen Demos. Wirklich alles.
Erlernen von WPS: http://technet.microsoft.com/de-de/library/cc281945.aspx
WPS Owner´s Manual: http://technet.microsoft.com/de-de/library/ee221100(en-us).aspx
Nützliche Cmdlets zum Einstieg
÷Erstellen Ihres Hilfe-Buchs: Get-help * | get-help –detailed | out-file c:\Powershell-Hilfe.txt ÷Anzeige aller PS-Laufwerke: Get-psdrive÷Anzeige aller PS-Befehle: Get-command÷Anzeige aller laufenden Prozesse: Get-process÷Aufruf aller Eigenschaften und Methoden eines Objekts: Get-member÷Anzeige aller vergebenen Aliase: Get-alias÷Aufrufen der Sicherheitseinstellung: Get-ExecutionPolicy÷Anzeige aller PS-Skripte auf Laufwerk C: Dir -Path C:\ -Filter *.ps1 –recurse÷Aufrufen/auslesen einer Datei: Get-Content –path C:\test.txt÷WMI-Objekte abfragen: Get-wmiobject win32_bios | format-list÷Datei Kopieren: Copy-item c:\test.txt –destination d:\logfiles
VIELEN DANK FUER
IHRE
AUFMERKSAMKEIT!